D3D12_DEPTH_STENCIL_DESC1 structure (d3d12.h)
Describes depth-stencil state.
Syntax
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;
Members
DepthEnable
Specifies whether to enable depth testing. Set this member to TRUE to enable depth testing.
DepthWriteMask
A D3D12_DEPTH_WRITE_MASK-typed value that identifies a portion of the depth-stencil buffer that can be modified by depth data.
DepthFunc
A D3D12_COMPARISON_FUNC-typed value that identifies a function that compares depth data against existing depth data.
StencilEnable
Specifies whether to enable stencil testing. Set this member to TRUE to enable stencil testing.
StencilReadMask
Identify a portion of the depth-stencil buffer for reading stencil data.
StencilWriteMask
Identify a portion of the depth-stencil buffer for writing stencil data.
FrontFace
A D3D12_DEPTH_STENCILOP_DESC structure that describes how to use the results of the depth test and the stencil test for pixels whose surface normal is facing towards the camera.
BackFace
A D3D12_DEPTH_STENCILOP_DESC structure that describes how to use the results of the depth test and the stencil test for pixels whose surface normal is facing away from the camera.
DepthBoundsTestEnable
TRUE to enable depth-bounds testing; otherwise, FALSE. The default value is FALSE.
Remarks
A D3D12_GRAPHICS_PIPELINE_STATE_DESC object contains a depth-stencil-state structure that controls how depth-stencil testing is performed by the output-merger stage.
This table shows the default values of depth-stencil states.
State | Default Value |
---|---|
DepthEnable | TRUE |
DepthWriteMask | D3D12_DEPTH_WRITE_MASK_ALL |
DepthFunc | D3D12_COMPARISON_LESS |
StencilEnable | FALSE |
StencilReadMask | D3D12_DEFAULT_STENCIL_READ_MASK |
StencilWriteMask | D3D12_DEFAULT_STENCIL_WRITE_MASK |
FrontFace.StencilFunc
and BackFace.StencilFunc |
D3D12_COMPARISON_ALWAYS |
FrontFace.StencilDepthFailOp
and BackFace.StencilDepthFailOp |
D3D12_STENCIL_OP_KEEP |
FrontFace.StencilPassOp
and BackFace.StencilPassOp |
D3D12_STENCIL_OP_KEEP |
FrontFace.StencilFailOp
and BackFace.StencilFailOp |
D3D12_STENCIL_OP_KEEP |
DepthBoundsTestEnable | FALSE |
The formats that support stenciling are DXGI_FORMAT_D24_UNORM_S8_UINT and DXGI_FORMAT_D32_FLOAT_S8X24_UINT.
Requirements
Requirement | Value |
---|---|
Header | d3d12.h |