# ShaderLab 言語のリファレンス

> Reference for ShaderLab.

以下は ShaderLab でシェーダーを記述するために必要なブロック、ディレクティブ、コマンドを見つけるためのリソースです。

| **ページ**                                                                                                                           | **説明**                                                                                                  |
| --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| [Shader](/engine/6000.0/manual/materials-and-shaders/shaders/reference/sl-reference/sl-shader-object.md)                          | ShaderLab で `Shader` ブロックを使用して、シェーダーを作成し、マテリアルプロパティ、カスタムエディター、フォールバックシェーダーを加えることができます。                  |
| [SubShader](/engine/6000.0/manual/materials-and-shaders/shaders/reference/sl-reference/sl-sub-shader-object.md)                   | ShaderLab で `SubShader` ブロックを使用して、サブシェーダーを作成し、LOD 値、タグ、`UsePass` ディレクティブ、`GrabPass` ディレクティブを加えることができます。 |
| [Pass](/engine/6000.0/manual/materials-and-shaders/shaders/reference/sl-reference/sl-sub-shader-pass.md)                          | ShaderLab で `Pass` ブロックを使用して、シェーダーパスを作成し、名前、タグ、シェーダーコードブロックを加えることができます。                                 |
| [GPU レンダーステートのコマンド](/engine/6000.0/manual/materials-and-shaders/shaders/reference/sl-reference/sl-commands.md)                    | GPU でのレンダーステートを変更するのに必要な ShaderLab のコマンド (`Blend`、`Cull`、`ZWrite` など) に関する情報が集められています。                  |
| [PackageRequirements ブロック](/engine/6000.0/manual/materials-and-shaders/shaders/reference/sl-reference/sl-package-requirements.md) | ShaderLab で `PackageRequirements` ブロックを使用して、サブシェーダーまたはシェーダーパスに必要なパッケージを指定できます。                          |
| [ShaderLab の古い機能](/engine/6000.0/manual/materials-and-shaders/shaders/reference/sl-reference/shader-shaderlab-legacy.md)          | HLSL コードを使わずにシェーダーを記述できる ShaderLab コマンドが説明されています。                                                       |
