Microsoft DirectX 8.0 (C++)

テクスチャ引数フラグ

デバイスに対応するそれぞれのテクスチャ ステージは 2 つのテクスチャ引数を持つことができ、これらの引数はテクスチャの色とアルファ チャネルに影響を与える。

テクスチャ引数を取得または設定するには、IDirect3DDevice8::SetTextureStageState メソッドまたは IDirect3DDevice8::GetTextureStageState メソッドを呼び出し、D3DTEXTURESTAGESTATETYPE 列挙型の D3DTSS_COLORARG0、D3DTSS_COLORARG1、D3DTSS_COLORARG2、D3DTSS_ALPHAARG0、D3DTSS_ALPHAARG1、D3DTSS_ALPHAARG2、または D3DTSS_RESULTARG メンバを指定する。

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

引数フラグ
D3DTA_CURRENT
テクスチャ引数は前のブレンディング ステージの結果である。最初のテクスチャ ステージ (ステージ 0) の場合、この引数は D3DTA_DIFFUSE と同等である。前のブレンディング ステージがバンプマップ テクスチャ (D3DTOP_BUMPENVMAP 処理) を使用している場合、バンプマップ テクスチャの前のステージからテクスチャが選択される。s が現在のテクスチャ ステージを表し、s – 1 にバンプマップ テクスチャがある場合、この引数はテクスチャ ステージ s – 2 からの結果出力になる。読み書きが許可される。
D3DTA_DIFFUSE
テクスチャ引数は、グーロー シェーディング処理中に頂点の成分から補間して得られたディフューズ色である。頂点がディフューズ色を含まない場合のデフォルト色は 0xFFFFFFFF である。許可は読み取り専用である。
D3DTA_SELECTMASK
すべての引数に対応するマスク値。テクスチャ引数の設定には使用しない。
D3DTA_SPECULAR
テクスチャ引数は、グーロー シェーディング処理中に頂点の成分から補間されたスペキュラ色である。頂点がスペキュラ色を含んでいない場合、デフォルト色は 0xFFFFFFFF である。許可は読み取り専用である。
D3DTA_TEMP
このテクスチャ引数は、読み書き用のテンポラリ レジスタの色である。D3DTA_TEMP は、D3DPMISCCAPS_TSSARGTEMP デバイス能力が存在する場合にサポートされる。このレジスタのデフォルト値は、(0.0, 0.0, 0.0, 0.0) である。許可は読み書きである。
D3DTA_TEXTURE
テクスチャ引数は、このテクスチャ ステージのテクスチャ カラーである。許可は読み取り専用である。
D3DTA_TFACTOR
テクスチャ引数は、D3DRS_TEXTUREFACTOR レンダリング ステートを使用して前回 IDirect3DDevice8::SetRenderState を呼び出したときのテクスチャ係数セットである。許可は読み取り専用である。
修正子フラグフラグ
D3DTA_ALPHAREPLICATE
処理が完了する前に、アルファ情報をすべてのカラー チャネルに複製する。これは読み取り修飾子である。
D3DTA_COMPLEMENT
引数の逆数を取る。たとえば、引数の結果が変数 x によって参照される場合、その値は 1.0 - x になる。これは読み取り修飾子である。