效果狀態群組 (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 );
相關主題