D3DMRENDERSTATETYPE
A version of this page is also available for
4/8/2010
This enumeration provides values that identify render states. You can set the value of a render state by calling the IDirect3DMobileDevice::SetRenderState method.
Syntax
typedef enum _D3DMRENDERSTATETYPE {
D3DMRS_FILLMODE = 0,
D3DMRS_SHADEMODE = 1,
D3DMRS_ZWRITEENABLE = 2,
D3DMRS_ALPHATESTENABLE = 3,
D3DMRS_LASTPIXEL = 4,
D3DMRS_SRCBLEND = 5,
D3DMRS_DESTBLEND = 6,
D3DMRS_CULLMODE = 7,
D3DMRS_ZFUNC = 8,
D3DMRS_ALPHAREF = 9,
D3DMRS_ALPHAFUNC = 10,
D3DMRS_DITHERENABLE = 11,
D3DMRS_ALPHABLENDENABLE = 12,
D3DMRS_FOGENABLE = 13,
D3DMRS_SPECULARENABLE = 14,
D3DMRS_FOGCOLOR = 15,
D3DMRS_FOGTABLEMODE = 16,
D3DMRS_FOGSTART = 17,
D3DMRS_FOGEND = 18,
D3DMRS_FOGDENSITY = 19,
D3DMRS_DEPTHBIAS = 20,
D3DMRS_RANGEFOGENABLE = 21,
D3DMRS_STENCILENABLE = 22,
D3DMRS_STENCILFAIL = 23,
D3DMRS_STENCILZFAIL = 24,
D3DMRS_STENCILPASS = 25,
D3DMRS_STENCILFUNC = 26,
D3DMRS_STENCILREF = 27,
D3DMRS_STENCILMASK = 28,
D3DMRS_STENCILWRITEMASK = 29,
D3DMRS_TEXTUREFACTOR = 30,
D3DMRS_TEXTUREPERSPECTIVE = 31,
D3DMRS_WRAP0 = 32,
D3DMRS_WRAP1 = 33,
D3DMRS_WRAP2 = 34,
D3DMRS_WRAP3 = 35,
D3DMRS_CLIPPING = 36,
D3DMRS_LIGHTING = 37,
D3DMRS_AMBIENT = 38,
D3DMRS_FOGVERTEXMODE = 39,
D3DMRS_COLORVERTEX = 40,
D3DMRS_LOCALVIEWER = 41,
D3DMRS_NORMALIZENORMALS = 42,
D3DMRS_DIFFUSEMATERIALSOURCE = 43,
D3DMRS_SPECULARMATERIALSOURCE = 44,
D3DMRS_AMBIENTMATERIALSOURCE = 45,
D3DMRS_COLORWRITEENABLE = 46,
D3DMRS_BLENDOP = 47,
D3DMRS_ZENABLE = 48,
D3DMRS_SLOPESCALEDEPTHBIAS = 49,
D3DM_MAXRENDERSTATES = 50,
D3DMRS_FORCE_ULONG = 0x7fffffff,
} D3DMRENDERSTATETYPE;
Elements
- D3DMRS_FILLMODE
One or more members of the D3DMFILLMODE enumerated type. The default value is D3DMFILL_SOLID.
- D3DMRS_SHADEMODE
One or more members of the D3DMSHADEMODE enumerated type. The default value is D3DMSHADE_GOURAUD.
- D3DMRS_ZWRITEENABLE
Identifies the render state that controls whether data will be written to the depth buffer. For more information, see Writing Pixels. To enable write operations into the depth buffer, set the value for this render state to TRUE; to disable them set the value to FALSE. The default value is TRUE if EnableAutoDepthStencil was set to TRUE in the presentation parameters; otherwise it is FALSE .
- D3DMRS_ALPHATESTENABLE
Identifies the render state used to control whether the alpha test logic is enabled. For more information, see Alpha Test. To enable the alpha test, set the value for this render state to TRUE; to disable the alpha test, set the value to FALSE.
- D3DMRS_LASTPIXEL
Identifies whether the last pixel in a line should be drawn. To enable drawing the last pixel, set this value to TRUE; to disable drawing the last pixel, set the value to FALSE. The default value is TRUE. For more information, see Rasterization Rules.
- D3DMRS_SRCBLEND
Identifies the render state that controls the blending factor for the source pixel in an alpha blending operation. For more information, see Alpha Blending. Set this render state to a value from the D3DMBLEND enumeration. Passing an illegal enumeration will return the error D3DMERR_DRIVERINVALIDCALL. The default value is D3DMBLEND_ONE.
- D3DMRS_DESTBLEND
Identifies the render state that controls the blending factor for the destination pixel in an alpha blending operation. For more information, see Alpha Blending. Set this render state to a value from the D3DMBLEND enumeration. Passing an illegal enumeration will return the error D3DMERR_DRIVERINVALIDCALL. The default value is D3DMBLEND_ZERO.
- D3DMRS_CULLMODE
Indicates the render state that controls Back-Face Culling. Set this render state to a value in the D3DMCULL enumeration. The default value is D3DMCULL_CCW.
- D3DMRS_ZFUNC
Identifies the render state that controls the function to use for depth comparisons. For more information, see Depth Buffering. Set this render state to a value in the D3DMCMPFUNC enumeration. The default value is D3DMCMP_LESSEQUAL.
- D3DMRS_ALPHAREF
Identifies the render state that sets the reference value for alpha blending operations. For more information, see Alpha Test. Set the value for this render state to a ULONG value from 0 to 255, inclusive. Setting the value outside of this range will return an error value of D3DMERR_DRIVERINVALIDCALL. The default value is 0.
- D3DMRS_ALPHAFUNC
Identifies the render state used to control the function used on the input pixel's alpha value and the alpha reference value. For more information, see Alpha Test. If this function returns TRUE, the input pixel processing is allowed to proceed. If this function returns FALSE, the input pixel processing is halted and the next pixel is processed. Set this render state to a value from the D3DMCMPFUNC enumeration. Passing an illegal enumeration value will return a D3DMERR_DRIVERINVALIDCALL error value. The default value is D3DMCMP_ALWAYS.
- D3DMRS_DITHERENABLE
Identifies the render state used to control dithering. For more information, see Dithering. To enable dithering, set the value for this render state to TRUE; to disable disthering, set the value to FALSE. The default value is FALSE.
- D3DMRS_ALPHABLENDENABLE
Identifies the render state that controls whether alpha blending is enabled. For more information, see Alpha Blending. To enable alpha blending, set the value of this render state to TRUE; to disable alpha blending, set the value to FALSE. The default value is FALSE.
D3DMRS_FOGENABLE
Identifies the render state that controls whether fog blending is used. If the value of this render state is set to TRUE, fog blending is enabled and the input color is blended with the fog color according to the fog value at that pixel. If the value of this render state is set to FALSE, fog blending is disabled. The default value is FALSE.This render state applies to both the vertex and the pixel fog modes.
- D3DMRS_SPECULARENABLE
Indicates the render state that controls whether specular lighting calculations are made. To enable specular lighting, set this value for this render state to TRUE . If this value is set to FALSE, then only the diffuse color is computed, and the specular color for all vertices is set to 0. The default value is FALSE.
- D3DMRS_FOGCOLOR
Identifies the render state that specifies the color of fog. The value for this state is a 32 bit ARGB color value. The default value is 0.
- D3DMRS_FOGTABLEMODE
Indicates the render state that defines whether pixel fog will be used. For more information, see Fog. The value for this render state identifies which mathematical fog model to use, therefore the value must be taken from the D3DMFOGMODE enumeration. The default value is D3DMFOG_NONE.
- D3DMRS_FOGSTART
Identifies the render state that controls where fog begins in the linear fog blending model. For more information, see D3DMFOGMODE. The value for this render state is a D3DMVALUE interpreted as an IEEE 32-bit floating point value. The default value is 0.
- D3DMRS_FOGEND
Identifies the render state that controls where fog ends in the linear fog blending model. For more information, see D3DMFOGMODE. The value for this render state is a D3DMVALUE interpreted as an IEEE 32-bit floating point value. The default value is 0.
- D3DMRS_FOGDENSITY
Identifies the render state that defines the density of fog in the exponential fog blending models. For more information, see D3DMFOGMODE. The value for this state is a D3DMVALUE interpreted as an IEEE 32 bit floating point value. The default value is 0.
- D3DMRS_DEPTHBIAS
Identifies the render state used for comparison of depth values. Set this render state to a floating point value. The default value is 0. For more information, see the description for the D3DMRS_SLOPESCALEDEPTHBIAS render state. The default value is 0.
- D3DMRS_RANGEFOGENABLE
Identifies the render state that defines whether to use range-based or depth-based fog. For more information, see Fog. To use range-based fog, set the value for this render state to TRUE; to use depth-based fog, set the value to FALSE. The default value is FALSE.
- D3DMRS_STENCILENABLE
Identifies the render state that controls whether the stencil buffer is enabled. For more information, see Stencil Operations. To enable the stencil buffer and stencil buffer operations, set the value for this render state to TRUE; to disable stencil buffer operations, set the value to FALSE. The default value is FALSE.
- D3DMRS_STENCILFAIL
Identifies the render state that specifies which stencil operation to perform if the stencil test fails. Set this render state to a value from the D3DMSTENCILOP enumerated type. The default value is D3DMSTENCILOP_KEEP. Passing illegal values into this render state will return a D3DMERR_DRIVERINVALIDCALL error.
- D3DMRS_STENCILZFAIL
Identifies the render state that specifies which stencil operation to perform if the stencil test passes and the depth test (z-test) fails. Set this render state to a value from the D3DMSTENCILOP enumerated type. The default value is D3DMSTENCILOP_KEEP. Passing illegal values into this render state will return a D3DMERR_DRIVERINVALIDCALL error.
- D3DMRS_STENCILPASS
Identifies the render state that specifies which stencil operation to perform if both the stencil and the depth (z) tests pass. Set this render state to a value from the D3DMSTENCILOP enumerated type. The default value is D3DMSTENCILOP_KEEP. Passing illegal values into this render state will return a D3DMERR_DRIVERINVALIDCALL error.
- D3DMRS_STENCILFUNC
Identifies the render state that specifies the comparison function to use for stencil operations. For more information, see Stencil Operations. Set this render state to a value from the D3DMCMPFUNC enumeration. Passing illegal values into this render state will return a D3DMERR_DRIVERINVALIDCALL error. The default value is D3DMCMP_ALWAYS.
- D3DMRS_STENCILREF
Integer reference value for the stencil test. The default value is 0.
- D3DMRS_STENCILMASK
Mask applied to the reference value and each stencil buffer entry to determine the significant bits for the stencil test. The default value is 0xFFFFFFFF.
- D3DMRS_STENCILWRITEMASK
Identifies the render state that controls which bits in the stencil buffer can be written to. For more information, see Writing Pixels. Set the value of this render state to a ULONG value representing the bit mask for the stencil buffer. The default value is 0xFFFFFFFF.
- D3DMRS_TEXTUREFACTOR
Color used for multiple-texture blending with the D3DMTA_TFACTOR texture-blending argument or the D3DMTOP_BLENDFACTORALPHA texture-blending operation. The associated value is a D3DMCOLOR variable. The default value is 0xFFFFFFFF.
- D3DMRS_TEXTUREPERSPECTIVE
Indicates perspective-correct texture mapping. To enable perspective-correct texture mapping, set the value for this render state to TRUE; to disable it, set this value to FALSE. The default value is FALSE. For more information, see Perspective-Correct Texture Mapping.
- D3DMRS_WRAP0 through D3DMRS_WRAP3
Texture-wrapping behavior for multiple sets of texture coordinates. Valid values for these render states can be any combination of the D3DMWRAPCOORD Values. These cause the system to wrap in the direction of the first, second, and third coordinates— sometimes referred to as the s, t, and r directions — for a given texture. The default value for these render states is 0 (wrapping disabled in all directions). For more information, see Texture Coordinate Wrapping.
- D3DMRS_CLIPPING
Indicates the render state that controls whether primitives are clipped by the view frustum. To enable clipping, set the value for this render state to TRUE; to disable clipping, set this value to FALSE. The default value is TRUE.
- D3DMRS_LIGHTING
Indicates the render state that controls whether lighting calculations are made. To enable lighting, set the value for this render state to TRUE; to disable lighting, set the value to FALSE. The default value is TRUE.
- D3DMRS_AMBIENT
Ambient light color. This value is of type D3DMCOLOR. The default value is 0 (black).
- D3DMRS_FOGVERTEXMODE
Indicates the render state that defines whether vertex fog will be used. For more information, see Fog. The value for this render state identifies which mathematical fog model to use, therefore the value must be taken from the D3DMFOGMODE enumeration. The default value is D3DMFOG_NONE.
D3DMRS_COLORVERTEX
TRUE to enable per-vertex color, or FALSE to disable it. The default value is TRUE. Enabling per-vertex color allows the system to include the color defined for individual vertices in its lighting calculations. The default value is TRUE.For more information, see the descriptions for the following render states:
- D3DMRS_DIFFUSEMATERIALSOURCE
- D3DMRS_SPECULARMATERIALSOURCE
- D3DMRS_AMBIENTMATERIALSOURCE
- D3DMRS_LOCALVIEWER
To enable camera-relative specular highlights, set the value for this render state to TRUE; to use orthogonal specular highlights, set the value to FALSE . The default value is TRUE. Applications that use orthogonal projection should specify false.
- D3DMRS_NORMALIZENORMALS
Indicates whether the driver must normalize the vertex normals sent to it. If the driver must normalize the normals, set the value for this render state to TRUE; if the application is already providing the driver with normalized normals, set the value to FALSE. The default value is FALSE.
- D3DMRS_DIFFUSEMATERIALSOURCE
Indicates the diffuse color source for lighting calculations. Valid values are members of the D3DMMATERIALCOLORSOURCE enumerated type. The default value is D3DMCS_COLOR1. The value for this render state is used only if the D3DRS_COLORVERTEX render state is set to TRUE.
- D3DMRS_SPECULARMATERIALSOURCE
Indicates the specular color source for lighting calculations. Valid values are members of the D3DMATERIALCOLORSOURCE enumerated type. The default value is D3DMCS_COLOR2.
- D3DMRS_AMBIENTMATERIALSOURCE
Indicates the ambient color source for lighting calculations. Valid values are members of the D3DMATERIALCOLORSOURCE enumerated type. The default value is D3DMCS_MATERIAL.
- D3DMRS_COLORWRITEENABLE
Indicates the render state that controls which color components will be written into a buffer. For more information, see Writing Pixels. Set the value for this render state to one or more D3DMCOLORWRITEENABLE Values. You can set multiple D3DMCOLORWRITEENABLE values by combining them with a logical bitwise OR operation when you set the value for this render state. The default value is D3DMCOLORWRITEENABLE_ALL.
- D3DMRS_BLENDOP
Identifies the renders state that controls function used to do alpha blending. Set this render state to a value from the D3DMBLENDOP enumeration. Passing an illegal enumeration value will return D3DMERR_DRIVERINVALIDCALL. The default value is D3DMBLENDOP_ADD.
D3DMRS_ZENABLE
Indicates the render state that specifies the type of depth buffering to use. Set this render state to a value from the D3DMZBUFFERTYPE enumeration.By default, the D3DMRS_ZENABLE render state is set to D3DMZB_TRUE if a depth stencil buffer was created along with the swap chains. For more information, see D3DMPRESENT_PARAMETERS. In all other cases this render state defaults to FALSE.
D3DMRS_SLOPESCALEDEPTHBIAS
Indicates the render state used to determine how much bias can be applied to co-planar primitives to reduce z fighting. For more information, see Depth Buffering. The default value is 0.bias = (max * D3DMRS_SLOPESCALEDEPTHBIAS) + D3DMRS_DEPTHBIAS.
where
max
is the maximum depth slope of the triangle being rendered.
- D3DM_MAXRENDERSTATES
Indicates the total number of render states.
- D3DMRS_FORCE_ULONG
Forces the compiler to interpret the enumeration as a ULONG value. This value is not used directly in Direct3D Mobile programming.
Requirements
Header | d3dmtypes.h |
Windows Embedded CE | Windows CE 5.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
Direct3D Mobile Enumerations
IDirect3DMobileDevice::SetRenderState
D3DMFILLMODE
D3DMSHADEMODE
D3DMBLEND
D3DMCULL
D3DMCMPFUNC
D3DMFOGMODE
D3DMVALUE
D3DMSTENCILOP
D3DMWRAPCOORD Values
D3DMMATERIALCOLORSOURCE
D3DMCOLORWRITEENABLE Values
D3DMBLENDOP
D3DMZBUFFERTYPE
D3DMPRESENT_PARAMETERS
Concepts
Writing Pixels
Alpha Test
Rasterization Rules
Alpha Blending
Back-Face Culling
Depth Buffering
Dithering
Fog
Stencil Operations
Writing Pixels
Writing Pixels