D3D12_BLEND_DESC 構造体 (d3d12.h)

ブレンドの状態について説明します。

構文

typedef struct D3D12_BLEND_DESC {
  BOOL                           AlphaToCoverageEnable;
  BOOL                           IndependentBlendEnable;
  D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[8];
} D3D12_BLEND_DESC;

メンバー

AlphaToCoverageEnable

ピクセルをレンダー ターゲットに設定するときに、マルチサンプリング手法としてアルファ対カバレッジを使用するかどうかを指定します。 アルファ対カバレッジの使用の詳細については、「 Alpha-To-Coverage」を参照してください。

IndependentBlendEnable

同時レンダー ターゲットで独立ブレンドを有効にするかどうかを指定します。 独立したブレンドを有効にするには 、TRUE に 設定します。 FALSE に設定すると、RenderTarget[0] メンバーのみが使用されます。RenderTarget[1..7] は無視されます。

制限については、「 解説 」セクションを参照してください。

RenderTarget[8]

レンダー ターゲットのブレンド状態を記述する D3D12_RENDER_TARGET_BLEND_DESC 構造体の配列。これらは、一度に 出力マージャー ステージ にバインドできる 8 つのレンダー ターゲットに対応します。

注釈

D3D12_GRAPHICS_PIPELINE_STATE_DESC オブジェクトには、出力マージャー ステージによるブレンドを制御するブレンド状態構造体が含まれています。

ブレンド状態の既定値を次に示します。

状態 既定値
AlphaToCoverageEnable FALSE
IndependentBlendEnable FALSE
RenderTarget[0]。BlendEnable FALSE
RenderTarget[0]。LogicOpEnable FALSE
RenderTarget[0]。SrcBlend D3D12_BLEND_ONE
RenderTarget[0]。DestBlend D3D12_BLEND_ZERO
RenderTarget[0]。BlendOp D3D12_BLEND_OP_ADD
RenderTarget[0]。SrcBlendAlpha D3D12_BLEND_ONE
RenderTarget[0]。DestBlendAlpha D3D12_BLEND_ZERO
RenderTarget[0]。BlendOpAlpha D3D12_BLEND_OP_ADD
RenderTarget[0]。LogicOp D3D12_LOGIC_OP_NOOP
RenderTarget[0]。RenderTargetWriteMask D3D12_COLOR_WRITE_ENABLE_ALL

RenderTarget 配列の最初の要素の LogicOpEnable メンバー (RenderTarget[0]) を TRUE に設定する場合は、RenderTarget[0] の BlendEnable メンバーを FALSE に設定し、この構造体の IndependentBlendEnable メンバーを FALSE に設定する必要もあります。 これには、複数のレンダー ターゲット間でロジック操作とブレンドを混在させることはできません。また、ロジック操作を使用する場合は、すべてのレンダー ターゲットに同じロジック操作を適用する必要があるというハードウェアの制限が反映されています。

ヘルパー構造CD3DX12_BLEND_DESC注意してください。

要件

要件
Header d3d12.h

こちらもご覧ください

コア構造体