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

另請參閱

核心結構