> ## 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_RENDER_TARGET_BLEND_DESC

> 描述渲染目标的混合状态。(D3D12_RENDER_TARGET_BLEND_DESC)

描述渲染目标的混合状态。

## 语法

```cpp theme={null}
typedef struct D3D12_RENDER_TARGET_BLEND_DESC
{
    BOOL BlendEnable;
    BOOL LogicOpEnable;
    D3D12_BLEND SrcBlend;
    D3D12_BLEND DestBlend;
    D3D12_BLEND_OP BlendOp;
    D3D12_BLEND SrcBlendAlpha;
    D3D12_BLEND DestBlendAlpha;
    D3D12_BLEND_OP BlendOpAlpha;
    D3D12_LOGIC_OP LogicOp;
    UINT8 RenderTargetWriteMask;
} D3D12_RENDER_TARGET_BLEND_DESC
```

### 成员

*BlendEnable*\
类型：BOOL

指定是否启用（或禁用）混合。设置为 **TRUE** 以启用混合。

<Note>
  *LogicOpEnable* 和 *BlendEnable* 同时为 **TRUE** 是无效的。
</Note>

*LogicOpEnable*\
类型：BOOL

指定是否启用（或禁用）逻辑运算。设置为 **TRUE** 以启用逻辑运算。

<Note>
  *LogicOpEnable* 和 *BlendEnable* 同时为 **TRUE** 是无效的。
</Note>

*SrcBlend*\
类型：D3D12\_BLEND

一个 [D3D12\_BLEND](/reference/graphics/d3d12/enums/d3d12_blend_public) 类型的值，指定要对像素着色器输出的 RGB 值执行的操作。**BlendOp** 成员定义如何组合 **SrcBlend** 和 **DestBlend** 操作。

*DestBlend*\
类型：D3D12\_BLEND

一个 [D3D12\_BLEND](/reference/graphics/d3d12/enums/d3d12_blend_public) 类型的值，指定要对渲染目标中当前 RGB 值执行的操作。**BlendOp** 成员定义如何组合 **SrcBlend** 和 **DestBlend** 操作。

*BlendOp*\
类型：D3D12\_BLEND\_OP

一个 [D3D12\_BLEND\_OP](/reference/graphics/d3d12/enums/d3d12_blend_op_public) 类型的值，定义如何组合 **SrcBlend** 和 **DestBlend** 操作。

*SrcBlendAlpha*\
类型：D3D12\_BLEND

一个 [D3D12\_BLEND](/reference/graphics/d3d12/enums/d3d12_blend_public) 类型的值，指定要对像素着色器输出的 alpha 值执行的操作。不允许以 \_COLOR 结尾的混合选项。**BlendOpAlpha** 成员定义如何组合 **SrcBlendAlpha** 和 **DestBlendAlpha** 操作。

*DestBlendAlpha*\
类型：D3D12\_BLEND

一个 [D3D12\_BLEND](/reference/graphics/d3d12/enums/d3d12_blend_public) 类型的值，指定要对渲染目标中当前 alpha 值执行的操作。不允许以 \_COLOR 结尾的混合选项。**BlendOpAlpha** 成员定义如何组合 **SrcBlendAlpha** 和 **DestBlendAlpha** 操作。

*BlendOpAlpha*\
类型：D3D12\_BLEND\_OP

一个 [D3D12\_BLEND\_OP](/reference/graphics/d3d12/enums/d3d12_blend_op_public) 类型的值，定义如何组合 **SrcBlendAlpha** 和 **DestBlendAlpha** 操作。

*LogicOp*\
类型：D3D12\_LOGIC\_OP

一个 [D3D12\_LOGIC\_OP](/reference/graphics/d3d12/enums/d3d12_logic_op_public) 类型的值，指定要为渲染目标配置的逻辑运算。

*RenderTargetWriteMask*\
类型：UINT8

使用按位或运算组合的 [D3D12\_COLOR\_WRITE\_ENABLE](/reference/graphics/d3d12/enums/d3d12_color_write_enable_public) 类型值的组合。结果值指定写掩码。

## 备注

<Note>
  *LogicOpEnable* 和 *BlendEnable* 同时为 **TRUE** 是无效的。
</Note>

您可以在 [D3D12\_BLEND\_DESC](/reference/graphics/d3d12/structs/d3d12_blend_desc_public) 结构的 **RenderTarget** 成员中指定一个 **D3D12\_RENDER\_TARGET\_BLEND\_DESC** 结构数组，以描述渲染目标的混合状态；您一次最多可以将 8 个渲染目标绑定到[输出合并阶段](https://learn.microsoft.com/en-us/windows/desktop/direct3d11/d3d10-graphics-programming-guide-output-merger-stage)。

有关如何执行混合的信息，请参阅[输出合并阶段](https://learn.microsoft.com/en-us/windows/desktop/direct3d11/d3d10-graphics-programming-guide-output-merger-stage)。

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

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

  <tr>
    <td>BlendEnable</td>
    <td>FALSE</td>
  </tr>

  <tr>
    <td>LogicOpEnable</td>
    <td>FALSE</td>
  </tr>

  <tr>
    <td>SrcBlend</td>
    <td>D3D12\_BLEND\_ONE</td>
  </tr>

  <tr>
    <td>DestBlend</td>
    <td>D3D12\_BLEND\_ZERO</td>
  </tr>

  <tr>
    <td>BlendOp</td>
    <td>D3D12\_BLEND\_OP\_ADD</td>
  </tr>

  <tr>
    <td>SrcBlendAlpha</td>
    <td>D3D12\_BLEND\_ONE</td>
  </tr>

  <tr>
    <td>DestBlendAlpha</td>
    <td>D3D12\_BLEND\_ZERO</td>
  </tr>

  <tr>
    <td>BlendOpAlpha</td>
    <td>D3D12\_BLEND\_OP\_ADD</td>
  </tr>

  <tr>
    <td>LogicOp</td>
    <td>D3D12\_LOGIC\_OP\_NOOP</td>
  </tr>

  <tr>
    <td>RenderTargetWriteMask</td>
    <td>D3D12\_COLOR\_WRITE\_ENABLE\_ALL</td>
  </tr>
</table>

## 要求

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

## 另请参阅

[Core Structures](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-structures)


## Related topics

- [D3D12_BLEND_DESC](/zh-CN/reference/graphics/d3d12/structs/d3d12_blend_desc_public.md)
- [D3D12_BLEND](/zh-CN/reference/graphics/d3d12/enums/d3d12_blend_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)
- [D3D12_BLEND_OP](/zh-CN/reference/graphics/d3d12/enums/d3d12_blend_op_public.md)
