CONST_D3DTEXTUREOP
CONST_D3DTEXTUREOP 列挙は、ステージ単位テクスチャ ブレンディング操作を定義する。この型の定数は、D3DTSS_COLOROP または D3DTSS_ALPHAOP 値を使用して Direct3DDevice7.SetTextureStageState メソッドを呼び出し、色操作やアルファ操作を設定するときに使われる。
Enum CONST_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
End Enum
- 制御定数
- 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 引数を加算し、次に、第 1 引数と第 2 引数の積を合計値から引き算する。
- 線形アルファ ブレンディング定数
- D3DTOP_BLENDDIFFUSEALPHA
- 各頂点からの補間アルファ (D3DTOP_BLENDDIFFUSEALPHA)、このステージのテクスチャからのアルファ (D3DTOP_BLENDTEXTUREALPHA)、D3DRENDERSTATE_TEXTUREFACTOR レンダリング ステートで設定されるスカラー アルファ (D3DTOP_BLENDFACTORALPHA)、または前のテクスチャ ステージからのアルファ (D3DTOP_BLENDCURRENTALPHA) を使用して、このステージの線形ブレンディングを行う。
- D3DTOP_BLENDTEXTUREALPHA
- 各頂点からの補間アルファ (D3DTOP_BLENDDIFFUSEALPHA)、このステージのテクスチャからのアルファ (D3DTOP_BLENDTEXTUREALPHA)、D3DRENDERSTATE_TEXTUREFACTOR レンダリング ステートで設定されるスカラー アルファ (D3DTOP_BLENDFACTORALPHA)、または前のテクスチャ ステージからのアルファ (D3DTOP_BLENDCURRENTALPHA) を使用して、このステージの線形ブレンディングを行う。
- D3DTOP_BLENDFACTORALPHA
- 各頂点からの補間アルファ (D3DTOP_BLENDDIFFUSEALPHA)、このステージのテクスチャからのアルファ (D3DTOP_BLENDTEXTUREALPHA)、D3DRENDERSTATE_TEXTUREFACTOR レンダリング ステートで設定されるスカラー アルファ (D3DTOP_BLENDFACTORALPHA)、または前のテクスチャ ステージからのアルファ (D3DTOP_BLENDCURRENTALPHA) を使用して、このステージの線形ブレンディングを行う。
- D3DTOP_BLENDCURRENTALPHA
- 各頂点からの補間アルファ (D3DTOP_BLENDDIFFUSEALPHA)、このステージのテクスチャからのアルファ (D3DTOP_BLENDTEXTUREALPHA)、D3DRENDERSTATE_TEXTUREFACTOR レンダリング ステートで設定されるスカラー アルファ (D3DTOP_BLENDFACTORALPHA)、または前のテクスチャ ステージからのアルファ (D3DTOP_BLENDCURRENTALPHA) を使用して、このステージの線形ブレンディングを行う。
- D3DTOP_BLENDTEXTUREALPHAPM
- あらかじめ乗算処理されたアルファを用いるテクスチャ ステージの、線形ブレンディングを行う。
- スペキュラ マッピング定数
- D3DTOP_PREMODULATE
- 現在のテクスチャ ステージと次のテクスチャ ステージの間で変調を行う。
- D3DTOP_MODULATEALPHA_ADDCOLOR
- 第 1 引数のアルファを使用して第 2 引数の色を変調し、その結果を第 1 引数に加算する。この操作は、色操作 (D3DTSS_COLOROP) でのみサポートされる。
- D3DTOP_MODULATECOLOR_ADDALPHA
- 引数を変調してから、第 1 引数のアルファを加算する。この操作は、色操作 (D3DTSS_COLOROP) でのみサポートされる。
- D3DTOP_MODULATEINVALPHA_ADDCOLOR
- D3DTOP_MODULATEALPHA_ADDCOLOR に類似しているが、第 1 引数のアルファの逆数を使用するところが異なる。この操作は、色操作 (D3DTSS_COLOROP) でのみサポートされる。
- D3DTOP_MODULATEINVCOLOR_ADDALPHA
- D3DTOP_MODULATECOLOR_ADDALPHA に類似しているが、第 1 引数の色の逆数を使用するところが異なる。この操作は、色操作 (D3DTSS_COLOROP) でのみサポートされる。
- バンプ マッピング定数
- D3DTOP_BUMPENVMAP
- 次のテクスチャ ステージの環境マップ (輝度なし) を使用して、ピクセル単位でバンプ マッピングを実行する。
- D3DTOP_BUMPENVMAPLUMINANCE
- 次のテクスチャ ステージの環境マップ (輝度あり) を使用して、ピクセル単位でバンプ マッピングを実行する。
- D3DTOP_DOTPRODUCT3
- 各引数の要素を (符号付要素として) 変調して積を加算し、得られた合計値をすべての色チャネルに、アルファを含めて複製する。この操作は、色操作 (D3DTSS_COLOROP) でのみサポートされる。
注意
上記の式において、SRGBA はテクスチャ操作で作成される RGBA 色であり、Arg1 と Arg2 はテクスチャ引数の完全な RGBA 色である。引数の個々の要素は、下付き文字を付けて表記される。たとえば、引数 1 のアルファ要素は、Arg1A と表現される。
参照
Direct3DDevice7.GetTextureStageState、Direct3DDevice7.SetTextureStageState、CONST_D3DTEXTURESTAGESTATETYPE