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 作为多重采样技术。 有关使用 alpha-to-coverage 的详细信息,请参阅 Alpha-To-Coverage。
IndependentBlendEnable
指定是否在同时呈现目标中启用独立混合。 设置为 TRUE 可启用独立混合。 如果设置为 FALSE,则仅使用 RenderTarget[0] 成员; RenderTarget[1..7] 将被忽略。
有关限制,请参阅 备注 部分。
RenderTarget[8]
描述呈现目标的混合状态的 D3D12_RENDER_TARGET_BLEND_DESC 结构的数组;这些对应于可同时绑定到 输出合并阶段 的八个呈现目标。
注解
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 |