语法
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 | 混合因子为 (Ad Ad Ad Ad),即来自渲染目标的 alpha 数据。无预混合操作。 |
| D3D12_BLEND_INV_DEST_ALPHA | 混合因子为 (1 - Ad 1 - Ad 1 - Ad 1 - Ad),即来自渲染目标的 alpha 数据。预混合操作对数据取反,生成 1 - A。 |
| D3D12_BLEND_DEST_COLOR | 混合因子为 (Rd, Gd, Bd, Ad),即来自渲染目标的颜色数据。无预混合操作。 |
| D3D12_BLEND_INV_DEST_COLOR | 混合因子为 (1 - Rd, 1 - Gd, 1 - Bd, 1 - Ad),即来自渲染目标的颜色数据。预混合操作对数据取反,生成 1 - RGB。 |
| D3D12_BLEND_SRC_ALPHA_SAT | 混合因子为 (f, f, f, 1);其中 f = min(Aₛ, 1 - Ad)。预混合操作将数据钳位到不大于 1。 |
| D3D12_BLEND_BLEND_FACTOR | 混合因子是使用 ID3D12GraphicsCommandList::OMSetBlendFactor 设置的混合因子。无预混合操作。 |
| D3D12_BLEND_INV_BLEND_FACTOR | 混合因子是使用 ID3D12GraphicsCommandList::OMSetBlendFactor 设置的混合因子。预混合操作对混合因子取反,生成 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 设置的混合因子。要在目标计算机上成功使用此常量,能力查询返回的 D3D12_FEATURE_DATA_D3D12_OPTIONS13 必须将其 AlphaBlendFactorSupported 设置为 TRUE。 |
| D3D12_BLEND_INV_ALPHA_FACTOR | 混合因子为 (1 - A, 1 - A, 1 - A, 1 - A),其中常量 A 取自使用 OMSetBlendFactor 设置的混合因子。要在目标计算机上成功使用此常量,能力查询返回的 D3D12_FEATURE_DATA_D3D12_OPTIONS13 必须将其 AlphaBlendFactorSupported 设置为 TRUE。 |
注解
源和目标混合操作在 D3D12_RENDER_TARGET_BLEND_DESC 结构中指定。要求
头文件: d3d12_xs.h 或 d3d12_x.h库: d3d12_xs.lib 或 d3d12_x.lib
支持的平台:XBOX Series 主机和 XBOX One 系列
