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
ブレンディング係数は (Rd, Gd, Bd, Ad) となります。D3DBLEND_INVDESTCOLOR
ブレンディング係数は (1 - Rd, 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
フレーム バッファー ブレンダーで使用される定数のカラー ブレンディング係数です。このブレンディング モードは、D3DCAPS9 の SrcBlendCaps メンバーまたは DestBlendCaps メンバーで D3DPBLENDCAPS_BLENDFACTOR が設定されている場合にのみサポートされます。D3DBLEND_INVBLENDFACTOR
フレーム バッファー ブレンダーで使用される定数のカラー ブレンディング係数の逆数です。このブレンディング モードは、D3DCAPS9 の SrcBlendCaps メンバーまたは DestBlendCaps メンバーで D3DPBLENDCAPS_BLENDFACTOR ビットが設定されている場合にのみサポートされます。D3DBLEND_SRCCOLOR2
ブレンディング係数は (PSOutColor[1]r, PSOutColor[1]g, PSOutColor[1]b, 使用されない) となります。「レンダー ターゲットのブレンディング」を参照してください。Direct3D 9 と Direct3D 9Ex の違い
このフラグは Direct3D 9Ex でのみ使用できます。
D3DBLEND_INVSRCCOLOR2
ブレンディング係数は (1 - PSOutColor[1]r, 1 - PSOutColor[1]g, 1 - PSOutColor[1]b, 使用されない) となります。「レンダー ターゲットのブレンディング」を参照してください。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 宣言