次の方法で共有


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
    フレーム バッファー ブレンダーで使用される定数のカラー ブレンディング係数です。このブレンディング モードは、D3DCAPS9SrcBlendCaps メンバーまたは DestBlendCaps メンバーで D3DPBLENDCAPS_BLENDFACTOR が設定されている場合にのみサポートされます。

  • D3DBLEND_INVBLENDFACTOR
    フレーム バッファー ブレンダーで使用される定数のカラー ブレンディング係数の逆数です。このブレンディング モードは、D3DCAPS9SrcBlendCaps メンバーまたは 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 宣言