Microsoft DirectX 8.0 (C++) |
The following topic covers the entire list of valid states that can be used when creating an effect file.
When setting states of type DWORD, you can use enumerated values. For example, SrcBlend is typically set using D3DBLEND_xxx enumerated types. Therefore, you can use any of these enumeration types in your assignment. Just strip off the D3DBLEND_ prefix as shown in the code fragment below.
SrcBlend = One;
You can also string these together in an "OR" expression.
TextureTransformFlags[0] = Count3 | Projected;
The following table lists the valid render states used in an effect file.
Type | Render State | Valid Values |
---|---|---|
DWORD | ZEnable | D3DZB |
DWORD | FillMode | D3DFILL |
DWORD | ShadeMode | D3DSHADE |
DWORD | LinePattern | |
DWORD | ZWriteEnable | TRUE/FALSE |
DWORD | AlphaTestEnable | TRUE/FALSE |
DWORD | LastPixel | TRUE/FALSE |
DWORD | SrcBlend | D3DBLEND |
DWORD | DestBlend | D3DBLEND |
DWORD | CullMode | D3DCULL |
DWORD | ZFunc | D3DCMP |
DWORD | AlphaRef | |
DWORD | AlphaFunc | D3DCMP |
DWORD | DitherEnable | TRUE/FALSE |
DWORD | AlphaBlendEnable | TRUE/FALSE |
DWORD | FogEnable | TRUE/FALSE |
DWORD | SpecularEnable | TRUE/FALSE |
DWORD | ZVisible | TRUE/FALSE |
DWORD | FogColor | |
DWORD | FogTableMode | D3DFOG |
FLOAT | FogStart | |
FLOAT | FogEnd | |
FLOAT | FogDensity | |
DWORD | EdgeAntialias | TRUE/FALSE |
DWORD | Zbias | |
DWORD | RangeFogEnable | |
DWORD | StencilEnable | TRUE/FALSE |
DWORD | StencilFail | D3DSTENCILOP |
DWORD | StencilZFail | D3DSTENCILOP |
DWORD | StencilPass | D3DSTENCILOP |
DWORD | StencilFunc | D3DCMP |
DWORD | StencilRef | |
DWORD | StencilMask | |
DWORD | StencilWriteMask | |
DWORD | TextureFactor | |
DWORD | Wrap0 | D3DWRAP |
DWORD | Wrap1 | D3DWRAP |
DWORD | Wrap2 | D3DWRAP |
DWORD | Wrap3 | D3DWRAP |
DWORD | Wrap4 | D3DWRAP |
DWORD | Wrap5 | D3DWRAP |
DWORD | Wrap6 | D3DWRAP |
DWORD | Wrap7 | D3DWRAP |
DWORD | Clipping | TRUE/FALSE |
DWORD | Lighting | TRUE/FALSE |
DWORD | Ambient | |
DWORD | FogVertexMode | |
DWORD | ColorVertex | TRUE/FALSE |
DWORD | LocalViewer | TRUE/FALSE |
DWORD | NormalizeNormals | TRUE/FALSE |
DWORD | DiffuseMaterialSource | D3DMCS |
DWORD | SpecularMaterialSource | D3DMCS |
DWORD | AmbientMaterialSource | D3DMCS |
DWORD | EmissiveMaterialSource | D3DMCS |
DWORD | VertexBlend | D3DVBF |
DWORD | ClipPlaneEnable | TRUE/FALSE |
DWORD | SoftwareVertexProcessing | TRUE/FALSE |
FLOAT | PointSize | |
FLOAT | PointSize_Min | |
FLOAT | PointSize_Max | |
DWORD | PointSpriteEnable | TRUE/FALSE |
DWORD | PointScaleEnable | TRUE/FALSE |
FLOAT | PointScale_A | |
FLOAT | PointScale_B | |
FLOAT | PointScale_C | |
DWORD | MultiSampleAntialias | TRUE/FALSE |
DWORD | MultiSampleMask | |
DWORD | PatchSegments | |
DWORD | IndexedVertexBlendEnable | TRUE/FALSE |
DWORD | ColorWriteEnable | TRUE/FALSE |
FLOAT | TweenFactor | |
DWORD | BlendOp | D3DBLENDOP |
The following table lists the valid texture stage states used in an effect file.
Type | Texture Stage State | Valid Values |
---|---|---|
DWORD | ColorOp[8] | D3DTOP |
DWORD | ColorArg0[8] | D3DTA |
DWORD | ColorArg1[8] | D3DTA |
DWORD | ColorArg2[8] | D3DTA |
DWORD | AlphaOp[8] | D3DTOP |
DWORD | AlphaArg0[8] | D3DTA |
DWORD | AlphaArg1[8] | D3DTA |
DWORD | AlphaArg2[8] | D3DTA |
DWORD | ResultArg[8] | D3DTA |
DWORD | BumpEnvMat00[8] | |
DWORD | BumpEnvMat01[8] | |
DWORD | BumpEnvMat10[8] | |
DWORD | BumpEnvMat11[8] | |
DWORD | TexCoordIndex[8] | D3DTSS_TCI |
DWORD | AddressU[8] | D3DTADDRESS |
DWORD | AddressV[8] | D3DTADDRESS |
DWORD | AddressW[8] | D3DTADDRESS |
DWORD | BorderColor[8] | |
DWORD | MagFilter[8] | D3DTEXF |
DWORD | MinFilter[8] | D3DTEXF |
DWORD | MipFilter[8] | D3DTEXF |
DWORD | MipMapLodBias[8] | |
DWORD | MaxMipLevel[8] | |
DWORD | MaxAnsiotropy[8] | |
FLOAT | BumpEnvLScale[8] | |
FLOAT | BumpEnvLOffset[8] | |
DWORD | TextureTransformFlags[8] | D3DTTFF |
The following table lists the valid light states used in an effect file. If you set light states in your effect, you should set all states that you need to completely describe the light. States that you fail to declare will be set to some default value because there is no way for D3DX to set light states individually.
Type | Light State | Valid Values |
---|---|---|
DWORD | LightType[n] | D3DLT |
VECTOR | LightDiffuse[n] | |
VECTOR | LightSpecular[n] | |
VECTOR | LightAmbient[n] | |
VECTOR | LightPosition[n] | |
VECTOR | LightDirection[n] | |
FLOAT | LightRange[n] | |
FLOAT | LightFalloff[n] | |
FLOAT | LightAttenuation0[n] | |
FLOAT | LightAttenuation1[n] | |
FLOAT | LightAttenuation2[n] | |
FLOAT | LightTheta[n] | |
FLOAT | LightPhi[n] | |
DWORD | LightEnable[n] | TRUE/FALSE |
The following table lists the valid material states used in an effect file. If you set material states in your effect, you should set all states that you need to completely describe the material. States that you fail to declare will be set to some default value because there is no way for D3DX to set material states individually.
Type | Material State |
---|---|
VECTOR | MaterialDiffuse |
VECTOR | MaterialAmbient |
VECTOR | MaterialSpecular |
VECTOR | MaterialEmissive |
FLOAT | MaterialPower |
The following table lists other valid states used in an effect file.
Type | State |
---|---|
VERTEXSHADER | VertexShader |
PIXELSHADER | PixelShader |
CONSTANT | VertexShaderConstant[n] |
CONSTANT | PixelShaderConstant[n] |
TEXTURE | Texture[8] |
MATRIX | ProjectionTransform |
MATRIX | ViewTransform |
MATRIX | WorldTransform[256] |
MATRIX | TextureTransform[8] |