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) 。
DepthFunc
比較深度數據與現有深度數據的函式。 函式選項會列在 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 |