The D3DTEXTUREBLEND enumerated type defines the supported texture-blending modes. This enumerated type is used by the D3DRENDERSTATE_TEXTUREMAPBLEND render state in the D3DRENDERSTATETYPE enumerated type.
typedef enum _D3DTEXTUREBLEND {
D3DTBLEND_DECAL = 1,
D3DTBLEND_MODULATE = 2,
D3DTBLEND_DECALALPHA = 3,
D3DTBLEND_MODULATEALPHA = 4,
D3DTBLEND_DECALMASK = 5,
D3DTBLEND_MODULATEMASK = 6,
D3DTBLEND_COPY = 7,
D3DTBLEND_ADD = 8,
D3DTBLEND_FORCE_DWORD = 0x7fffffff,
} D3DTEXTUREBLEND;
cPix = cTex
aPix = aTex
cPix = cSrc * cTex
aPix = aTex
In this formula, C stands for color, A for alpha, t for texture, and o for original object (before blending).
In the D3DTBLEND_DECALALPHA mode, any alpha values in the texture replace the alpha values in the colors that would have been used with no texturing.
cPix = (cSrc * (10 - aTex)) + (aTex * cTex)
aPix = aSrc
cPix = cSrc * cTex
aPix = aSrc * aTex
cPix = lsb(aTex) ? cTex : cSrc
aPix = aSrc
When the least-significant bit of the texture's alpha component is zero, the effect is as if texturing were disabled.
cPix = lsb(aTex) ? cTex * cSrc : cSrc
aPix = aSrc
When the least-significant bit of the texture's alpha component is zero, the effect is as if texturing were disabled.
To use copy mode, textures must use the same pixel format and palette format as the destination surface; otherwise nothing is rendered. Copy mode does no lighting and simply copies texture pixels to the screen. This is often a good technique for prelit textured scenes.
cPix = cTex
aPix = aTex
For more information, see Copy Texture-blending Mode.
cPix = cTex + cSrc
aPix = aSrc
In the formulas given for the members of this enumerated type, the placeholders have the following meanings:
Modulation combines the effects of lighting and texturing. Because colors are specified as values between and including 0 and 1, modulating (multiplying) the texture and preexisting colors together typically produces colors that are less bright than either source. The brightness of a color component is undiminished when one of the sources for that component is white (1). The simplest way to ensure that the colors of a texture do not change when the texture is applied to an object is to ensure that the object is white (1,1,1).
Windows NT: Use version 4.0 or later.
Windows: Use Windows 95 or later. Available as a redistributable for Windows 95.
Windows CE: Unsupported.
Header: Declared in d3dtypes.h.