> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12_BLEND_DESC

> 描述混合状态。(D3D12_BLEND_DESC)

描述混合状态。

## 语法

```cpp theme={null}
typedef struct D3D12_BLEND_DESC
{
    BOOL AlphaToCoverageEnable;
    BOOL IndependentBlendEnable;
    D3D12_RENDER_TARGET_BLEND_DESC RenderTarget;
} D3D12_BLEND_DESC
```

### 成员

*AlphaToCoverageEnable*\
类型：BOOL

指定在将像素设置到渲染目标时是否将 alpha 到覆盖率用作多重采样技术。有关使用 alpha 到覆盖率的详细信息，请参阅 [Alpha-To-Coverage](https://learn.microsoft.com/en-us/windows/desktop/direct3d11/d3d10-graphics-programming-guide-blend-state)。

*IndependentBlendEnable*\
类型：BOOL

指定是否在同时渲染的多个目标中启用独立混合。设置为 **TRUE** 可启用独立混合。如果设置为 **FALSE**，则仅使用 **RenderTarget**\[0] 成员；**RenderTarget**\[1..7] 将被忽略。

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

*RenderTarget*\
类型：D3D12\_RENDER\_TARGET\_BLEND\_DESC\[8]

[D3D12\_RENDER\_TARGET\_BLEND\_DESC](/reference/graphics/d3d12/structs/d3d12_render_target_blend_desc_public) 结构数组，用于描述渲染目标的混合状态；这些对应于可同时绑定到[输出合并阶段](https://learn.microsoft.com/en-us/windows/desktop/direct3d11/d3d10-graphics-programming-guide-output-merger-stage)的八个渲染目标。

## 备注

[D3D12\_GRAPHICS\_PIPELINE\_STATE\_DESC](/reference/graphics/d3d12_x/structs/d3d12_graphics_pipeline_state_desc) 对象包含一个混合状态结构，该结构控制由输出合并阶段执行的混合。

下表列出了混合状态的默认值。

<table>
  <tr>
    <th>状态</th>
    <th>默认值</th>
  </tr>

  <tr>
    <td>AlphaToCoverageEnable</td>
    <td>**FALSE**</td>
  </tr>

  <tr>
    <td>IndependentBlendEnable</td>
    <td>**FALSE**</td>
  </tr>

  <tr>
    <td>RenderTarget\[0].BlendEnable</td>
    <td>**FALSE**</td>
  </tr>

  <tr>
    <td>RenderTarget\[0].LogicOpEnable</td>
    <td>**FALSE**</td>
  </tr>

  <tr>
    <td>RenderTarget\[0].SrcBlend</td>
    <td>D3D12\_BLEND\_ONE</td>
  </tr>

  <tr>
    <td>RenderTarget\[0].DestBlend</td>
    <td>D3D12\_BLEND\_ZERO</td>
  </tr>

  <tr>
    <td>RenderTarget\[0].BlendOp</td>
    <td>D3D12\_BLEND\_OP\_ADD</td>
  </tr>

  <tr>
    <td>RenderTarget\[0].SrcBlendAlpha</td>
    <td>D3D12\_BLEND\_ONE</td>
  </tr>

  <tr>
    <td>RenderTarget\[0].DestBlendAlpha</td>
    <td>D3D12\_BLEND\_ZERO</td>
  </tr>

  <tr>
    <td>RenderTarget\[0].BlendOpAlpha</td>
    <td>D3D12\_BLEND\_OP\_ADD</td>
  </tr>

  <tr>
    <td>RenderTarget\[0].LogicOp</td>
    <td>D3D12\_LOGIC\_OP\_NOOP</td>
  </tr>

  <tr>
    <td>RenderTarget\[0].RenderTargetWriteMask</td>
    <td>D3D12\_COLOR\_WRITE\_ENABLE\_ALL</td>
  </tr>
</table>

当你将 **RenderTarget** 数组的第一个元素（**RenderTarget**\[0]）的 **LogicOpEnable** 成员设置为 **TRUE** 时，还必须将 **RenderTarget**\[0] 的 **BlendEnable** 成员设置为 **FALSE**，并将此结构的 **IndependentBlendEnable** 成员设置为 **FALSE**。这反映了硬件的限制，即不能在多个渲染目标之间混用逻辑运算和混合操作，并且在使用逻辑运算时，必须对所有渲染目标应用相同的逻辑运算。

请注意辅助结构 [CD3DX12\_BLEND\_DESC](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/cd3dx12-blend-desc)。

## 要求

**头文件：** d3d12\_xs.h 或 d3d12\_x.h\
**库：** d3d12\_xs.lib 或 d3d12\_x.lib\
**支持的平台**：XBOX Series 主机和 XBOX One 系列

## 另请参阅

[核心结构](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-structures)


## Related topics

- [D3D12_RENDER_TARGET_BLEND_DESC](/zh-CN/reference/graphics/d3d12/structs/d3d12_render_target_blend_desc_public.md)
- [D3D12_BLEND](/zh-CN/reference/graphics/d3d12/enums/d3d12_blend_public.md)
- [D3D12_BLEND_OP](/zh-CN/reference/graphics/d3d12/enums/d3d12_blend_op_public.md)
- [D3D12_LOGIC_OP](/zh-CN/reference/graphics/d3d12/enums/d3d12_logic_op_public.md)
- [D3D12_COLOR_WRITE_ENABLE](/zh-CN/reference/graphics/d3d12/enums/d3d12_color_write_enable_public.md)
