D3DTEXTUREOP 列挙型
D3DTEXTUREOP 列挙型
ステージごとのテクスチャ ブレンディング処理を定義する。
構文
typedef enum _D3DTEXTUREOP {
D3DTOP_DISABLE = 1,
D3DTOP_SELECTARG1 = 2,
D3DTOP_SELECTARG2 = 3,
D3DTOP_MODULATE = 4,
D3DTOP_MODULATE2X = 5,
D3DTOP_MODULATE4X = 6,
D3DTOP_ADD = 7,
D3DTOP_ADDSIGNED = 8,
D3DTOP_ADDSIGNED2X = 9,
D3DTOP_SUBTRACT = 10,
D3DTOP_ADDSMOOTH = 11,
D3DTOP_BLENDDIFFUSEALPHA = 12,
D3DTOP_BLENDTEXTUREALPHA = 13,
D3DTOP_BLENDFACTORALPHA = 14,
D3DTOP_BLENDTEXTUREALPHAPM = 15,
D3DTOP_BLENDCURRENTALPHA = 16,
D3DTOP_PREMODULATE = 17,
D3DTOP_MODULATEALPHA_ADDCOLOR = 18,
D3DTOP_MODULATECOLOR_ADDALPHA = 19,
D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
D3DTOP_BUMPENVMAP = 22,
D3DTOP_BUMPENVMAPLUMINANCE = 23,
D3DTOP_DOTPRODUCT3 = 24,
D3DTOP_MULTIPLYADD = 25,
D3DTOP_LERP = 26,
D3DTOP_FORCE_DWORD = 0x7fffffff
} D3DTEXTUREOP;
定数
D3DTOP_DISABLE
このテクスチャ ステージとより高いインデックスを持つステージからの出力をすべて無効にする。テクスチャ マッピングを無効にするには、これを最初のテクスチャ ステージ (ステージ 0) のカラー処理として設定する。カラー処理が有効になっているときは、アルファ処理を無効にすることはできない。カラー ブレンディングが有効な場合、アルファ処理を D3DTOP_DISABLE に設定すると、不定の動作が生じる。D3DTOP_SELECTARG1
このテクスチャ ステージの最初の色、またはアルファ引数を変更せずに出力として使用する。この処理は、D3DTSS_COLOROP テクスチャ ステージ ステートで使用すると色引数に影響を与え、D3DTSS_ALPHAOP で使用した場合にはアルファ引数に影響を与える。D3DTOP_SELECTARG2
このテクスチャ ステージの 2 番目の色、またはアルファ引数を変更せずに出力として使用する。この処理は、D3DTSS_COLOROP テクスチャ ステージ ステートで使用すると色引数に影響を与え、D3DTSS_ALPHAOP で使用した場合にはアルファ引数に影響を与える。D3DTOP_MODULATE
引数の成分を乗算する。D3DTOP_MODULATE2X
引数の成分を乗算し、その積を左に 1 ビットだけシフト (2 で乗算するのと同じ) して明るくする。D3DTOP_MODULATE4X
引数の成分を乗算し、その積を左に 2 ビットだけシフト (4 で乗算するのと同じ) して明るくする。D3DTOP_ADD
引数の成分を加算する。D3DTOP_ADDSIGNED
バイアス値 –0.5 を引数の成分に加算し、値の有効範囲を –0.5 ~ 0.5 にする。D3DTOP_ADDSIGNED2X
バイアス値 –0.5 を引数の成分に加算し、その積を左に 1 ビットだけシフトする。D3DTOP_SUBTRACT
第 1 引数の成分から、対応する第 2 引数の成分を減算する。D3DTOP_ADDSMOOTH
第 1 および第 2 引数を加算し、次にその積を合計から減算する。D3DTOP_BLENDDIFFUSEALPHA
各頂点からの補間アルファを使って、このテクスチャ ステージの線形ブレンディングを行う。D3DTOP_BLENDTEXTUREALPHA
このステージのテクスチャからのアルファを使って、このテクスチャ ステージの線形ブレンディングを行う。D3DTOP_BLENDFACTORALPHA
D3DRS_TEXTUREFACTOR レンダリング ステートで設定したスカラー アルファを使って、このテクスチャ ステージの線形ブレンディングを行う。D3DTOP_BLENDTEXTUREALPHAPM
あらかじめ乗算されたアルファを使用するテクスチャ ステージの線形ブレンディングを実行する。D3DTOP_BLENDCURRENTALPHA
前のテクスチャ ステージからのアルファを使って、このテクスチャ ステージの線形ブレンディングを行う。D3DTOP_PREMODULATE
D3DTOP_PREMODULATE はステージ n で設定される。ステージ n の出力は arg1 である。さらに、ステージ n+1 にテクスチャがある場合、ステージ n+1 の D3DTA_CURRENT には、ステージ n+1 のテクスチャがあらかじめ乗算されている。D3DTOP_MODULATEALPHA_ADDCOLOR
第 1 引数のアルファを使用して第 2 引数の色を乗算し、その結果を第 1 引数に加算する。この処理は、カラー処理 (D3DTSS_COLOROP) でのみサポートされる。D3DTOP_MODULATECOLOR_ADDALPHA
引数を乗算し、第 1 引数のアルファを加算する。この処理は、カラー処理 (D3DTSS_COLOROP) でのみサポートされる。D3DTOP_MODULATEINVALPHA_ADDCOLOR
D3DTOP_MODULATEALPHA_ADDCOLOR に類似しているが、第 1 引数のアルファの 1 の補数を使う。この処理は、カラー処理 (D3DTSS_COLOROP) でのみサポートされる。D3DTOP_MODULATEINVCOLOR_ADDALPHA
D3DTOP_MODULATECOLOR_ADDALPHA に類似しているが、第 1 引数の色の 1 の補数を使う。この処理は、カラー処理 (D3DTSS_COLOROP) でのみサポートされる。D3DTOP_BUMPENVMAP
次のテクスチャ ステージの環境マップ (輝度なし) による、ピクセル単位のバンプ マッピングを実行する。この処理は、カラー処理 (D3DTSS_COLOROP) でのみサポートされる。D3DTOP_BUMPENVMAPLUMINANCE
次のテクスチャ ステージの環境マップ (輝度あり) による、ピクセル単位のバンプ マッピングを実行する。この処理は、カラー処理 (D3DTSS_COLOROP) でのみサポートされる。D3DTOP_DOTPRODUCT3
各引数の要素を (符号付要素として) 乗算して積を加算し、得られた合計値をすべてのカラー チャンネルに、アルファを含めて複製する。この処理がサポートされるのはカラー処理とアルファ処理に対してである。Microsoft® DirectX® 6.0 および DirectX 7.0 のマルチテクスチャ処理では、上記の入力は、符号付きデータをシミュレートするため、使う前にすべて 0.5 シフトする (y = x - 0.5)。結果のスカラーは、正の値に制限され、3 つの出力チャンネルすべてに複製される。また、カラー処理としては、rgb 成分を更新したアルファを更新しないので注意すること。
ただし、DirectX 8.1 シェーダでは、出力を .rgb 成分または .a 成分、あるいはその両方 (デフォルト) にルーティングすることを指定できる。アルファ チャンネルで個別のスカラー処理の指定も可能である。
D3DTOP_MULTIPLYADD
積和演算を実行する。最後の 2 つの引数を取り、これらを乗算し、残りの入力/ソース引数に加算し、これを結果に配置する。SRGBA= Arg1 + Arg2 * Arg3
D3DTOP_LERP
第 1 ソース引数で指定された割合で、第 2 および第 3 ソース引数の間を線形補間する。SRGBA= (SRGBA