共用方式為


效果狀態群組 (Direct3D 11)

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

混色狀態

效果狀態 群組
ALPHATOCOVERAGEENABLEBLENDENABLESRCBLENDDESTBLENDBLENDOP SRCBLENDALPHADESTBLENDALPHABLENDOPALPHARENDERTARGETWRITEMASK D3D11_BLEND_DESC的成員

 

深度和樣板狀態

效果狀態 群組
DEPTHENABLEDEPTHWRITEMASKDEPTHFUNCSTENCILENABLESTENCILREADMASKSTENCILWRITEMASK D3D11_DEPTH_STENCIL_DESC的成員
FRONTFACESTENCILFAILFRONTFACESTENCILZFAILFRONTFACESTENCILPASSFRONTFACESTENCILFUNCBACKFACESTENCILFAILBACKFACESTENCILZFAILBACKFACESTENCILPASSBACKFACESTENCILFUNC D3D11_DEPTH_STENCILOP_DESC的成員

 

轉譯器狀態

效果狀態 群組
FILLMODE D3D11_FILL_MODE
CULLMODE D3D11_CULL_MODE
FRONTCOUNTERCLOCKWISEDEPTHBIASDEPTHBIASCLAMPSLOPESCALEDDEPTHBIAS ZCLIPENABLESCISSORENABLEMULTISAMPLEENABLEANTIALIASEDLINEENABLE D3D11_RASTERIZER_DESC的成員

 

取樣器狀態

效果狀態 群組
篩選 AddressU AddressV AddressW MipLODBias MaxAnisotropy ComparisonFunc BorderColor MinLOD MaxLOD D3D11_SAMPLER_DESC的成員

 

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

效果物件狀態

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

 

定義和使用狀態物件

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

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

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

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

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

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

效果技術語法

效果格式 (Direct3D 11)