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

ピクセルをレンダー ターゲットに設定するときに、マルチサンプリング手法としてアルファ カバレッジを使用するかどうかを指定します。アルファ カバレッジの使用方法の詳細については、[アルファ カバレッジ](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) に一度にバインドできる 8 つのレンダー ターゲットに対応します。

## 解説

[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](/ja-jp/reference/graphics/d3d12/structs/d3d12_render_target_blend_desc_public.md)
- [D3D12_BLEND](/ja-jp/reference/graphics/d3d12/enums/d3d12_blend_public.md)
- [D3D12_BLEND_OP](/ja-jp/reference/graphics/d3d12/enums/d3d12_blend_op_public.md)
- [D3D12_LOGIC_OP](/ja-jp/reference/graphics/d3d12/enums/d3d12_logic_op_public.md)
- [D3D12_COLOR_WRITE_ENABLE](/ja-jp/reference/graphics/d3d12/enums/d3d12_color_write_enable_public.md)
