D3D12_DEPTH_STENCIL_DESC1 結構 (d3d12.h)
描述深度樣板狀態。
語法
typedef struct D3D12_DEPTH_STENCIL_DESC1 {
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;
BOOL DepthBoundsTestEnable;
} D3D12_DEPTH_STENCIL_DESC1;
成員
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 結構,描述如何使用深度測試的結果,以及表面正常與相機相隔的像素樣板測試。
DepthBoundsTestEnable
TRUE 可啟用深度界限測試;否則為 FALSE。 預設值為 FALSE。
備註
D3D12_GRAPHICS_PIPELINE_STATE_DESC 物件包含深度樣板狀態結構,可控制輸出合併階段執行深度樣板測試的方式。
下表顯示深度樣板狀態的預設值。
狀態 | 預設值 |
---|---|
DepthEnable | TRUE |
DepthWriteMask | D3D12_DEPTH_WRITE_MASK_ALL |
DepthFunc | D3D12_COMPARISON_LESS |
樣板Enable | false |
StencilReadMask | D3D12_DEFAULT_STENCIL_READ_MASK |
StencilWriteMask | D3D12_DEFAULT_STENCIL_WRITE_MASK |
FrontFace.StencilFunc 及 BackFace.StencilFunc |
D3D12_COMPARISON_ALWAYS |
FrontFace.StencilDepthFailOp 及 BackFace.StencilDepthFailOp |
D3D12_STENCIL_OP_KEEP |
FrontFace.StencilPassOp 及 BackFace.StencilPassOp |
D3D12_STENCIL_OP_KEEP |
FrontFace.StencilFailOp 及 BackFace.StencilFailOp |
D3D12_STENCIL_OP_KEEP |
DepthBoundsTestEnable | false |
支援DXGI_FORMAT_D24_UNORM_S8_UINT和DXGI_FORMAT_D32_FLOAT_S8X24_UINT的格式。
規格需求
需求 | 值 |
---|---|
標頭 | d3d12.h |