Platform SDK: DirectX

テクスチャ引数フラグ

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

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

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