効果手法の構文 (Direct3D 11)
効果の手法は、このセクションで説明する構文を使用して宣言されています。
TechniqueVersion TechniqueName [ <Annotations> ]
{
- pass *PassName* \[ <*Annotations* > \] {
- \[ *SetStateGroup*; \] \[ *SetStateGroup*; \] ... \[ *SetStateGroup*; \]
}
パラメーター
Item | 説明 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TechniqueVersion |
technique10 または technique11 のいずれか。 Direct3D 11 の新機能 (5_0 シェーダー、BindInterfaces など) を使用する手法では、technique11 を使用する必要があります。 |
||||||||||||||||||
TechniqueName |
省略可能。 効果手法の名前を一意に識別する ASCII 文字列。 |
||||||||||||||||||
<
注釈 > |
[in] オプション。 エフェクト システムによって無視されるユーザー指定の情報 (メタデータ) の 1 つ以上の部分。 構文については、「 注釈構文 (Direct3D 11)」を参照してください。 |
||||||||||||||||||
渡す |
必須のキーワード (keyword)。 |
||||||||||||||||||
PassName |
[in] オプション。 パスの名前を一意に識別する ASCII 文字列。 |
||||||||||||||||||
SetStateGroup |
[入力]次のような 1 つ以上の状態グループを設定します。
|
例
次の使用例は、ブレンドの状態を設定します。
BlendState NoBlend
{
BlendEnable[0] = False;
};
...
technique10
{
pass p2
{
...
SetBlendState( NoBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF );
}
}
次の使用例は、ラスタライザーの状態を設定して、ワイヤフレームでオブジェクトをレンダリングします。
RasterizerState rsWireframe { FillMode = WireFrame; };
...
technique10
{
pass p1
{
....
SetRasterizerState( rsWireframe );
}
}
次の使用例は、シェーダーの状態を設定します。
technique10 RenderSceneWithTexture1Light
{
pass P0
{
SetVertexShader( CompileShader( vs_4_0, RenderSceneVS( 1, true, true ) ) );
SetGeometryShader( NULL );
SetPixelShader( CompileShader( ps_4_0, RenderScenePS( true ) ) );
}
}