D3D11_BLEND_DESC1 结构 (d3d11_1.h)

描述在调用 D3D11Device1::CreateBlendState1 时用于创建混合状态对象的混合状态。

注意

Direct3D 11.1 运行时支持此结构,该运行时在 Windows 8 及更高版本的操作系统上可用。

语法

typedef struct D3D11_BLEND_DESC1 {
  BOOL                            AlphaToCoverageEnable;
  BOOL                            IndependentBlendEnable;
  D3D11_RENDER_TARGET_BLEND_DESC1 RenderTarget[8];
} D3D11_BLEND_DESC1;

成员

AlphaToCoverageEnable

类型: BOOL

指定在将像素设置为呈现目标时,是否使用 alpha-to-coverage 作为多重采样技术。 有关使用 alpha-to-coverage 的详细信息,请参阅 Alpha-To-Coverage

IndependentBlendEnable

类型: BOOL

指定是否在同时呈现目标中启用独立混合。 设置为 TRUE 可启用独立混合。 如果设置为 FALSE,则仅使用 RenderTarget[0] 成员; RenderTarget[1..7] 将被忽略。

有关限制,请参阅 备注 部分。

RenderTarget[8]

类型: D3D11_RENDER_TARGET_BLEND_DESC1[8]

描述呈现目标的混合状态的 D3D11_RENDER_TARGET_BLEND_DESC1 结构的数组;这些对应于可同时绑定到 输出合并阶段 的八个呈现目标。

备注

下面是混合状态的默认值。

状态 默认值
AlphaToCoverageEnable FALSE
IndependentBlendEnable FALSE
RenderTarget[0]。BlendEnable FALSE
RenderTarget[0]。LogicOpEnable FALSE
RenderTarget[0]。SrcBlend D3D11_BLEND_ONE
RenderTarget[0]。DestBlend D3D11_BLEND_ZERO
RenderTarget[0]。BlendOp D3D11_BLEND_OP_ADD
RenderTarget[0]。SrcBlendAlpha D3D11_BLEND_ONE
RenderTarget[0]。DestBlendAlpha D3D11_BLEND_ZERO
RenderTarget[0]。BlendOpAlpha D3D11_BLEND_OP_ADD
RenderTarget[0]。LogicOp D3D11_LOGIC_OP_NOOP
RenderTarget[0]。RenderTargetWriteMask D3D11_COLOR_WRITE_ENABLE_ALL

如果驱动程序类型设置为 D3D_DRIVER_TYPE_HARDWARE,则功能级别设置为小于或等于 D3D_FEATURE_LEVEL_9_3,呈现目标的像素格式设置为 DXGI_FORMAT_R8G8B8A8_UNORM_SRGBDXGI_FORMAT_B8G8R8A8_UNORM_SRGBDXGI_FORMAT_B8G8R8X8_UNORM_SRGB,则显示设备在标准 RGB (sRGB) 空间中执行混合,而不是在线性空间中执行混合。 但是,如果功能级别设置为大于 D3D_FEATURE_LEVEL_9_3,则显示设备将在线性空间中执行混合,这是理想的选择。

RenderTarget[0] () 的 RenderTarget 数组的第一个元素的 LogicOpEnable 成员设置为 TRUE 时,还必须将 RenderTarget[0] 的 BlendEnable 成员设置为 FALSE,并将此D3D11_BLEND_DESC1IndependentBlendEnable 成员设置为 FALSE。 这反映了硬件中的限制,即不能将逻辑操作与跨多个呈现目标混合混合,并且使用逻辑操作时,必须将相同的逻辑操作应用于所有呈现目标。

要求

   
最低受支持的客户端 适用于 Windows 7 的 Windows 8 和平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 和适用于 Windows Server 2008 R2 的平台更新 [桌面应用 |UWP 应用]
标头 d3d11_1.h

另请参阅

核心结构

D3D11_RENDER_TARGET_BLEND_DESC1

ID3D11BlendState1::GetDesc1