ShaderLab :サブシェーダー
ShaderLab :カリングと深度テクスチャ

ShaderLab: Pass

Pass ブロックはオブジェクト形状を一回のみレンダリングするようにします。

シンタックス

Pass { [Name and Tags] [RenderSetup] }

基本的な Pass コマンドは、レンダリングステートのセットアップコマンドのリストを扱えます。

名前とタグ

Pass は Name と任意の数の Tags、すなわち Pass の意図をレンダリングエンジンに伝達する Name/Value 文字列、を定義できます。

レンダリングステートのセットアップ

Pass はさまざまなグラフィックスハードウェアの State (状態)を設定します、例えばアルファブレンディングを有効化したり、フォグを使用しようしたり、というようにです。他にも以下のコマンドを使用できます。

Cull

Cull Back | Front | Off

ポリゴンのカリングモードを設定します。詳細は ShaderLab :カリングと深度テクスチャ ページを参照してください。

ZTest

ZTest (Less | Greater | LEqual | GEqual | Equal | NotEqual | Always)

深度バッファーのテストモードを設定します。詳細は ShaderLab :カリングと深度テクスチャ ページを参照してください。

ZWrite

ZWrite On | Off

深度バッファーの書き込みモードを設定します。詳細は ShaderLab :カリングと深度テクスチャ ページを参照してください。

Blend

Blend sourceBlendMode destBlendMode
Blend sourceBlendMode destBlendMode, alphaSourceBlendMode alphaDestBlendMode
BlendOp colorOp
BlendOp colorOp, alphaOp
AlphaToMask On | Off

アルファブレンディングモードを設定します。詳細は Blendingのページを参照してください。

ColorMask

ColorMask RGB | A | 0 | any combination of R, G, B, A

マスクであるカラーチャネルの書き込みを設定します。_ColorMask 0_と記載することですべてのカラーチャネルのレンダリングを無効化します。 デフォルトモードは、チャンネル(RGBA)すべてに書き込みしますが、あなたが変更していない特定のチャンネルに残しておきたい特殊効果等がある場合または色 を無効にする場合は完全に記述します。

Offset

Offset OffsetFactor, OffsetUnits

Z バッファのデプスオフセットを設定します。詳細は ShaderLab :カリングと深度テクスチャ ページを参照してください。

旧固定機能シェーダーコマンド

コマンドは、旧「固定機能スタイル」シェーダー―の書き込み用に使用されます。 これは Surface Shader あるいは シェーダープログラミング がはるかに柔軟に書き込みできるとしてサポートが保障されない機能と考えられています。 しかし、かなりシンプルなシェーダー―に関して固定機能スタイルで書き込みすると、いくぶん簡単になりそうです。では、これがコマンドです。 固定機能シェーダー―を使用しないとき、それらすべてのシェーダー―は無視されます。

固定機能ライティングとマテリアル

Lighting On | Off
Material { Material Block }
SeparateSpecular On | Off
Color Color-value
ColorMaterial AmbientAndDiffuse | Emission

固定機能の頂点単位ライティングの全制御機能を次に示します。ライティングを有効にする、マテリアルのカラーを設定、鏡面反射光ハイライトを有効にする、頂点ライティングを無効にした場合、 カラーにデフォルト値を与える、メッシュの頂点カラーがどうライティングに影響するか計算します。 詳細は、ShaderLab :旧ライティング を参照してください。

固定機能フォグ

Fog { Fog Block }

フォグパラメータを設定します。詳細は ShaderLab: Fog(旧)のページを参照してください。

固定機能アルファテスト

AlphaTest (Less | Greater | LEqual | GEqual | Equal | NotEqual | Always) CutoffValue

アルファテストを有効にします。詳細は ShaderLab: 旧 Alpha Testingのページを参照してください。

固定機能テクスチャ合成

レンダリングステートのセットアップの設定後に、SetTexture のコマンドを使用して 適用するテクスチャとそのコンバインモードの数を指定することができます。

SetTexture textureProperty { combine options }

詳細

シェーダー内パスは、Unityの各種レンダリングパイプラインと相互作用を行います。 例えば、パスは Tags のコマンドを使用してDeferred Shading でのみ使用するよう指示することができます。 一定のパスが同じオブジェクトに複数回実行すること可能です。例えば、Forward Rendering 内で、 オブジェクトに影響を及ぼすライトの数に基づき、“ForwardAdd” パスタイプが複数回実行されます。 詳細は、Unity のレンダリングパイプライン を参照してください。

関連項目

いくつかの特別なパスで、共通的な機能の再利用やハイエンドのエフェクトの実装が利用可能です。

  • UsePass は名付けされたパスを別のシェーダーでインクルードします。
  • GrabPass により、画面のコンテンツをテクスチャとして掴み、後続のパスで使用します。
ShaderLab :サブシェーダー
ShaderLab :カリングと深度テクスチャ