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

另請參閱

CD3DX12_DEPTH_STENCIL_DESC

核心結構