D3D12_BLEND_DESC structure (d3d12.h)
Describes the blend state.
Syntax
typedef struct D3D12_BLEND_DESC {
BOOL AlphaToCoverageEnable;
BOOL IndependentBlendEnable;
D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[8];
} D3D12_BLEND_DESC;
Members
AlphaToCoverageEnable
Specifies whether to use alpha-to-coverage as a multisampling technique when setting a pixel to a render target. For more info about using alpha-to-coverage, see Alpha-To-Coverage.
IndependentBlendEnable
Specifies whether to enable independent blending in simultaneous render targets. Set to TRUE to enable independent blending. If set to FALSE, only the RenderTarget[0] members are used; RenderTarget[1..7] are ignored.
See the Remarks section for restrictions.
RenderTarget[8]
An array of D3D12_RENDER_TARGET_BLEND_DESC structures that describe the blend states for render targets; these correspond to the eight render targets that can be bound to the output-merger stage at one time.
Remarks
A D3D12_GRAPHICS_PIPELINE_STATE_DESC object contains a blend-state structure that controls blending by the output-merger stage.
Here are the default values for blend state.
State | Default Value |
---|---|
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 |
When you set the LogicOpEnable member of the first element of the RenderTarget array (RenderTarget[0]) to TRUE, you must also set the BlendEnable member of RenderTarget[0] to FALSE, and the IndependentBlendEnable member of this structure to FALSE. This reflects the limitation in hardware that you can't mix logic operations with blending across multiple render targets, and that when you use a logic operation, you must apply the same logic operation to all render targets.
Note the helper structure, CD3DX12_BLEND_DESC.
Requirements
Requirement | Value |
---|---|
Header | d3d12.h |