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 |