This is the documentation for Enlighten.

10.1. GeoMobileDemo

概要

GeoMobileDemo (または Enlighten Palace) は、Enlighten を OpenGL ES 2.0 と組み合わせて使用し、モバイル デバイス上でリアルタイムのラジオシティ ライティングを実現する方法を実演する iOS/Android アプリケーションです。このアプリでは、ディレクショナル ライト (太陽) とエミッシブ 環境ライト (空) を使用してライティングされた、おなじみの Arches シーンを使用します。Enlighten ではフレームごとに 1 つのシステムのディレクショナル イラディアンスを計算し、同時に Enlighten の時間的コヒーレンス最適化を使用するため、ライティングは完全に動的です。また、動的ジオメトリとみなされるシーンのキャラクター モデルをライティングするためのプローブ セットも生成されます。アプリは夜間設定にも切り替わり、Enlighten のベイクされたライティングと動的ライティングの組み合わせを有効に使用する方法も実演します。

レンダリングについては、GeoMobileDemo ではシャドウ マッピングされたディレクショナル ライトによるフォワード手法を使用しています。Arches のすべてのセクションは、タイル張りの床を除き、拡散のみのマテリアルが使用されています。タイル部分には法線マップと近似 Blinn-Phong モデルが使用されており、直接鏡面反射を得ています。デバイスの能力によっては、間接鏡面反射は同じ方法で近似されるか、Enlighten ランタイムにより生成される動的スペキュラー ディレクショナル イラディアンス キューブ マップを使用してレンダリングされます。イラディアンスおよびディレクショナル イラディアンス テクスチャは、アーチのフラグメント シェーダーでサンプリングされ、直接ライティングの寄与を提供します。一方、キャラクター フラグメント シェーダーは Enlighten により計算される L1 球面調和関数の係数を使用します。その後、間接ライトと直接ライトが単純なトーン マッピング操作の適用の前に組み合わされます。


GeoMobileDemo の使用方法

GeoMobileDemo には 2 つのライト モードがあります。デイライト モードでは、指を画面上で水平または垂直方向にドラッグして日光の方向を変更します。デイ - ナイト循環モードに切り替えると、1 日のライティング状態をシミュレーションできます。このモードでは、指を左にドラッグするとシミュレーションの巻き戻しと停止ができます。指を右にドラッグすると早送りと再開ができます。

左右の矢印ボタンを使用すると、シーンに配置されている複数のカメラ間で切り替えが可能です。カメラ ボタンをタップすると、事前に設定した経路でカメラを動かせます。もう 1 度タップすると、カメラを停止してサムスティック制御を表示できます。左のスティックは動作を、右のスティックはビューを制御します。

Enlighten ロゴをタップすると、レンダリング オプション メニューを開閉できます。アプリの実行中に、直接ライト、間接ライト、スペキュラー ハイライト、シーンテクスチャのオン/オフを切り替えられます。Arches とキャラクター モデルのライティングのために Enlighten が生成するイラディアンス ライト マップ テクスチャとライト プローブ セットも、このメニューを使用して表示できます。

事前にビルドされた GeoMobileDemo アプリ (Android のみ) のインストールの情報については モバイル アプリの実行を、ソースからビルドする方法 (Android および iOS) については、コードのコンパイルをご覧ください。