トレーニング
ラーニング パス
FastTrack サービス、データ管理などを使用して、財務と運用アプリの実装を成功させるためのプロジェクト方法論を計画および設計します。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
効果の状態は、頂点とピクセルの処理に備えてパイプラインの状態を初期化するために使用されます。
effect state [ [index] ] = expression;
各値の説明:
各状態にはネイティブ データ型があります。 これは、効果によって値が割り当てられるときに状態が想定するデータ型です。 各状態で想定されるデータ型を次に示します。
エフェクト インターフェイスは、可能な限り早く適切な型に値をキャストしようとします。 リテラル値はコンパイル時にキャストできます。 適切な Set メソッドが呼び出されたときに、非リテラル (つまり通常の変数) をキャストする必要があります。 たとえば、エフェクト インターフェイスは、 SetBool、 SetValue、およびその他の同様の関数を使用して設定された値を必要に応じてキャストします。 パフォーマンスを向上させるには、エフェクト インターフェイスに渡される値が既に正しい型であり、キャストは必要ありません。 ランタイムが値をキャストできない場合は、エラーが返されます。
効果の状態は、次のカテゴリに分類できます。
エフェクトの適用に最適なパフォーマンスを実現するには、エフェクト ファイルでライトまたはマテリアルのすべてのコンポーネントを指定する必要があります。 宣言に失敗した状態は、Direct3D でライトの状態を個別に設定する方法がないため、既定値に設定されます。
明るい状態 | Type | 値 |
---|---|---|
LightAmbient[n] | float4 | D3DLIGHT9 のアンビエント メンバーを参照してください。 |
LightAttenuation0[n] | float | D3DLIGHT9 の減衰 0 メンバーを参照してください。 |
LightAttenuation1[n] | float | D3DLIGHT9 の減衰 1 メンバーを参照してください。 |
LightAttenuation2[n] | float | D3DLIGHT9 の減衰 2 メンバーを参照してください。 |
LightDiffuse[n] | float4 | D3DLIGHT9 の拡散メンバーを参照してください。 |
LightDirection[n] | float3 | D3DLIGHT9 の Direction メンバーを参照してください。 |
LightEnable[n] | bool | TRUE または FALSE。 LightEnable の bEnable 引数を参照してください。 |
LightFalloff[n] | float | D3DCOLORVALUE。 D3DLIGHT9 の Falloff メンバーを参照してください。 |
LightPhi[n] | float | D3DLIGHT9 の Phi メンバーを参照してください。 |
LightPosition[n] | float3 | D3DLIGHT9 の Position メンバーを参照してください。 |
LightRange[n] | float | D3DLIGHT9 の Range メンバーを参照してください。 |
LightSpecular[n] | float4 | D3DLIGHT9 の反射メンバーを参照してください。 |
LightTheta[n] | float | D3DLIGHT9 の Theta メンバーを参照してください。 |
LightType[n] | dword | D3DLIGHT_ プレフィックスのない最大 n 個の D3DLIGHTTYPE 値の配列と同じ値。 |
例:
LightEnable[0] = TRUE;
LightType[0] = POINT;
LightPosition[0] = float3<10.0f, 1.0f, 23.0f>;
LightAmbient[0] = float4<0.7f, 0.0f, 0.0f, 1.0f>;
これにより、照明を有効にし、ポイント 照明をタイプにし、ライトの位置を float3<10.0f、1.0f、23.0f> に設定し、アンビエント カラーを float4<0.7f、0.0f、0.0f、1.0f> に設定します。
宣言に失敗した状態は、Direct3D でマテリアルの状態を個別に設定する方法がないため、既定値に設定されます。
マテリアルの状態 | Type | 値 |
---|---|---|
MaterialAmbient | float4 | アンビエントと同じ値 |
MaterialDiffuse | float4 | 拡散と同じ値 |
MaterialEmissive | float4 | Emissive と同じ値 |
MaterialPower | float | Power と同じ値 |
MaterialSpecular | float4 | 反射と同じ値 |
例:
MaterialDiffuse = float4<0.7f, 0.0f, 0.0f, 1.0f>;
MaterialPower = 3.0f;
これにより、拡散色が float4<0.7f、0.0f、0.0f、1.0f> に設定され、マテリアルの累乗が 3.0f になります。
レンダリング状態には、次の 2 種類があります。
効果ファイルのレンダリング状態には、固定関数パイプラインの状態に似た名前があり、多くの場合、プレフィックスは削除されます。
レンダリングの状態 | Type | 値 |
---|---|---|
AlphaBlendEnable | bool | True または False。 D3DRENDERSTATETYPE のD3DRS_ALPHABLENDENABLEと同じ値。 |
AlphaFunc | dword | D3DCMP_ プレフィックスのない D3DCMPFUNC と同じ値。 「D3DRS_ALPHAFUNC」を参照してください。 |
AlphaRef | dword | D3DRS_ALPHAREFと同じ値。 |
AlphaTestEnable | dword | True または False。 「D3DRS_ALPHATESTENABLE」を参照してください。 |
BlendOp | dword | D3DBLENDOP_ プレフィックスのない D3DBLENDOP と同じ値。 |
ColorWriteEnable | dword | RED、GREEN、BLUE、ALPHA のビットごとの組み合わせ。 「D3DRS_COLORWRITEENABLE」を参照してください。 |
DepthBias | float | D3DRS_DEPTHBIASと同じ値。 |
DestBlend | dword | D3DBLEND_ プレフィックスのない D3DBLEND と同じ値。 |
DitherEnable | bool | True または False。 D3DRS_DITHERENABLEと同じ値。 |
FillMode | dword | D3DFILL_ プレフィックスのない D3DFILLMODE と同じ値。 |
LastPixel | dword | True または False。 「D3DRS_LASTPIXEL」を参照してください。 |
ShadeMode | dword | D3DSHADE_ プレフィックスのない D3DSHADEMODE と同じ値。 |
SlopeScaleDepthBias | float | D3DRS_SLOPESCALEDEPTHBIASと同じ値。 |
SrcBlend | dword | D3DBLEND_ プレフィックスのない D3DBLEND と同じ値。 |
SRGBWriteEnable | bool | True または False。 D3DRS_SRGBWRITEENABLEと同じ値。 |
StencilEnable | bool | True または False。 D3DRS_STENCILENABLEと同じ値。 |
StencilFail | dword | D3DSTENCILCAP_ プレフィックスのない D3DSTENCILCAPS と同じ値。 「D3DRS_STENCILFAIL」を参照してください。 |
StencilFunc | dword | D3DCMP_ プレフィックスのない D3DCMPFUNC と同じ値。 「D3DRS_STENCILFUNC」を参照してください。 |
StencilMask | dword | D3DRS_STENCILMASKと同じ値。 |
StencilPass | dword | D3DSTENCILCAP_ プレフィックスのない D3DSTENCILCAPS と同じ値。 「D3DRS_STENCILPASS」を参照してください。 |
StencilRef | int | D3DRS_STENCILREFと同じ値。 |
StencilWriteMask | dword | D3DRS_STENCILWRITEMASKと同じ値。 |
StencilZFail | dword | D3DSTENCILCAP_ プレフィックスのない D3DSTENCILCAPS と同じ値。 「D3DRS_STENCILZFAIL」を参照してください。 |
TextureFactor | dword | D3DCOLOR と同じ値。 D3DRS_TEXTUREFACTORと同じ値。 |
Wrap0 - Wrap15 | dword | 値は、D3DRS_WRAP0で使用される値と同じです。 有効な値は次のとおりです。
|
ZEnable | dword | D3DZB_ プレフィックスのない D3DZBUFFERTYPE と同じ値。 |
ZFunc | dword | D3DCMP_ プレフィックスのない D3DCMPFUNC と同じ値。 「D3DRS_ZFUNC」を参照してください。 |
ZWriteEnable | bool | True または False。 「D3DRS_ZWRITEENABLE」を参照してください。 |
例:
AlphaBlendEnable = TRUE;
FillMode = WIREFRAME;
これにより、アルファ ブレンドが有効になり、すべてのジオメトリがワイヤフレームでレンダリングされます。
効果ファイルのレンダリング状態には、固定関数パイプラインの状態に似た名前があり、多くの場合、プレフィックスは削除されます。
レンダリングの状態 | Type | 値 |
---|---|---|
環境光 | float4 | D3DRS_AMBIENTと同じ値。 |
AmbientMaterialSource | dword | D3DMCS_ プレフィックスのない D3DMATERIALCOLORSOURCE と同じ値。 「D3DRS_AMBIENTMATERIALSOURCE」を参照してください。 |
クリッピング | bool | True または False。 D3DRS_CLIPPINGと同じ値。 |
ClipPlaneEnable | dword | D3DCLIPPLANE0 - D3DCLIPPLANE5 マクロのビットごとの組み合わせ。 「D3DCLIPPLANEn」と「D3DRS_CLIPPLANEENABLE」を参照してください。 |
ColorVertex | bool | True または False。 D3DRS_COLORVERTEXと同じ値。 |
CullMode | dword | D3DCULL_ プレフィックスのない D3DCULL と同じ値。 |
DiffuseMaterialSource | dword | D3DMCS_ プレフィックスのない D3DMATERIALCOLORSOURCE と同じ値。 「D3DRS_DIFFUSEMATERIALSOURCE」を参照してください。 |
EmissiveMaterialSource | dword | D3DMCS_ プレフィックスのない D3DMATERIALCOLORSOURCE と同じ値。 「D3DRS_EMISSIVEMATERIALSOURCE」を参照してください。 |
FogColor | dword | D3DCOLOR と同じ値。 「D3DRS_FOGCOLOR」を参照してください。 |
FogDensity | float | D3DRS_FOGDENSITYと同じ値。 |
FogEnable | bool | True または False。 D3DRS_FOGENABLEと同じ値。 |
FogEnd | float | D3DRS_FOGENDと同じ値。 |
FogStart | float | D3DRS_FOGSTARTと同じ値。 |
FogTableMode | dword | D3DFOGMODE と同じ値。 「D3DRENDERSTATETYPE のD3DRS_FOGTABLEMODE」を参照してください。 |
FogVertexMode | dword | D3DFOG_ プレフィックスのない D3DFOGMODE と同じ値。 |
IndexedVertexBlendEnable | bool | True または False。 D3DRS_INDEXEDVERTEXBLENDENABLEと同じ値。 |
照明 | bool | True または False。 D3DRS_LIGHTINGと同じ値。 |
LocalViewer | bool | True または False。 D3DRS_LOCALVIEWERと同じ値。 |
MultiSampleAntialias | bool | D3DRS_MULTISAMPLEANTIALIASと同じ値。 |
MultiSampleMask | dword | D3DRS_MULTISAMPLEMASKと同じ値。 |
NormalizeNormals | bool | True または False。 D3DRS_NORMALIZENORMALSと同じ値。 |
PatchSegments | float | SetNPatchMode の nSegments と同じ値。 |
PointScale_A | float | D3DRS_POINTSCALE_Aと同じ値。 |
PointScale_B | float | D3DRS_POINTSCALE_Bと同じ値。 |
PointScale_C | float | D3DRS_POINTSCALE_Cと同じ値。 |
PointScaleEnable | bool | D3DRS_POINTSCALEENABLEと同じ値。 |
PointSize | float | D3DRS_POINTSIZEと同じ値。 |
PointSize_Min | float | D3DRS_POINTSIZE_MINと同じ値。 |
PointSize_Max | float | D3DRS_ プレフィックスのないD3DRS_POINTSIZE_MAXと同じ値。 |
PointSpriteEnable | bool | True または False。 D3DRS_POINTSPRITEENABLEと同じ値。 |
RangeFogEnable | bool | True または False。 D3DRS_RANGEFOGENABLEと同じ値。 |
反射可能 | bool | True または False。 D3DRS_SPECULARENABLEと同じ値。 |
SpecularMaterialSource | dword | D3DMCS_ プレフィックスのない D3DMATERIALCOLORSOURCE と同じ値。 「D3DRS_SPECULARMATERIALSOURCE」を参照してください。 |
TweenFactor | float | D3DRS_TWEENFACTORと同じ値。 |
VertexBlend | dword | D3DVBF_ プレフィックスのない D3DVERTEXBLENDFLAGS と同じ値。 「D3DRS_VERTEXBLEND」を参照してください。 |
例:
Ambient = float4<0.7f, 0.0f, 0.0f, 1.0f>;
CullMode = CCW;
FogColor = 0xff0000;
これにより、アンビエント カラー float4<0.7f、0.0f、0.0f、1.0f> になり、バックフェイス カリング モードを反時計回りに設定し、霧の色を赤に設定します。
サンプラーの状態は、サンプラー オブジェクトを表します。
State | Type | 値 |
---|---|---|
サンプラー | サンプラー | NULL、またはサンプラー状態ブロック。 |
サンプラー ステージの状態は、テクスチャのサンプリングに使用されます。 サンプラーの状態は、フィルターの種類とテクスチャのアドレス指定モードを決定します。
サンプラーの状態 | Type | 値 |
---|---|---|
AddressU[16] | dword | D3DTADDRESS_ プレフィックスのない D3DTEXTUREADDRESS と同じ値。 「D3DSAMP_ADDRESSU」を参照してください。 |
AddressV[16] | dword | D3DTADDRESS_ プレフィックスのない D3DTEXTUREADDRESS と同じ値。 「D3DSAMP_ADDRESSV」を参照してください。 |
AddressW[16] | dword | D3DTADDRESS_ プレフィックスのない D3DTEXTUREADDRESS と同じ値。 「D3DSAMP_ADDRESSW」を参照してください。 |
BorderColor[16] | D3DCOLOR | D3DTEXF_ プレフィックスのない D3DTEXTUREFILTERTYPE と同じ値。 「D3DSAMP_BORDERCOLOR」を参照してください。 |
MagFilter[16] | dword | D3DTEXF_ プレフィックスのない D3DTEXTUREFILTERTYPE と同じ値。 「D3DSAMP_MAGFILTER」を参照してください。 |
MaxAnisotropy[16] | dword | D3DSAMP_ プレフィックスのないD3DSAMP_MAXANISOTROPYと同じ値。 |
MaxMipLevel[16] | int | D3DSAMP_ プレフィックスのないD3DSAMP_MAXMIPLEVELと同じ値。 |
MinFilter[16] | dword | D3DSAMP_ プレフィックスのないD3DSAMP_MINFILTERと同じ値。 |
MipFilter[16] | dword | D3DSAMP_ プレフィックスのないD3DSAMP_MIPFILTERと同じ値。 |
MipMapLodBias[16] | float | D3DSAMP_ プレフィックスのないD3DSAMP_MIPMAPLODBIASと同じ値。 |
SRGBTexture | bool | D3DSAMP_ プレフィックスのないD3DSAMP_SRGBTEXTUREと同じ値。 |
例:
AddressU[0] = CLAMP;
AddressV[0] = CLAMP;
AddressW[0] = CLAMP;
これにより、UVW 値が 0 から 1 の間にクランプされます。
効果シェーダーの状態は 2 つだけです。1 つは頂点シェーダー オブジェクトに関連付け、もう 1 つはピクセル シェーダー オブジェクトに関連付けられています。
シェーダーの状態 | Type | 値 |
---|---|---|
PixelShader | pixelshader | NULL、アセンブリ ブロック、コンパイル ターゲット、またはピクセル シェーダー パラメーター。 |
VertexShader | vertexshader | NULL、アセンブリ ブロック、コンパイル ターゲット、またはピクセル シェーダー パラメーター。 |
例:
VertexShader = compile vs_1_1 VSTexture();
PixelShader = NULL;
これにより、.fx ファイルで以前に定義された頂点シェーダーである VSTexture が頂点シェーダー バージョン 1.1 にコンパイルされ、そのコンパイルされたシェーダーが頂点シェーダーとして設定されます。 ピクセル シェーダーは NULL に割り当てられます。
シェーダー定数の状態は、シェーダー定数パラメーターにアクセスするために使用されます。
シェーダー定数の状態 | Type | 値 |
---|---|---|
PixelShaderConstant | float[m[n]] | 浮動小数点の m x n 配列。m と n は省略可能です。 |
PixelShaderConstant1 | float4 | 1 つの 4D float。 |
PixelShaderConstant2 | float4x2 | 2つの4Dフロート。 |
PixelShaderConstant3 | float4x3 | 3つの4Dフロート。 |
PixelShaderConstant4 | float4x4 | 4 つの 4D フロート。 |
PixelShaderConstantB | bool[m[n]] | bools の m x n 配列。m と n は省略可能です。 |
PixelShaderConstantI | int[m[n]] | ints の m x n 配列。 m と n は省略可能です。 |
PixelShaderConstantF | float[m[n]] | m x n floats の配列。 m と n は省略可能です。 |
VertexShaderConstant | float[m[n]] | m x n floats の配列。 m と n は省略可能です。 |
VertexShaderConstant1 | float4 | 1 つの 4D float。 |
VertexShaderConstant2 | float4x2 | 2つの4Dフロート。 |
VertexShaderConstant3 | float4x3 | 3つの4Dフロート。 |
VertexShaderConstant4 | float4x4 | 4 つの 4D フロート。 |
VertexShaderConstantB | bool[m[n]] | ブール値の m x n 配列。 m と n は省略可能です。 |
VertexShaderConstantI | int[m[n]] | ints の m x n 配列。 m と n は省略可能です。 |
VertexShaderConstantF | float[m[n]] | m x n floats の配列。 m と n は省略可能です。 |
テクスチャの状態は、マルチテクスチャ ブレンダーによって使用されるテクスチャを初期化します。
テクスチャの状態 | Type | 値 |
---|---|---|
テクスチャ[8] | テクスチャ | NULL、またはテクスチャ パラメーター。 |
テクスチャ ステージの状態は、マルチテクスチャ ブレンダーでテクスチャとテクスチャ ステージを設定します。
テクスチャ ステージの状態 | Type | 値 |
---|---|---|
AlphaOp[8] | dword | D3DTOP_ プレフィックスのない D3DTEXTUREOP と同じです。 「D3DTSS_ALPHAOP」を参照してください。 |
AlphaArg0[8] | dword | D3DTA_ プレフィックスのない D3DTA と同じです。 「D3DTSS_ALPHAARG0」を参照してください。 |
AlphaArg1[8] | dword | D3DTA_ プレフィックスのない D3DTA と同じです。 「D3DTSS_ALPHAARG1」を参照してください。 |
AlphaArg2[8] | dword | D3DTA_ プレフィックスのない D3DTA と同じです。 「D3DTSS_ALPHAARG2」を参照してください。 |
ColorArg0[8] | dword | D3DTA_ プレフィックスのない D3DTA と同じです。 「D3DTSS_COLORARG0」を参照してください。 |
ColorArg1[8] | dword | D3DTA_ プレフィックスのない D3DTA と同じです。 「D3DTSS_COLORARG1」を参照してください。 |
ColorArg2[8] | dword | D3DTA_ プレフィックスのない D3DTA と同じです。 「D3DTSS_COLORARG2」を参照してください。 |
ColorOp[8] | dword | D3DTOP_ プレフィックスのない D3DTEXTUREOP と同じです。 「D3DTSS_COLOROP」を参照してください。 |
BumpEnvLScale[8] | float | D3DTSS_TCI プレフィックスのないD3DTSS_BUMPENVLSCALEと同じ値。 |
BumpEnvLOffset[8] | float | D3DTSS_TCI プレフィックスのないD3DTSS_BUMPENVLOFFSETと同じ値。 |
BumpEnvMat00[8] | float | D3DTSS_BUMPENVMAT00と同じ値。 |
BumpEnvMat01[8] | float | D3DTSS_BUMPENVMAT01と同じ値。 |
BumpEnvMat10[8] | float | D3DTSS_BUMPENVMAT10と同じ値。 |
BumpEnvMat11[8] | float | D3DTSS_BUMPENVMAT11と同じ値。 |
ResultArg[8] | dword | D3DTA_ プレフィックスのない D3DTA と同じです。 「D3DTSS_RESULTARG」を参照してください。 |
TexCoordIndex[8] | dword | D3DTSS_TCI プレフィックスのないD3DTSS_TEXCOORDINDEXと同じ値。 |
TextureTransformFlags[8] | dword | D3DTTFF_ プレフィックスのない D3DTEXTURETRANSFORMFLAGS 値と同じ値。 「D3DTSS_TEXTURETRANSFORMFLAGS」を参照してください。 |
変換の状態を設定して変換マトリックスを初期化します。 効果は、効率のために転置行列を使用します。 効果に入れ替えられた行列を指定することも、効果を使用する前に行列を自動的に入れ替えることができます。
変換の状態 | Type | 値 |
---|---|---|
ProjectionTransform | float4x4 | 浮動小数点数の 4 x 4 行列。 D3DTS_ プレフィックスのないD3DTS_PROJECTIONと同じ値。 |
TextureTransform[8] | float4x4 | 浮動小数点数の 4 x 4 行列。 D3DTS_ プレフィックスのない D3DTRANSFORMSTATETYPE と同じ値。 |
ViewTransform | float4x4 | 浮動小数点数の 4 x 4 行列。 D3DTS_ プレフィックスのないD3DTS_VIEWと同じ値。 |
WorldTransform | float4x4 | 浮動小数点数の 4 x 4 行列。 |
トレーニング
ラーニング パス
FastTrack サービス、データ管理などを使用して、財務と運用アプリの実装を成功させるためのプロジェクト方法論を計画および設計します。