CONST_D3DTEXTUREOP
The CONST_D3DTEXTUREOP enumeration defines per-stage texture blending operations. The constants of this type are used when setting color or alpha operations by using the D3DTSS_COLOROP or D3DTSS_ALPHAOP values with the Direct3DDevice7.SetTextureStageState method.
Enum CONST_D3DTEXTUREOP
D3DTOP_DISABLE = 1
D3DTOP_SELECTARG1 = 2
D3DTOP_SELECTARG2 = 3
D3DTOP_MODULATE = 4
D3DTOP_MODULATE2X = 5
D3DTOP_MODULATE4X = 6
D3DTOP_ADD = 7
D3DTOP_ADDSIGNED = 8
D3DTOP_ADDSIGNED2X = 9
D3DTOP_SUBTRACT = 10
D3DTOP_ADDSMOOTH = 11
D3DTOP_BLENDDIFFUSEALPHA = 12
D3DTOP_BLENDTEXTUREALPHA = 13
D3DTOP_BLENDFACTORALPHA = 14
D3DTOP_BLENDTEXTUREALPHAPM = 15
D3DTOP_BLENDCURRENTALPHA = 16
D3DTOP_PREMODULATE = 17
D3DTOP_MODULATEALPHA_ADDCOLOR = 18
D3DTOP_MODULATECOLOR_ADDALPHA = 19
D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20
D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21
D3DTOP_BUMPENVMAP = 22
D3DTOP_BUMPENVMAPLUMINANCE = 23
D3DTOP_DOTPRODUCT3 = 24
End Enum
- Control constants
- D3DTOP_DISABLE
- Disables output from this texture stage and all stages with a higher index. To disable texture mapping, set this as the color operation for the first texture stage (stage 0). Alpha operations cannot be disabled when color operations are enabled. Setting the alpha operation to D3DTOP_DISABLE when color blending is enabled causes undefined behavior.
- D3DTOP_SELECTARG1
- Use this texture stage's first color or alpha argument, unmodified, as the output. This operation affects the color argument when used with the D3DTSS_COLOROP texture stage state, and the alpha argument when used with D3DTSS_ALPHAOP.
- D3DTOP_SELECTARG2
- Use this texture stage's second color or alpha argument, unmodified, as the output. This operation affects the color argument when used with the D3DTSS_COLOROP texture stage state, and the alpha argument when used with D3DTSS_ALPHAOP.
- Modulation constants
- D3DTOP_MODULATE
- Multiply the components of the arguments together.
- D3DTOP_MODULATE2X
- Multiply the components of the arguments and shift the products to the left one bit (effectively multiplying them by two) for brightening.
- D3DTOP_MODULATE4X
- Multiply the components of the arguments and shift the products to the left two bits (effectively multiplying them by four) for brightening.
- Addition and Subtraction constants
- D3DTOP_ADD
- Add the components of the arguments.
- D3DTOP_ADDSIGNED
- Add the components of the arguments with a -0.5 bias, making the effective range of values from -0.5 to 0.5.
- D3DTOP_ADDSIGNED2X
- Add the components of the arguments with a -0.5 bias, and shift the products to the left one bit.
- D3DTOP_SUBTRACT
- Subtract the components of the second argument from those of the first argument.
- D3DTOP_ADDSMOOTH
- Add the first and second arguments, then subtract their product from the sum.
- Linear alpha blending constants
- D3DTOP_BLENDDIFFUSEALPHA
- D3DTOP_BLENDTEXTUREALPHA
- D3DTOP_BLENDFACTORALPHA
- D3DTOP_BLENDCURRENTALPHA
- Linearly blend this texture stage using the interpolated alpha from each vertex (D3DTOP_BLENDDIFFUSEALPHA), alpha from this stage's texture (D3DTOP_BLENDTEXTUREALPHA), a scalar alpha (D3DTOP_BLENDFACTORALPHA) set with the D3DRENDERSTATE_TEXTUREFACTOR render state, or the alpha taken from the previous texture stage (D3DTOP_BLENDCURRENTALPHA).
- D3DTOP_BLENDTEXTUREALPHAPM
- Linearly blend a texture stage that uses premultiplied alpha.
- Specular mapping constants
- D3DTOP_PREMODULATE
- Modulate this texture stage with the next texture stage.
- D3DTOP_MODULATEALPHA_ADDCOLOR
- Modulate the second argument's color using the first argument's alpha, then add the result to argument one. This operation is supported only for color operations (D3DTSS_COLOROP).
- D3DTOP_MODULATECOLOR_ADDALPHA
- Modulate the arguments, then add the first argument's alpha. This operation is supported only for color operations (D3DTSS_COLOROP).
- D3DTOP_MODULATEINVALPHA_ADDCOLOR
- Similar to D3DTOP_MODULATEALPHA_ADDCOLOR, but use the inverse of the first argument's alpha. This operation is supported only for color operations (D3DTSS_COLOROP).
- D3DTOP_MODULATEINVCOLOR_ADDALPHA
- Similar to D3DTOP_MODULATECOLOR_ADDALPHA, but use the inverse of the first argument's color. This operation is supported only for color operations (D3DTSS_COLOROP).
- Bump mapping constants
- D3DTOP_BUMPENVMAP
- Perform per-pixel bump-mapping using the environment map in the next texture stage (without luminance).
- D3DTOP_BUMPENVMAPLUMINANCE
- Perform per-pixel bump-mapping using the environment map in the next texture stage (with luminance).
- D3DTOP_DOTPRODUCT3
- Modulate the components of each argument (as signed components), add their products, then replicate the sum to all color channels, including alpha. This operation is supported only for color operations (D3DTSS_COLOROP).
Remarks
In the preceding formulas, SRGBA is the RGBA color produced by a texture operation, and Arg1 and Arg2 represent the complete RGBA color of the texture arguments. Individual components of an argument are shown with subscripts. For example, the alpha component for argument one would be shown as Arg1A.
See Also
Direct3DDevice7.GetTextureStageState, Direct3DDevice7.SetTextureStageState, CONST_D3DTEXTURESTAGESTATETYPE