D3DBLEND 列挙

サポートされているブレンド モードを定義します。

構文

typedef enum D3DBLEND { 
  D3DBLEND_ZERO             = 1,
  D3DBLEND_ONE              = 2,
  D3DBLEND_SRCCOLOR         = 3,
  D3DBLEND_INVSRCCOLOR      = 4,
  D3DBLEND_SRCALPHA         = 5,
  D3DBLEND_INVSRCALPHA      = 6,
  D3DBLEND_DESTALPHA        = 7,
  D3DBLEND_INVDESTALPHA     = 8,
  D3DBLEND_DESTCOLOR        = 9,
  D3DBLEND_INVDESTCOLOR     = 10,
  D3DBLEND_SRCALPHASAT      = 11,
  D3DBLEND_BOTHSRCALPHA     = 12,
  D3DBLEND_BOTHINVSRCALPHA  = 13,
  D3DBLEND_BLENDFACTOR      = 14,
  D3DBLEND_INVBLENDFACTOR   = 15,
  D3DBLEND_SRCCOLOR2        = 16,
  D3DBLEND_INVSRCCOLOR2     = 17,
  D3DBLEND_FORCE_DWORD      = 0x7fffffff
} D3DBLEND, *LPD3DBLEND;

定数

D3DBLEND_ZERO

ブレンド係数は (0, 0, 0, 0) です。

D3DBLEND_ONE

ブレンド係数は (1, 1, 1, 1) です。

D3DBLEND_SRCCOLOR

ブレンド係数は (Rs、Gs、Bs、As) です。

D3DBLEND_INVSRCCOLOR

ブレンド係数は (1 - Rs、1 - Gs、1 - Bs、1 - As) です。

D3DBLEND_SRCALPHA

ブレンド係数は (As、As、As、As) です。

D3DBLEND_INVSRCALPHA

ブレンド係数は ( 1 - As、1 - As、1 - As、1 - As) です。

D3DBLEND_DESTALPHA

ブレンド係数は (Ad Ad Ad Ad) である

D3DBLEND_INVDESTALPHA

ブレンド係数は (1 - Ad 1 - Ad 1 - Ad 1 - Ad) です

D3DBLEND_DESTCOLOR

ブレンド係数は(RdGdBdAd)である

D3DBLEND_INVDESTCOLOR

ブレンド係数は (1 -R d、 1 - Gd、1 - Bd、1 - Ad) です

D3DBLEND_SRCALPHASAT

ブレンド係数は (f, f, f, 1);ここで f = min(As, 1 - Ad)。

D3DBLEND_BOTHSRCALPHA

互換性のために残されています。 DirectX 6 以降では、ソースと宛先のブレンド係数を個別の呼び出しでD3DBLEND_SRCALPHAとD3DBLEND_INVSRCALPHAに設定することで、同じ効果を実現できます。

D3DBLEND_BOTHINVSRCALPHA

互換性のために残されています。 ソース ブレンド係数は (1 - As、1 - As、1 - As、1 - As)、宛先ブレンド係数は (As、As、As、As) です。ターゲット ブレンドの選択がオーバーライドされます。 このブレンド モードは、D3DRS_SRCBLENDレンダリング状態でのみサポートされます。

D3DBLEND_BLENDFACTOR

フレーム バッファー ブレンダーで使用される一定の色ブレンド係数。 このブレンド モードは、D3DCAPS9SrcBlendCaps メンバーまたは DestBlendCaps メンバーでD3DPBLENDCAPS_BLENDFACTORが設定されている場合にのみサポートされます。

D3DBLEND_INVBLENDFACTOR

フレーム バッファー ブレンダーで使用される反転定数カラー ブレンド係数。 このブレンド モードは、D3DCAPS9SrcBlendCaps メンバーまたは DestBlendCaps メンバーでD3DPBLENDCAPS_BLENDFACTOR ビットが設定されている場合にのみサポートされます。

D3DBLEND_SRCCOLOR2

ブレンド係数は (PSOutColor[1]r, PSOutColor[1]g, PSOutColor[1]b, not used) です。 「 レンダー ターゲット ブレンド」を参照してください。

Direct3D 9 と Direct3D 9Ex の違い:

  • このフラグは Direct3D 9Ex でのみ使用できます。

 

D3DBLEND_INVSRCCOLOR2

ブレンド係数は (1 - PSOutColor[1]r, 1 - PSOutColor[1]g, 1 - PSOutColor[1]b, not used)) です。 「 レンダー ターゲット ブレンド」を参照してください。

Direct3D 9 と Direct3D 9Ex の違い:

  • このフラグは Direct3D 9Ex でのみ使用できます。

 

D3DBLEND_FORCE_DWORD

この列挙を強制的に 32 ビットのサイズにコンパイルします。 この値がないと、一部のコンパイラでは、この列挙を 32 ビット以外のサイズにコンパイルできます。 この値は使用されません。

解説

前のメンバーの説明では、ソースと宛先の RGBA 値は、s および d の添字で示されています。

この列挙型の値は、次のレンダリング状態で使用されます。

  • D3DRS_DESTBLEND
  • D3DRS_SRCBLEND
  • D3DRS_DESTBLENDALPHA
  • D3DRS_SRCBLENDALPHA

D3DRENDERSTATETYPE を参照してください

レンダー ターゲット ブレンド

Direct3D 9Ex では、テキストレンダリング機能が改善されました。 通常、クリアタイプのフォントをレンダリングするには、2 つのパスが必要です。 2 番目のパスを排除するために、ピクセル シェーダーを使用して 2 つの色を出力できます。これは PSOutColor[0] と PSOutColor[1] を呼び出すことができます。 最初の色には、標準の 3 色コンポーネント (RGB) が含まれます。 2 番目の色には、3 つのアルファ コンポーネント (最初の色のコンポーネントごとに 1 つ) が含まれます。

これらの新しいブレンド モードは、最初のレンダー ターゲットでのテキスト レンダリングにのみ使用されます。

要件

要件
ヘッダー
D3D9Types.h

関連項目

Direct3D 列挙