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 |
程式庫 | D3d12.lib |
Dll | D3d12.dll |