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

> 指定混合因子，用于调制像素着色器和渲染目标的值。

指定混合因子，用于调制像素着色器和渲染目标的值。

## 语法

```cpp theme={null}
typedef enum D3D12_BLEND
{
    D3D12_BLEND_ZERO = 1,
    D3D12_BLEND_ONE = 2,
    D3D12_BLEND_SRC_COLOR = 3,
    D3D12_BLEND_INV_SRC_COLOR = 4,
    D3D12_BLEND_SRC_ALPHA = 5,
    D3D12_BLEND_INV_SRC_ALPHA = 6,
    D3D12_BLEND_DEST_ALPHA = 7,
    D3D12_BLEND_INV_DEST_ALPHA = 8,
    D3D12_BLEND_DEST_COLOR = 9,
    D3D12_BLEND_INV_DEST_COLOR = 10,
    D3D12_BLEND_SRC_ALPHA_SAT = 11,
    D3D12_BLEND_BLEND_FACTOR = 14,
    D3D12_BLEND_INV_BLEND_FACTOR = 15,
    D3D12_BLEND_SRC1_COLOR = 16,
    D3D12_BLEND_INV_SRC1_COLOR = 17,
    D3D12_BLEND_SRC1_ALPHA = 18,
    D3D12_BLEND_INV_SRC1_ALPHA = 19,
    D3D12_BLEND_ALPHA_FACTOR = 20,
    D3D12_BLEND_INV_ALPHA_FACTOR = 21
} D3D12_BLEND
```

## 常量

| 常量                               | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| D3D12\_BLEND\_ZERO               | 混合因子为 (0, 0, 0, 0)。无预混合操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| D3D12\_BLEND\_ONE                | 混合因子为 (1, 1, 1, 1)。无预混合操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| D3D12\_BLEND\_SRC\_COLOR         | 混合因子为 (Rₛ, Gₛ, Bₛ, Aₛ)，即来自像素着色器的颜色数据 (RGB)。无预混合操作。                                                                                                                                                                                                                                                                                                                                                                                                                               |
| D3D12\_BLEND\_INV\_SRC\_COLOR    | 混合因子为 (1 - Rₛ, 1 - Gₛ, 1 - Bₛ, 1 - Aₛ)，即来自像素着色器的颜色数据 (RGB)。预混合操作对数据取反，生成 1 - RGB。                                                                                                                                                                                                                                                                                                                                                                                                |
| D3D12\_BLEND\_SRC\_ALPHA         | 混合因子为 (Aₛ, Aₛ, Aₛ, Aₛ)，即来自像素着色器的 alpha 数据 (A)。无预混合操作。                                                                                                                                                                                                                                                                                                                                                                                                                            |
| D3D12\_BLEND\_INV\_SRC\_ALPHA    | 混合因子为 (1 - Aₛ, 1 - Aₛ, 1 - Aₛ, 1 - Aₛ)，即来自像素着色器的 alpha 数据 (A)。预混合操作对数据取反，生成 1 - A。                                                                                                                                                                                                                                                                                                                                                                                               |
| D3D12\_BLEND\_DEST\_ALPHA        | 混合因子为 (A<sub>d</sub> A<sub>d</sub> A<sub>d</sub> A<sub>d</sub>)，即来自渲染目标的 alpha 数据。无预混合操作。                                                                                                                                                                                                                                                                                                                                                                                        |
| D3D12\_BLEND\_INV\_DEST\_ALPHA   | 混合因子为 (1 - A<sub>d</sub> 1 - A<sub>d</sub> 1 - A<sub>d</sub> 1 - A<sub>d</sub>)，即来自渲染目标的 alpha 数据。预混合操作对数据取反，生成 1 - A。                                                                                                                                                                                                                                                                                                                                                           |
| D3D12\_BLEND\_DEST\_COLOR        | 混合因子为 (R<sub>d</sub>, G<sub>d</sub>, B<sub>d</sub>, A<sub>d</sub>)，即来自渲染目标的颜色数据。无预混合操作。                                                                                                                                                                                                                                                                                                                                                                                          |
| D3D12\_BLEND\_INV\_DEST\_COLOR   | 混合因子为 (1 - R<sub>d</sub>, 1 - G<sub>d</sub>, 1 - B<sub>d</sub>, 1 - A<sub>d</sub>)，即来自渲染目标的颜色数据。预混合操作对数据取反，生成 1 - RGB。                                                                                                                                                                                                                                                                                                                                                           |
| D3D12\_BLEND\_SRC\_ALPHA\_SAT    | 混合因子为 (f, f, f, 1)；其中 f = min(Aₛ, 1 - A<sub>d</sub>)。预混合操作将数据钳位到不大于 1。                                                                                                                                                                                                                                                                                                                                                                                                           |
| D3D12\_BLEND\_BLEND\_FACTOR      | 混合因子是使用 [ID3D12GraphicsCommandList::OMSetBlendFactor](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_omsetblendfactor_public) 设置的混合因子。无预混合操作。                                                                                                                                                                                                                                                                                  |
| D3D12\_BLEND\_INV\_BLEND\_FACTOR | 混合因子是使用 [ID3D12GraphicsCommandList::OMSetBlendFactor](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_omsetblendfactor_public) 设置的混合因子。预混合操作对混合因子取反，生成 1 - blend\_factor。                                                                                                                                                                                                                                                       |
| D3D12\_BLEND\_SRC1\_COLOR        | 混合因子作为像素着色器输出的颜色数据的两个数据源。没有预混合操作。此混合因子支持双源颜色混合。                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| D3D12\_BLEND\_INV\_SRC1\_COLOR   | 混合因子作为像素着色器输出的颜色数据的两个数据源。预混合操作对数据取反，生成 1 - RGB。此混合因子支持双源颜色混合。                                                                                                                                                                                                                                                                                                                                                                                                                    |
| D3D12\_BLEND\_SRC1\_ALPHA        | 混合因子作为像素着色器输出的 alpha 数据的数据源。没有预混合操作。此混合因子支持双源颜色混合。                                                                                                                                                                                                                                                                                                                                                                                                                               |
| D3D12\_BLEND\_INV\_SRC1\_ALPHA   | 混合因子作为像素着色器输出的 alpha 数据的数据源。预混合操作对数据取反，生成 1 - A。此混合因子支持双源颜色混合。                                                                                                                                                                                                                                                                                                                                                                                                                   |
| D3D12\_BLEND\_ALPHA\_FACTOR      | 混合因子为 (A, A, A, A)，其中常量 A 取自使用 [OMSetBlendFactor](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_omsetblendfactor_public) 设置的混合因子。要在目标计算机上成功使用此常量，[能力查询](https://learn.microsoft.com/en-us/windows/win32/direct3d12/capability-querying)返回的 [D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS13](/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options13_public) 必须将其 *AlphaBlendFactorSupported* 设置为 `TRUE`。                 |
| D3D12\_BLEND\_INV\_ALPHA\_FACTOR | 混合因子为 (1 - A, 1 - A, 1 - A, 1 - A)，其中常量 A 取自使用 [OMSetBlendFactor](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_omsetblendfactor_public) 设置的混合因子。要在目标计算机上成功使用此常量，[能力查询](https://learn.microsoft.com/en-us/windows/win32/direct3d12/capability-querying)返回的 [D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS13](/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options13_public) 必须将其 *AlphaBlendFactorSupported* 设置为 `TRUE`。 |

## 注解

源和目标混合操作在 [D3D12\_RENDER\_TARGET\_BLEND\_DESC](/reference/graphics/d3d12/structs/d3d12_render_target_blend_desc_public) 结构中指定。

## 要求

**头文件：** 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-enumerations)


## Related topics

- [D3D12_BLEND_OP](/zh-CN/reference/graphics/d3d12/enums/d3d12_blend_op_public.md)
- [D3D12_RENDER_TARGET_BLEND_DESC](/zh-CN/reference/graphics/d3d12/structs/d3d12_render_target_blend_desc_public.md)
- [D3D12_BLEND_DESC](/zh-CN/reference/graphics/d3d12/structs/d3d12_blend_desc_public.md)
- [OMSetBlendFactor](/zh-CN/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_omsetblendfactor_public.md)
- [D3D12_LOGIC_OP](/zh-CN/reference/graphics/d3d12/enums/d3d12_logic_op_public.md)
