> ## 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-to-coverage 作為多重取樣技術。如需使用 alpha-to-coverage 的詳細資訊，請參閱 [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](/zh-TW/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](/zh-TW/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-TW/reference/graphics/d3d12/structs/d3d12_render_target_blend_desc_public.md)
- [D3D12_BLEND](/zh-TW/reference/graphics/d3d12/enums/d3d12_blend_public.md)
- [D3D12_BLEND_OP](/zh-TW/reference/graphics/d3d12/enums/d3d12_blend_op_public.md)
- [D3D12_LOGIC_OP](/zh-TW/reference/graphics/d3d12/enums/d3d12_logic_op_public.md)
- [D3D12_COLOR_WRITE_ENABLE](/zh-TW/reference/graphics/d3d12/enums/d3d12_color_write_enable_public.md)
