スパーステクスチャ
CullingGroup API

グラフィックハードウェアの性能とエミュレーション

シーンを最終的にレンダリングするグラフィックスハードウェアは シェーダー と呼ばれる専門のグラフィックス言語で制御されます。ハードウェアの性能は時間とともに段階的に向上してきており、各段階で導入された一般的なひとまとまりの機能が シェーダーモデル として知られています。より長いシェーダープログラムやより強力な分岐命令、その他の機能のために段階的にシェーダーモデルのサポートが追加されていき、これらの改善はゲームのグラフィックスを向上させてきました。

Unity は、特定の GPU またはグラフィックス API で実行されているときのゲームの様子を簡単に把握するために、いくつかのシェーダーモデルとグラフィックス API の制限のエミュレーションをサポートしています。エディター内のエミュレーションはおおよそのものであるため、ターゲットとするハードウェア上で実際にゲームビルドを実行することが推奨されます。

グラフィックスエミュレーションレベルを選択するには、 Edit > Graphics Emulation の順に選択します。使用可能なオプションは、Build Settings で現在ターゲットとしているプラットフォームによって異なります。 No Emulation を選択すると、ハードウェアのすべての機能に戻ります。 開発用コンピュータが特定のシェーダーモデルをサポートしない場合、メニューで選んだ項目は無効になります。

Shader Model 4 (Standalone & Windows Store platforms)

  • DirectX 10 機能セット (2007–2009 の間に作られた PC GPU) をエミュレーションします。
  • Turns off support for compute Shaders and related features (compute buffers, random-write Textures), sparse Textures, and tessellation Shaders.

シェーダーモデル 3 (スタンドアロンプラットフォーム)

  • DirectX 9 SM3.0 機能セット (2004–2006 の間に作られた PC GPU) をエミュレーションします。
  • In addition to features turned off by Shader Model 4 emulation, this also turns off support for draw call instancing, Texture Arrays, and geometry Shaders. It enforces a maximum of 4 simultaneous render targets, and a maximum of 16 Textures used in a single Shader.

シェーダーモデル 2 (スタンドアロンプラットフォーム)

  • DirectX 9 SM2.0 機能セット (2002–2004 の間に作られた PC GPU) をエミュレーションします。
  • In addition to features turned off by Shader Model 3 emulation, this also turns off support for HDR rendering, Linear color space and depth Textures.

OpenGL ES 3.0 (Android プラットフォーム)

  • モバイル OpenGL ES 3.0 機能セットをエミュレーションします。
  • Turns off support for compute Shaders and related features (compute buffers, random-write Textures), sparse Textures, tessellation Shaders and geometry Shaders. Enforces maximum of 4 simultaneous render targets, and maximum of 16 Textures used in a single Shader. Maximum allowed Texture size is set to 4096, and maximum cubemap size to 2048. Realtime soft shadows are disabled.

Metal(iOS, tvOSプラットフォーム)

  • モバイルの Metal MTL 機能セットをエミュレートします。
  • Same restrictions applied as GLES3.0 emulation, except that the maximum cubemap size is set to 4096.

OpenGL ES 2.0 (Android, iOS, tvOS, Tizen platforms)

  • モバイルの OpenGL ES 2.0 をエミュレートします。
  • In addition to features turned off by GLES3.0 emulation, this also turns off support for draw call instancing, Texture arrays, 3D Textures and multiple render targets. Enforces a maximum of 8 Textures used in a single Shader. Maximum allowed cubemap size is set to 1024.

ウェブ1andウェブ2(ウェブプラットフォーム)

  • 標準的な WebGL グラフィックスの制限をエミュレートします。
  • Very similar to GLES2.0 and GLES3.0 emulation levels above, except that supported Texture sizes are higher (8192 for regular Textures, 4096 for cubemaps), and 16 Textures are allowed in a single Shader.

Shader Model 2 - DX11 FL9.3 (Windows Store Platform)

  • 標準的な Windows Phone グラフィックス機能セットをエミュレートします。
  • Very similar to Shader Model 2 emulation, but also disables multiple render targets and separate alpha blending.
スパーステクスチャ
CullingGroup API