テクスチャ引数フラグ
デバイスに対応するそれぞれのテクスチャ ステージは 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 になる。