Skip to main content
描述深度模板状态。

语法

成员

DepthEnable
类型:BOOL
指定是否启用深度测试。将此成员设置为 TRUE 可启用深度测试。 DepthWriteMask
类型:D3D12_DEPTH_WRITE_MASK
一个 D3D12_DEPTH_WRITE_MASK 类型的值,用于标识深度模板缓冲区中可由深度数据修改的部分。 DepthFunc
类型:D3D12_COMPARISON_FUNC
一个 D3D12_COMPARISON_FUNC 类型的值,用于标识将深度数据与现有深度数据进行比较的函数。 StencilEnable
类型:BOOL
指定是否启用模板测试。将此成员设置为 TRUE 可启用模板测试。 StencilReadMask
类型:UINT8
标识深度模板缓冲区中用于读取模板数据的部分。 StencilWriteMask
类型:UINT8
标识深度模板缓冲区中用于写入模板数据的部分。 FrontFace
类型:D3D12_DEPTH_STENCILOP_DESC
一个 D3D12_DEPTH_STENCILOP_DESC 结构,描述如何为表面法线朝向摄像机的像素使用深度测试和模板测试的结果。 BackFace
类型:D3D12_DEPTH_STENCILOP_DESC
一个 D3D12_DEPTH_STENCILOP_DESC 结构,描述如何为表面法线背向摄像机的像素使用深度测试和模板测试的结果。

备注

D3D12_GRAPHICS_PIPELINE_STATE_DESC 对象包含一个深度模板状态结构,用于控制输出合并阶段如何执行深度模板测试。 下表显示了深度模板状态的默认值。
状态默认值
DepthEnableTRUE
DepthWriteMaskD3D12_DEPTH_WRITE_MASK_ALL
DepthFuncD3D12_COMPARISON_FUNC_LESS
StencilEnableFALSE
StencilReadMaskD3D12_DEFAULT_STENCIL_READ_MASK
StencilWriteMaskD3D12_DEFAULT_STENCIL_WRITE_MASK
FrontFace.StencilFailOpBackFace.StencilFailOpD3D12_STENCIL_OP_KEEP
FrontFace.StencilDepthFailOpBackFace.StencilDepthFailOpD3D12_STENCIL_OP_KEEP
FrontFace.StencilPassOpBackFace.StencilPassOpD3D12_STENCIL_OP_KEEP
FrontFace.StencilFuncBackFace.StencilFuncD3D12_COMPARISON_FUNC_ALWAYS
支持模板的格式是 DXGI_FORMAT_D24_UNORM_S8_UINT 和 DXGI_FORMAT_D32_FLOAT_S8X24_UINT。

要求

头文件: d3d12_xs.h 或 d3d12_x.h
库: d3d12_xs.lib 或 d3d12_x.lib
支持的平台:XBOX Series 主机和 XBOX One 系列

另请参阅

CD3DX12_DEPTH_STENCIL_DESC 核心结构
最后修改于 2026年8月24日