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

另请参阅

核心结构