D3DBLEND enumeration
Defines the supported blend mode.
Syntax
typedef enum D3DBLEND {
D3DBLEND_ZERO = 1,
D3DBLEND_ONE = 2,
D3DBLEND_SRCCOLOR = 3,
D3DBLEND_INVSRCCOLOR = 4,
D3DBLEND_SRCALPHA = 5,
D3DBLEND_INVSRCALPHA = 6,
D3DBLEND_DESTALPHA = 7,
D3DBLEND_INVDESTALPHA = 8,
D3DBLEND_DESTCOLOR = 9,
D3DBLEND_INVDESTCOLOR = 10,
D3DBLEND_SRCALPHASAT = 11,
D3DBLEND_BOTHSRCALPHA = 12,
D3DBLEND_BOTHINVSRCALPHA = 13,
D3DBLEND_BLENDFACTOR = 14,
D3DBLEND_INVBLENDFACTOR = 15,
D3DBLEND_SRCCOLOR2 = 16,
D3DBLEND_INVSRCCOLOR2 = 17,
D3DBLEND_FORCE_DWORD = 0x7fffffff
} D3DBLEND, *LPD3DBLEND;
Constants
-
D3DBLEND_ZERO
-
Blend factor is (0, 0, 0, 0).
-
D3DBLEND_ONE
-
Blend factor is (1, 1, 1, 1).
-
D3DBLEND_SRCCOLOR
-
Blend factor is (Rₛ, Gₛ, Bₛ, Aₛ).
-
D3DBLEND_INVSRCCOLOR
-
Blend factor is (1 - Rₛ, 1 - Gₛ, 1 - Bₛ, 1 - Aₛ).
-
D3DBLEND_SRCALPHA
-
Blend factor is (Aₛ, Aₛ, Aₛ, Aₛ).
-
D3DBLEND_INVSRCALPHA
-
Blend factor is ( 1 - Aₛ, 1 - Aₛ, 1 - Aₛ, 1 - Aₛ).
-
D3DBLEND_DESTALPHA
-
Blend factor is (Ad Ad Ad Ad).
-
D3DBLEND_INVDESTALPHA
-
Blend factor is (1 - Ad 1 - Ad 1 - Ad 1 - Ad).
-
D3DBLEND_DESTCOLOR
-
Blend factor is (Rd, Gd, Bd, Ad).
-
D3DBLEND_INVDESTCOLOR
-
Blend factor is (1 - Rd, 1 - Gd, 1 - Bd, 1 - Ad).
-
D3DBLEND_SRCALPHASAT
-
Blend factor is (f, f, f, 1); where f = min(Aₛ, 1 - Ad).
-
D3DBLEND_BOTHSRCALPHA
-
Obsolete. Starting with DirectX 6, you can achieve the same effect by setting the source and destination blend factors to D3DBLEND_SRCALPHA and D3DBLEND_INVSRCALPHA in separate calls.
-
D3DBLEND_BOTHINVSRCALPHA
-
Obsolete. Source blend factor is (1 - Aₛ, 1 - Aₛ, 1 - Aₛ, 1 - Aₛ), and destination blend factor is (Aₛ, Aₛ, Aₛ, Aₛ); the destination blend selection is overridden. This blend mode is supported only for the D3DRS_SRCBLEND render state.
-
D3DBLEND_BLENDFACTOR
-
Constant color blending factor used by the frame-buffer blender. This blend mode is supported only if D3DPBLENDCAPS_BLENDFACTOR is set in the SrcBlendCaps or DestBlendCaps members of D3DCAPS9.
-
D3DBLEND_INVBLENDFACTOR
-
Inverted constant color-blending factor used by the frame-buffer blender. This blend mode is supported only if the D3DPBLENDCAPS_BLENDFACTOR bit is set in the SrcBlendCaps or DestBlendCaps members of D3DCAPS9.
-
D3DBLEND_SRCCOLOR2
-
Blend factor is (PSOutColor[1]r, PSOutColor[1]g, PSOutColor[1]b, not used). See Render Target Blending.
Differences between Direct3D 9 and Direct3D 9Ex:
- This flag is available in Direct3D 9Ex only.
-
D3DBLEND_INVSRCCOLOR2
-
Blend factor is (1 - PSOutColor[1]r, 1 - PSOutColor[1]g, 1 - PSOutColor[1]b, not used)). See Render Target Blending.
Differences between Direct3D 9 and Direct3D 9Ex:
- This flag is available in Direct3D 9Ex only.
-
D3DBLEND_FORCE_DWORD
-
Forces this enumeration to compile to 32 bits in size. Without this value, some compilers would allow this enumeration to compile to a size other than 32 bits. This value is not used.
Remarks
In the preceding member descriptions, the RGBA values of the source and destination are indicated by the s and d subscripts.
The values in this enumerated type are used by the following render states:
- D3DRS_DESTBLEND
- D3DRS_SRCBLEND
- D3DRS_DESTBLENDALPHA
- D3DRS_SRCBLENDALPHA
Render Target Blending
Direct3D 9Ex has improved text rendering capabilities. Rendering clear-type fonts would normally require two passes. To eliminate the second pass, a pixel shader can be used to output two colors, which we can call PSOutColor[0] and PSOutColor[1]. The first color would contain the standard 3 color components (RGB). The second color would contain 3 alpha components (one for each component of the first color).
These new blending modes are only used for text rendering on the first render target.
Requirements
Requirement | Value |
---|---|
Header |
|
See also