Microsoft DirectX 8.0 (C++) |
エフェクト ファイルは、使用するテクニックを定義する。エフェクト ファイルの定義は、基本的には 1 つまたは複数の宣言で始まり、その後にエフェクトの各テクニックの定義を続ける。次に示すサンプルは、2 つのテクスチャおよび 2 つのテクニックを定義するエフェクト ファイルである。
エフェクト ファイルは、エフェクトに使用する 2 つのテクスチャの宣言で始まっている。
texture tex0; // 1 番目のテクスチャ texture tex1; // 2 番目のテクスチャ
1 番目のテクスチャでは、1 つのパスを使ってシーンをレンダリングする。
technique t0 { pass p0 { Texture[0] = <tex0>; Texture[1] = <tex1>; ColorOp[0] = SelectArg1; ColorArg1[0] = Texture; ColorOp[1] = Add; ColorArg1[0] = Texture; ColorArg2[0] = Current; ColorOp[2] = Disable; } }
2 番目のテクニックでは、複数のパスを使ってシーンをレンダリングする。このテクニックは、現在のデバイスが複数のテクスチャに対するシングルパス レンダリングをサポートしていない場合に使う。
technique t1 { pass p0 { Texture[0] = <tex0>; ColorOp[0] = SelectArg1; ColorArg1[0] = Texture; ColorOp[1] = Disable; } pass p1 { AlphaBlendEnable = True; SrcBlend = One; DestBlend = One; Texture[1] = <tex1>; ColorOp[1] = SelectArg1; ColorArg1[1] = Texture; ColorOp[1] = Disable; } }
このエフェクト ファイルにより、デバイスが 2 つのテクスチャに対するシングルパス レンダリングをサポートしていない場合には、複数のパスを使ってテクスチャをレンダリングできる。エフェクト ファイルの詳細については、「エフェクト ファイル形式」を参照すること。