Share via


Direct3D 10 (效果狀態群組)

效果狀態是運算式形式的名稱/值組。

混合狀態

效果狀態 群組
ALPHATOCOVERAGEENABLEBLENDENABLESRCBLENDDESTBLENDBLENDOPSRCBLENDALPHADESTBLENDALPHABLENDOPALPHARENDERTARGETWRITEMASK D3D10_BLEND_DESC的成員

深度和樣板狀態

效果狀態 群組
DEPTHENABLEDEPTHWRITEMASKDEPTHFUNCSTENCILENABLESTENCILREADMASKSTENCILWRITEMASK D3D10_DEPTH_STENCIL_DESC的成員
FRONTFACESTENCILFAILFRONTFACESTENCILZFAILFRONTFACESTENCILPASSFRONTFACESTENCILFUNCBACKFACESTENCILFAILBACKFACESTENCILZFAILBACKFACESTENCILPASSBACKFACESTENCILFUNC D3D10_DEPTH_STENCILOP_DESC的成員

點陣化狀態

效果狀態 群組
FILLMODE D3D10_FILL_MODE
CULLMODE D3D10_CULL_MODE
FRONTCOUNTERCLOCKWISEDEPTHBIASDEPTHBIASCLAMPSLOPESCALEDDEPTHBIASZCLIPENABLESCISSORENABLEMULTISAMPLEENABLEANTIALIASEDLINEENABLE D3D10_RASTERIZER_DESC的成員

取樣器狀態

效果狀態 群組
FilterAddressUAddressVAddressWMipLODBiasMaxAnisotropyComparisonFuncBorderColorMinLODMaxLOD D3D10_SAMPLER_DESC的成員

如需範例 ,請參閱 Sampler type (DirectX HLSL)

效果物件狀態

這個效果物件 對應至
RASTERIZERSTATE 點陣化狀態物件。
DEPTHSTENCILSTATE 深度和樣板狀態物件。
BLENDSTATE Blend State狀態物件。
VERTEXSHADER 編譯的頂點著色器物件。
PIXELHADER 已編譯的圖元著色器物件。
GEOMETRYSHADER 編譯的幾何著色器物件。
DS_STENCILREF AB_BLENDFACTOR AB_SAMPLEMASK D3D10_PASS_DESC的成員。

定義和使用狀態物件

狀態物件會以下列格式以 FX 檔案宣告。 StateObjectType 是上述其中一個狀態, 而 MemberName 是任何將具有非預設值的成員名稱。

StateObjectType ObjectName {
 MemberName = value;
 ...
 MemberName = value;
};

例如,若要使用 AlphaToCoverageEnable 和 BlendEnable[0] 設定混合狀態 物件,請使用下列程式碼。

BlendState NoBlend {
 AlphaToCoverageEnable = FALSE;
 BlendEnable[0] = FALSE;
};

狀態物件會套用至使用 效果技術語法 (Direct3D 10 ) 中所述的 SetStateGroup 函式傳遞。 例如,若要套用上述 BlendState 物件,則會使用下列程式碼。

SetBlendState( NoBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF );

如需描述狀態使用方式的教學課程,請參閱 狀態管理