This is the documentation for Enlighten.
10.2. モバイルでの GeoViewer
シーンの準備
モバイル プラットフォームで GeoViewer を使用する場合、メッシュ変換ステージで適切なテクスチャ圧縮形式、および (ARM/NEON 用に) 別のプリコンピュート データ形式を生成しておく必要があります。
GeoRadiosity を使用して追加のモバイル プラットフォーム テクスチャとプリコンピュート データを生成するには、シーンをロードする際に Include mobile targets がチェックされていることを確認してください。
また、プリコンピュートを実施する際に以下が必要です。
これは、High Level Build System (HLBS) のメッシュ変換とプリコンピュート生成ステージで「/p:IncludeMobileTargets=true
」を渡すことと同じです。
Windows PC で GeoRadiosity または HLBS を使用してメッシュ変換を実行する場合、Android で GeoViewer を使用するためにシーン テクスチャが ETC 形式に圧縮されます。OS X で HLBS を使用してメッシュ変換を実施する場合、iOS デバイスで使用するためにテクスチャが Imagination Technologies PVRTC 形式に圧縮されます。
シーンのロード
プリコンピュートされたシーンをロードする前に、モバイル デバイスに GeoViewer アプリをインストールする必要があります。インストールのプロセスでアプリ固有のディレクトリ構造が作成され、そこにシーン データを手動でコピーする必要があります。iOS では、これはアプリの Documents ディレクトリであり、Android での宛先のパスは /mnt/sdcard/Android/data/com.geomerics.enlighten.GeoViewer/files
です。以下の画像は、GeoViewer をインストールし、Arches シーン データが正しい場所にコピーされた場合の、Android でのフォルダー構造のスクリーンショットです。
GeoViewer のスキームを編集することにより、アプリを Xcode から起動する際に、iOS で GeoViewer にコマンド ライン オプションを渡すことができます。または、アプリの Documents ディレクトリで、シーン データとともに cmd_args.txt というテキスト ファイルにコマンド ラインを追加して提供することができます。これを行うと、Xcode が提供する引数はすべて無視されることに注意してください。Android で GeoViewer に対してコマンド ライン引数を指定するには、デバイスの /mnt/sdcard/Android/data/com.geomerics.enlighten.GeoViewer/files/cmd_args.txt
を編集します。
シーン内の移動
GeoViewer には GeoMobileDemo のような目に見える仮想コントロール スティックはありませんが、タッチ スクリーンを使ってシーン内を移動することができます。横向きの場合、画面の左下をドラッグして、カメラを前、後ろ、左、右に動かせます。また、画面の右下をドラッグするとカメラを回転できます。
現在の制限
- 現在、Android と iOS での GeoViewer は、Enlighten ランタイムの出力のみを使用して既定のシーンをレンダリングします。ライト構成ファイルで定義されたソースのライトはレンダリングしません。
- 半精度浮動小数テクスチャは、どの Android デバイスでもサポートされていないため、GeoViewer は Android では Enlighten LRB イラディアンス出力形式を使用します。ただし、これにより一部の Android デバイスで、間接ライティングにバンディング アーティファクトが発生する可能性があります。
- GeoViewer は、OpenGL ES デバイスで GL_OES_depth24 OpenGL ES 2.0 拡張機能を必要とします。