This is the documentation for Enlighten.
10. Enlighten Mobile
Enlighten 3 には、サポートされるすべてのプラットフォームで一貫した機能があります。Enlighten「Mobile」とは、モバイル デバイスで使用される主要なプラットフォームであるAndroid と iOS を指します。モバイル プラットフォーム、PC、コンソールで、同じ OS に依存しない API と高レベル ランタイムが使用されています。
GeoMobileDemo (ソースとして含まれます) は、低レベル API を使用して iOS および Android の OpenGL ES 2.0 アプリケーションに Enlighten Runtime をインテグレートする例を提供します。
Enlighten ライブラリは、ARM/NEON および Intel/SSE 向けにビルドされており、該当する場合は各プロセッサー拡張を最大限活用できるよう最適化されています。従って、Enlighten の ARM バージョンでは、ARM アーキテクチャ ARMv7-A 以降 (NEON 搭載) が必要です。
パフォーマンスの考慮事項
現在のモバイル プラットフォームは CPU よりも GPU による制限を受けています。実装ごとの能力には幅があり、ほとんどがそれぞれの OpenGL ES 2.0 拡張に関連しています。直接ライトのレンダリングはアプリケーションが行いますが、アドバイスやオプションを提案が可能です。Enlighten では、完全ベイクから完全に動的なものまで、ライトをどの程度動的にするかを構成でき、パフォーマンスのスケーリングを支援します。エリア ライト、エミッシブ サーフェス、環境には「コストがかからない」ため、ライティングのコストをさらに低減し、GPU の負担を減らすことができます。
モバイルでの Enlighten Runtime のパフォーマンスは具体的に、Apple A5 iOS デバイスで GeoMobileDemo を実行した場合、約 8 ミリ秒で完全なランタイム更新を行います。これには、ディレクショナル ライトおよび環境ライトの入力ライティングの計算、Arches システムのディレクショナル イラディアンスの解決、キャラクター モデルのライティングのためのプローブ セット SH 係数の計算が含まれます。今日の増え続けるモバイル デバイスの CPU コアを活用し、追加のシステムも平行して解決することができます。