Microsoft DirectX 8.0 (C++)

テクスチャ ブレンディング処理と引数

アプリケーションでは、ブレンディング ステージをカレント テクスチャ セットの各テクスチャに関連付ける。「テクスチャ ステージとテクスチャ ブレンディング カスケード」で説明するように、Microsoft® Direct3D® では、セットの最初のテクスチャから順に 8 番目のテクスチャまで各ブレンディング ステージを評価する。

Direct3D では、カレント テクスチャ セットの各テクスチャの情報を、関連付けられているブレンディング ステージに適用する。アプリケーションでは、IDirect3DDevice8::SetTextureStageState を呼び出して、所定のテクスチャ ステージからどの情報を使用するかを制御する。カラー チャネルとアルファ チャネルの処理は、個別に設定することができる。各処理では 2 つの引数を使用する。カラー チャネル処理を指定するには、D3DTSS_COLOROP ステージ ステートを使用し、アルファ処理を指定するには、D3DTSS_ALPHAOP ステージ ステートを使用する。これらのステージ ステートは共に D3DTEXTUREOP 列挙型からの値を使用する。

テクスチャ ブレンディング引数には、D3DTEXTURESTAGESTATETYPE 列挙型の D3DTSS_COLORARG1、D3DTSS_COLORARG2、D3DTSS_ALPHARG1、および D3DTSS_ALPHARG2 メンバを使用する。対応する引数は、テクスチャ引数フラグを使用して識別する。

  あるテクスチャ ステージのカラー処理を D3DTOP_DISABLE に設定することで、そのテクスチャ ステージと、それに続くカスケード内のテクスチャ ブレンディング ステージを無効にすることができる。カラー処理を無効すると、アルファ処理も同様に無効になる。カラー処理が有効のときに、アルファ処理を無効にすることはできない。カラー ブレンディングが有効のときにアルファ処理を D3DTOP_DISABLE に設定すると、その動作は不定である。

デバイスでサポートされているテクスチャ ブレンディング処理を調べるには、D3DCAPS8 構造体の TextureCaps メンバに問い合わせる。