Version: 2019.3
言語: 日本語
GLSL シェーダープログラム
シェーダーコンパイルターゲットレベル

Shading language used in Unity

Unity’s shader programs uses a variant of the HLSL language. HLSL is sometimes called Cg but it’s worth bearing in mind that Unity does not use Cg.

Shader compilers

異なるプラットフォームは、シェーダープログラムのコンパイルに異なるシェーダーコンパイラーを使用します。以下はその例です。

  • Windows and Microsoft platforms (DX11, DX12 and Xbox One) all use Microsoft’s HLSL compiler (currently d3dcompiler_47).
  • OpenGL Core、OpenGL ES 3、OpenGL ES 2.0、Metal は、Microsoft の HLSL を使用して GLSL か Metal にバイトコード変換した後に、HLSLcc を使用します。
  • 他のコンソールプラットフォームは、それぞれに応じたコンパイラー (例えば、PS4 の PSSL) を使用します。
  • サーフェスシェーダーステップ は、コード生成解析ステップのために HLSL と MojoShader を使用します。

You can use predefined shader macros to identify which compiler Unity is using, for instance to use HLSL syntax only supported by one compiler, or to work around a compiler bug.

参照

GLSL シェーダープログラム
シェーダーコンパイルターゲットレベル