プラットフォーム別のレンダリングの違い
Visual Studio で DirectX 11 シェーダーのデバッグ

シェーダー LOD

シェーダー Level of Detail (LOD) は、LOD 値が決められたしきい値以下の場合に、シェーダーあるいはサブシェーダーを使用します。

デフォルトでは、許容される LOD レベルは無限であり、すなわちユーザーのハードウェアでサポートされるすべてのシェーダーを使用することができます。しかし、いくつかのケースでは、たとえハードウェアがサポートする場合であっても、シェーダーのディテールを落としたい場合があります。例えば、安価なグラフィックスカードではすべての機能がサポートされるものの処理速度が遅すぎる場合があります。だから、視差法線マッピングを使用したくない、といったことになります。

Shader LOD は個別のシェーダーごとに設定する( Shader.maximumLOD を使用して)、あるいはすべてのシェーダーでグローバルに使用する( Shader.globalMaximumLOD を使用して)ことができます。

ユーザー作成のカスタムのシェーダーでは、LOD コマンドを使用してどのようなサブシェーダーでも LOV 値を設定することができます。

Unity のビルトインシェーダーは LOD を次のように設定されています。

  • VertexLit のようなシェーダー = 100
  • Decal、Reflective VertexLit = 150
  • Diffuse = 200
  • Diffuse Detail、Reflective Bumped Unlit、Reflective Bumped VertexLit = 250
  • Bumped、Specular = 300
  • Bumped Specular = 400
  • Parallax = 500
  • Parallax Specular = 600
プラットフォーム別のレンダリングの違い
Visual Studio で DirectX 11 シェーダーのデバッグ