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 |