> ## Documentation Index
> Fetch the complete documentation index at: https://docs.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](https://docs.xbox.com/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_omsetblendfactor_public.md). No pre-blend operation. |
| D3D12\_BLEND\_INV\_BLEND\_FACTOR | The blend factor is the blend factor set with [ID3D12GraphicsCommandList::OMSetBlendFactor](https://docs.xbox.com/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_omsetblendfactor_public.md). 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](https://docs.xbox.com/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_omsetblendfactor_public.md).  To successfully use this constant on a target machine, the [D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS13](https://docs.xbox.com/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options13_public.md) 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](https://docs.xbox.com/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_omsetblendfactor_public.md).  To successfully use this constant on a target machine, the [D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS13](https://docs.xbox.com/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options13_public.md) 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](https://docs.xbox.com/reference/graphics/d3d12/structs/d3d12_render_target_blend_desc_public.md) 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](https://docs.xbox.com/reference/graphics/d3d12/enums/d3d12_blend_op_public.md)
- [D3D12_RENDER_TARGET_BLEND_DESC](https://docs.xbox.com/reference/graphics/d3d12/structs/d3d12_render_target_blend_desc_public.md)
- [D3D12_BLEND_DESC](https://docs.xbox.com/reference/graphics/d3d12/structs/d3d12_blend_desc_public.md)
- [OMSetBlendFactor](https://docs.xbox.com/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_omsetblendfactor_public.md)
- [D3D12_LOGIC_OP](https://docs.xbox.com/reference/graphics/d3d12/enums/d3d12_logic_op_public.md)
