D3D12_DEPTH_STENCIL_DESC 結構 (d3d12.h)
描述深度樣板狀態。
語法
typedef struct D3D12_DEPTH_STENCIL_DESC {
BOOL DepthEnable;
D3D12_DEPTH_WRITE_MASK DepthWriteMask;
D3D12_COMPARISON_FUNC DepthFunc;
BOOL StencilEnable;
UINT8 StencilReadMask;
UINT8 StencilWriteMask;
D3D12_DEPTH_STENCILOP_DESC FrontFace;
D3D12_DEPTH_STENCILOP_DESC BackFace;
} D3D12_DEPTH_STENCIL_DESC;
成員
DepthEnable
指定是否啟用深度測試。 將此成員設定為 TRUE 以啟用深度測試。
DepthWriteMask
D3D12_DEPTH_WRITE_MASK型別值,可識別深度樣板緩衝區的一部分,可由深度資料修改。
DepthFunc
D3D12_COMPARISON_FUNC型別值,可識別與現有深度資料比較深度資料的函式。
StencilEnable
指定是否啟用樣板測試。 將此成員設定為 TRUE 以啟用樣板測試。
StencilReadMask
識別用於讀取樣板資料的深度樣板緩衝區部分。
StencilWriteMask
識別用於寫入樣板資料的深度樣板緩衝區部分。
FrontFace
D3D12_DEPTH_STENCILOP_DESC結構,描述如何使用深度測試的結果,以及表面正常面向相機之圖元的樣板測試。
BackFace
D3D12_DEPTH_STENCILOP_DESC結構,描述如何使用深度測試的結果,以及表面正常與相機相隔的圖元樣板測試。
備註
D3D12_GRAPHICS_PIPELINE_STATE_DESC物件包含深度樣板狀態結構,可控制輸出合併階段執行深度樣板測試的方式。
下表顯示深度樣板狀態的預設值。
狀態 | 預設值 |
---|---|
DepthEnable | true |
DepthWriteMask | D3D12_DEPTH_WRITE_MASK_ALL |
DepthFunc | D3D12_COMPARISON_FUNC_LESS |
樣板Enable | FALSE |
StencilReadMask | D3D12_DEFAULT_STENCIL_READ_MASK |
StencilWriteMask | D3D12_DEFAULT_STENCIL_WRITE_MASK |
FrontFace.StencilFailOp 及 BackFace.StencilFailOp |
D3D12_STENCIL_OP_KEEP |
FrontFace.StencilDepthFailOp 及 BackFace.StencilDepthFailOp |
D3D12_STENCIL_OP_KEEP |
FrontFace.StencilPassOp 及 BackFace.StencilPassOp |
D3D12_STENCIL_OP_KEEP |
FrontFace.StencilFunc 及 BackFace.StencilFunc |
D3D12_COMPARISON_FUNC_ALWAYS |
支援DXGI_FORMAT_D24_UNORM_S8_UINT和DXGI_FORMAT_D32_FLOAT_S8X24_UINT的格式。
需求
標頭 | d3d12.h |