D3DTEXTUREOP
D3DTEXTUREOP 列挙型は、ステージ単位でのテクスチャ ブレンディング操作を定義する。この列挙型のメンバは、D3DTSS_COLOROP または D3DTSS_ALPHAOP 値で IDirect3DDevice7::SetTextureStageState メソッドを呼び出して色処理またはアルファ処理を設定する際に使用される。
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_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_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
- 次のテクスチャ ステージの環境マップ (輝度なし) による、ピクセル単位のバンプ マッピングを実行する。この操作は、色操作 (D3DTSS_COLOROP) でのみサポートされる。
- D3DTOP_BUMPENVMAPLUMINANCE
- 次のテクスチャ ステージの環境マップ (輝度あり) による、ピクセル単位のバンプ マッピングを実行する。この操作は、色操作 (D3DTSS_COLOROP) でのみサポートされる。
- D3DTOP_DOTPRODUCT3
- 各引数の要素を (符号付要素として) 変調して積を加算し、得られた合計値をすべての色チャネルに、アルファを含めて複製する。この操作がサポートされるのは色操作とアルファ操作に対してである。
- その他のメンバ
- D3DTOP_FORCE_DWORD
- この列挙型を強制的に 32 ビット サイズにコンパイルする。この値は使用されていない。
注意
上の式では、SRGBA はテクスチャ操作で作成される RGBA 色、Arg1 および Arg2 はテクスチャ引数の完全 RGBA 色である。引数の個々の要素は、下付き文字を付けて表記される。たとえば、引数 1 のアルファ要素は Arg1A として表される。
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
バージョン : DirectX 6.0 以降が必要。
ヘッダー : d3dtypes.h で宣言。
参照
IDirect3DDevice7::GetTextureStageState、IDirect3DDevice7::SetTextureStageState、D3DTEXTURESTAGESTATETYPE