ID3D12GraphicsCommandList1::OMSetDepthBounds 方法 (d3d12.h)
使用此方法可以动态更改深度边界。
语法
void OMSetDepthBounds(
[in] FLOAT Min,
[in] FLOAT Max
);
参数
[in] Min
类型: FLOAT
SAL: In
指定最小深度边界。 默认值为 0。 NaN 值以无提示方式转换为 0。
[in] Max
类型: FLOAT
SAL: In
指定最大深度边界。 默认值为 1。 NaN 值以无提示方式转换为 0。
返回值
无
备注
如果当前存储的深度值超出 Min 和 Max(含)指定的范围,则深度边界测试允许放弃像素和样本。 如果像素或样本的当前存储深度值在此范围内,则深度边界测试通过并呈现;否则,深度边界测试失败,像素或样本将被丢弃。 请注意,深度边界测试考虑当前存储的深度值,而不是执行像素着色器生成的深度值。
若要使用深度边界测试,应用程序必须使用新的 CreatePipelineState 方法在 PSO 上启用深度边界测试,然后使用此命令列表方法动态更改深度边界。
OMSetDepthBounds 是一项可选功能。 使用 CheckFeatureSupport 方法可确定用户模式驱动程序是否支持此功能。 通过 D3D12_FEATURE_D3D12_OPTIONS2 结构报告对此功能的支持。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | d3d12.h |
Library | D3d12.lib |
DLL | D3d12.dll |