Version: 2021.3
ShaderLab: specifying package requirements
ShaderLab: Category ブロックによるコマンドのグループ化

ShaderLab: コマンド

このページでは、ShaderLab 言語のコマンドの使用方法について説明します。

ShaderLab コマンドは以下のカテゴリに分類されます。

  • GPU のレンダリング状態を設定するコマンド。
  • 特定の目的を持つパスを作成するコマンド。
  • HLSL を書かずにシェーダープログラムを作成することができる、古い “固定関数スタイル” のコマンド。

ShaderLab コマンドは、カテゴリーブロック にまとめておくことができます。

レンダー状態を設定するコマンド

これらのコマンドは、パスブロック内ではそのパスのレンダー状態を設定し、サブシェーダーブロック内ではそのサブシェーダーとそれに含まれるパスのレンダー状態を設定します。

  • AlphaToMask: alpha-to-coverage モードを設定します。
  • Blend: アルファブレンディングを有効化と設定を行います。
  • BlendOp: Blend コマンドで使用する操作を設定します。
  • ColorMask: カラーチャンネルの書き込みマスクを設定します。
  • Conservative: 慎重なラスタライズの有効化/無効化を行います。
  • Cull: ポリゴンのカリングモードを設定します。
  • Offset: ポリゴンの深度オフセットを設定します。
  • Stencil: ステンシルテスト、およびステンシルバッファへの書き込み内容を設定します。
  • ZClip: 深度クリップモードを設定します。
  • ZTest: 深度テストのモードを設定します。
  • ZWrite: 深度バッファの書き込みモードを設定します。

Pass コマンド

これらのコマンドをサブシェーダで使用し、特定の目的を持つパスを定義します。

  • UsePass は Pass を定義し、名前の付いた Pass のコンテンツを他のシェーダーオブジェクトからインポートします。
  • GrabPass は後続のパスで使用するため、画面のコンテンツをテクスチャに取り込む Pass を作成し、ます。

古い “固定関数スタイル” のコマンド

これらについては、ShaderLab 古い機能 のページに記載されています。

ShaderLab: specifying package requirements
ShaderLab: Category ブロックによるコマンドのグループ化