Platform SDK: DirectX

テクスチャ引数フラグ

デバイスに対応するそれぞれのテクスチャ ステージは 2 つのテクスチャ引数を持つことができ、これらの引数はテクスチャの色とアルファ チャネルに影響を与える。テクスチャ引数を取得または設定するには、IDirect3DDevice7::SetTextureStageState または IDirect3DDevice7::GetTextureStageState メソッドを呼び出し、D3DTEXTURESTAGESTATETYPE 列挙型の D3DTSS_COLORARG1、D3DTSS_COLORARG2、D3DTSS_ALPHAARG1、または D3DTSS_ALPHAARG2 メンバを指定する。

次に示すフラグ (引数と修正子にまとめられている) をテクスチャ ステージの色とアルファ引数と共に使用することができる。引数フラグと修正子を組み合わせることはできるが、2 つの引数フラグを組み合わせることはできない。

引数フラグ
D3DTA_CURRENT
テクスチャ引数は前のブレンディング ステージの結果である。最初のテクスチャ ステージ (ステージ 0) の場合、この引数は D3DTA_DIFFUSE と同等である。前のブレンディング ステージがバンプマップ テクスチャ (D3DTOP_BUMPENVMAP 処理) を使用している場合、バンプマップ テクスチャの前のステージからテクスチャが選択される (s が現在のテクスチャ ステージを表し、s – 1 にバンプマップ テクスチャがある場合、この引数はテクスチャ ステージ s – 2 からの結果出力になる)。
D3DTA_DIFFUSE
テクスチャ引数は、グーロー シェーディング処理中に頂点成分から補間して得られたディフーズ色である。頂点がディフーズ色を含まない場合のデフォルト色は 0xFFFFFFFF である。
D3DTA_SELECTMASK
すべての引数に対応するマスク値。テクスチャ引数の設定には使用しない。
D3DTA_TEXTURE
テクスチャ引数は、このテクスチャ ステージのテクスチャ色である。これが有効なのは、ステージの最初の色とアルファ引数に対してのみである (D3DTEXTURESTAGESTATETYPE の 3DTSS_COLORARG1 メンバと 3DTSS_ALPHAARG1 メンバ)。
D3DTA_TFACTOR
テクスチャ引数は、D3DRENDERSTATE_TEXTUREFACTOR レンダリング ステートを使用して前回 IDirect3DDevice7::SetRenderState を呼び出したときのテクスチャ係数セットである。
D3DTA_SPECULAR
テクスチャ引数は、グーロー シェーディング処理中に頂点成分から補間されたスペキュラ色である。頂点がスペキュラ色を含んでいない場合、デフォルト色は 0xFFFFFFFF である。
修正子フラグ
D3DTA_ALPHAREPLICATE
操作が完了する前に、アルファ情報をすべての色チャネルにコピーする。
D3DTA_COMPLEMENT
引数の逆数を取る。たとえば、引数の結果が変数 x ならば、その値は 1.0 - x になる