ID3D11DeviceContext::OMSetBlendState

出力結合ステージのブレンディング ステートを設定します。

void 
OMSetBlendState(
  ID3D11BlendState *pBlendState,
  const FLOAT BlendFactor[4],
  UINT SampleMask
);

パラメータ

  • pBlendState
    ブレンディング ステート インターフェイスへのポインターです (「ID3D11BlendState」を参照してください)。NULL を渡すと、デフォルトのブレンディング ステートが暗黙的に指定されます。詳細については、「解説」を参照してください。
  • BlendFactor
    ブレンディング係数の配列です。RGBA の成分ごとに 1 つずつあります。これには、D3D11_BLEND_BLEND_FACTOR オプションを指定したブレンディング ステート オブジェクトが必要です。
  • SampleMask
    32 ビットのサンプル カバレッジです。既定値は 0xffffffff です。「解説」を参照してください。

戻り値

返されるものはありません。

解説 

ブレンディング ステートは、出力結合ステージで 2 つのピクセル値のブレンド方法の決定に使用されます。一般にこの 2 つの値は、現在のピクセル値と既に出力レンダー ターゲットにあるピクセル値です。ブレンディング処理を使用して、2 つのピクセル値の取得元と数学的な結合方法を制御します。

ブレンドステート インターフェイスを作成するには、ID3D11Device::CreateBlendState を呼び出します。

ブレンディング ステート インターフェイスに NULL を渡すと、ランタイムに対してデフォルトのブレンディング ステートを設定するように指定します。次の表は、デフォルトのブレンディング パラメーターを示しています。

ステート デフォルト値
AlphaToCoverageEnable FALSE
BlendEnable FALSE[8]
SrcBlend D3D11_BLEND_ONE
DstBlend D3D11_BLEND_ZERO
BlendOp D3D11_BLEND_OP_ADD
SrcBlendAlpha D3D11_BLEND_ONE
DstBlendAlpha D3D11_BLEND_ZERO
BlendOpAlpha D3D11_BLEND_OP_ADD
RenderTargetWriteMask[8] D3D11_COLOR_WRITE_ENABLE_ALL[8]

サンプル マスクによって、すべてのアクティブなレンダー ターゲットでどのサンプルが更新されるかが判別されます。サンプル マスクからマルチサンプル レンダー ターゲットへのビットのマッピングは、個々のアプリケーションで行う必要があります。サンプル マスクは、マルチサンプリングが有効かどうかに関わることなく常に適用され、アプリケーションでマルチサンプル レンダー ターゲットを使用するかどうかには依存しません。

このメソッドは、渡されたインターフェイスの参照を保持します。これは、Direct3D 10 でのデバイス ステートの動作とは異なります。

要件

ヘッダー: D3D11.h 宣言

ライブラリ: D3D11.lib 内容

関連項目

ID3D11DeviceContext