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

> Specifies blend factors, which modulate values for the pixel shader and render target.

Specifies blend factors, which modulate values for the pixel shader and render target.

## Syntax

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

## Constants

| Constant                         | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| D3D12\_BLEND\_ZERO               | The blend factor is (0, 0, 0, 0). No pre-blend operation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| D3D12\_BLEND\_ONE                | The blend factor is (1, 1, 1, 1). No pre-blend operation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| D3D12\_BLEND\_SRC\_COLOR         | The blend factor is (Rₛ, Gₛ, Bₛ, Aₛ), that is color data (RGB) from a pixel shader. No pre-blend operation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| D3D12\_BLEND\_INV\_SRC\_COLOR    | The blend factor is (1 - Rₛ, 1 - Gₛ, 1 - Bₛ, 1 - Aₛ), that is color data (RGB) from a pixel shader. The pre-blend operation inverts the data, generating 1 - RGB.                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| D3D12\_BLEND\_SRC\_ALPHA         | The blend factor is (Aₛ, Aₛ, Aₛ, Aₛ), that is alpha data (A) from a pixel shader. No pre-blend operation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| D3D12\_BLEND\_INV\_SRC\_ALPHA    | The blend factor is ( 1 - Aₛ, 1 - Aₛ, 1 - Aₛ, 1 - Aₛ), that is alpha data (A) from a pixel shader. The pre-blend operation inverts the data, generating 1 - A.                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| D3D12\_BLEND\_DEST\_ALPHA        | The blend factor is (A<sub>d</sub> A<sub>d</sub> A<sub>d</sub> A<sub>d</sub>), that is alpha data from a render target. No pre-blend operation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| D3D12\_BLEND\_INV\_DEST\_ALPHA   | The blend factor is (1 - A<sub>d</sub> 1 - A<sub>d</sub> 1 - A<sub>d</sub> 1 - A<sub>d</sub>), that is alpha data from a render target. The pre-blend operation inverts the data, generating 1 - A.                                                                                                                                                                                                                                                                                                                                                                                                                           |
| D3D12\_BLEND\_DEST\_COLOR        | The blend factor is (R<sub>d</sub>, G<sub>d</sub>, B<sub>d</sub>, A<sub>d</sub>), that is color data from a render target. No pre-blend operation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| D3D12\_BLEND\_INV\_DEST\_COLOR   | The blend factor is (1 - R<sub>d</sub>, 1 - G<sub>d</sub>, 1 - B<sub>d</sub>, 1 - A<sub>d</sub>), that is color data from a render target. The pre-blend operation inverts the data, generating 1 - RGB.                                                                                                                                                                                                                                                                                                                                                                                                                      |
| D3D12\_BLEND\_SRC\_ALPHA\_SAT    | The blend factor is (f, f, f, 1); where f = min(Aₛ, 1 - A<sub>d</sub>). The pre-blend operation clamps the data to 1 or less.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| D3D12\_BLEND\_BLEND\_FACTOR      | The blend factor is the blend factor set with [ID3D12GraphicsCommandList::OMSetBlendFactor](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_omsetblendfactor_public). No pre-blend operation.                                                                                                                                                                                                                                                                                                                                                                                |
| D3D12\_BLEND\_INV\_BLEND\_FACTOR | The blend factor is the blend factor set with [ID3D12GraphicsCommandList::OMSetBlendFactor](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_omsetblendfactor_public). The pre-blend operation inverts the blend factor, generating 1 - blend\_factor.                                                                                                                                                                                                                                                                                                                        |
| D3D12\_BLEND\_SRC1\_COLOR        | The blend factor is data sources both as color data output by a pixel shader. There is no pre-blend operation. This blend factor supports dual-source color blending.                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| D3D12\_BLEND\_INV\_SRC1\_COLOR   | The blend factor is data sources both as color data output by a pixel shader. The pre-blend operation inverts the data, generating 1 - RGB. This blend factor supports dual-source color blending.                                                                                                                                                                                                                                                                                                                                                                                                                            |
| D3D12\_BLEND\_SRC1\_ALPHA        | The blend factor is data sources as alpha data output by a pixel shader. There is no pre-blend operation. This blend factor supports dual-source color blending.                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| D3D12\_BLEND\_INV\_SRC1\_ALPHA   | The blend factor is data sources as alpha data output by a pixel shader. The pre-blend operation inverts the data, generating 1 - A. This blend factor supports dual-source color blending.                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| D3D12\_BLEND\_ALPHA\_FACTOR      | The blend factor is (A, A, A, A), where the constant, A, is taken from the blend factor set with [OMSetBlendFactor](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_omsetblendfactor_public).  To successfully use this constant on a target machine, the [D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS13](/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options13_public) returned from [capability querying](https://learn.microsoft.com/en-us/windows/win32/direct3d12/capability-querying) must have its *AlphaBlendFactorSupported* set to `TRUE`.                 |
| D3D12\_BLEND\_INV\_ALPHA\_FACTOR | The blend factor is (1 - A, 1 - A, 1 - A, 1 - A), where the constant, A, is taken from the blend factor set with [OMSetBlendFactor](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_omsetblendfactor_public).  To successfully use this constant on a target machine, the [D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS13](/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options13_public) returned from [capability querying](https://learn.microsoft.com/en-us/windows/win32/direct3d12/capability-querying) must have its *AlphaBlendFactorSupported* set to `TRUE`. |

## Remarks

Source and destination blend operations are specified in a [D3D12\_RENDER\_TARGET\_BLEND\_DESC](/reference/graphics/d3d12/structs/d3d12_render_target_blend_desc_public) structure.

## Requirements

**Header:** d3d12\_xs.h or d3d12\_x.h\
**Library:** d3d12\_xs.lib or d3d12\_x.lib\
**Supported Platforms**: XBOX Series consoles and XBOX One family

## See Also

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


## Related topics

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