D3D11_DEPTH_STENCIL_DESC 結構 (d3d11.h)

描述深度樣板狀態。

語法

typedef struct D3D11_DEPTH_STENCIL_DESC {
  BOOL                       DepthEnable;
  D3D11_DEPTH_WRITE_MASK     DepthWriteMask;
  D3D11_COMPARISON_FUNC      DepthFunc;
  BOOL                       StencilEnable;
  UINT8                      StencilReadMask;
  UINT8                      StencilWriteMask;
  D3D11_DEPTH_STENCILOP_DESC FrontFace;
  D3D11_DEPTH_STENCILOP_DESC BackFace;
} D3D11_DEPTH_STENCIL_DESC;

成員

DepthEnable

類型: BOOL

啟用深度測試。

DepthWriteMask

類型: D3D11_DEPTH_WRITE_MASK

識別深度樣板緩衝區的一部分,該部分可由深度數據修改, (請參閱 D3D11_DEPTH_WRITE_MASK) 。

DepthFunc

類型: D3D11_COMPARISON_FUNC

比較深度數據與現有深度數據的函式。 函式選項會列在 D3D11_COMPARISON_FUNC中。

StencilEnable

類型: BOOL

啟用樣板測試。

StencilReadMask

類型: UINT8

識別用於讀取樣板數據的深度樣板緩衝區部分。

StencilWriteMask

類型: UINT8

識別用於寫入樣板數據的深度樣板緩衝區部分。

FrontFace

類型: D3D11_DEPTH_STENCILOP_DESC

識別如何使用深度測試和樣板測試的結果,以瞭解其表面正常面向相機的圖元, ( D3D11_DEPTH_STENCILOP_DESC) 。

BackFace

類型: D3D11_DEPTH_STENCILOP_DESC

識別如何使用深度測試和樣板測試的結果,以瞭解其表面正常與相機相隔的圖元 (D3D11_DEPTH_STENCILOP_DESC)

備註

傳遞指向 D3D11_DEPTH_STENCIL_DESC ID3D11Device::CreateDepthStencilState 方法的指標,以建立深度樣板狀態物件。

深度樣板狀態可控制輸出合併階段執行深度樣板測試的方式。

下表顯示深度樣板狀態的預設值。

狀態 預設值
DepthEnable TRUE
DepthWriteMask D3D11_DEPTH_WRITE_MASK_ALL
DepthFunc D3D11_COMPARISON_LESS
StencilEnable FALSE
StencilReadMask D3D11_DEFAULT_STENCIL_READ_MASK
StencilWriteMask D3D11_DEFAULT_STENCIL_WRITE_MASK
FrontFace.StencilFunc

BackFace.StencilFunc

D3D11_COMPARISON_ALWAYS
FrontFace.StencilDepthFailOp

BackFace.StencilDepthFailOp

D3D11_STENCIL_OP_KEEP
FrontFace.StencilPassOp

BackFace.StencilPassOp

D3D11_STENCIL_OP_KEEP
FrontFace.StencilFailOp

BackFace.StencilFailOp

D3D11_STENCIL_OP_KEEP
 

支援DXGI_FORMAT_D24_UNORM_S8_UINT和DXGI_FORMAT_D32_FLOAT_S8X24_UINT的格式。

規格需求

需求
標頭 d3d11.h

另請參閱

核心結構