Microsoft DirectX 8.0 (C++) |
次のトピックでは、エフェクト ファイルを作成する際に使用できる有効なすべてのステートについて説明する。
型 DWORD のステートを設定するときは、列挙値を使用できる。たとえば、通常 SrcBlend は D3DBLEND_xxx 列挙型を使用して設定される。したがって、これらの列挙型を使用して指定することができる。次のコードに示すように、D3DBLEND_ prefix を取り除くのみである。
SrcBlend = One;
これらの値は、"OR" 式でまとめて指定することもできる。
TextureTransformFlags[0] = Count3 | Projected;
次の表は、エフェクト ファイルで使用する有効なレンダリング ステートを示している。
型 | レンダリング ステート | 有効な値 |
---|---|---|
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 |
次の表は、エフェクト ファイルで使用する有効なテクスチャ ステージ ステートを示している。
型 | テクスチャ ステージ ステート | 有効な値 |
---|---|---|
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 |
次の表に、エフェクト ファイルで使用するライティング ステートの一覧を示す。エフェクトにライティング ステートを設定する場合は、ライトを完全に記述するために必要なすべてのステートを設定しなければならない。D3DX は個別にライティング ステートを設定できないため、宣言に失敗したステートにはデフォルト値が設定される。
型 | ライティング ステート | 有効な値 |
---|---|---|
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 |
次の表に、エフェクト ファイルで使用する有効なマテリアル ステートの一覧を示す。エフェクトにマテリアル ステートを設定する場合は、マテリアルを完全に記述するために必要なすべてのステートを設定しなければならない。D3DX は個別にマテリアル ステートを設定できないため、宣言に失敗したステートにはデフォルト値が設定される。
型 | マテリアル ステート |
---|---|
VECTOR | MaterialDiffuse |
VECTOR | MaterialAmbient |
VECTOR | MaterialSpecular |
VECTOR | MaterialEmissive |
FLOAT | MaterialPower |
次の表は、エフェクト ファイルで使用するその他の有効なステートを示している。
型 | ステート |
---|---|
VERTEXSHADER | VertexShader |
PIXELSHADER | PixelShader |
CONSTANT | VertexShaderConstant[n] |
CONSTANT | PixelShaderConstant[n] |
TEXTURE | Texture[8] |
MATRIX | ProjectionTransform |
MATRIX | ViewTransform |
MATRIX | WorldTransform[256] |
MATRIX | TextureTransform[8] |