Platform SDK: DirectX

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::GetTextureStageStateIDirect3DDevice7::SetTextureStageStateD3DTEXTURESTAGESTATETYPE