ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo 方法 (d3d12.h)
查詢驅動程式以取得資源需求,以建置加速結構。
語法
void GetRaytracingAccelerationStructurePrebuildInfo(
[in] const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
[out] D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *pInfo
);
參數
[in] pDesc
加速結構建置的描述。 此結構會與 BuildRaytracingAccelerationStructure共用。 如需詳細資訊,請參閱 D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS。
允許實作查看此結構中的所有CPU參數和巢狀結構。 它可能不會檢查/取值任何 GPU 虛擬位址,但檢查指標是否為 NULL,例如 D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC中的選擇性轉換,而不需取值。 換句話說,加速結構的資源需求計算不取決於實際的幾何數據(例如頂點位置),而是只能依賴整體屬性,例如三角形數目、實例數目等。
[out] pInfo
查詢的結果(在 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO 結構中)。
傳回值
沒有
言論
輸入加速結構描述與 BuildRaytracingAccelerationStructure相同。 此函式的結果可讓應用程式提供正確的輸出記憶體數量和臨時記憶體,以 提供相同幾何的 BuildRaytracingAccelerationStructure。
建置也可以透過傳遞至 getAccelerationStructurePrebuildInfo 的相同組態來完成 整體,但幾何/實例數目的相等或較小計數,或任何指定幾何中的頂點/索引/AAB 數目除外。 在此情況下,以傳遞 至 getRaytracingAccelerationStructurePrebuildInfo 的原始大小回報的記憶體需求將會有效 –組建實際上可能會耗用較少的空間,但不會耗用更多空間。 這對於為加速結構配置保守大型記憶體的應用程式案例來說,這是很方便的。
這個方法位於裝置介面上,而不是命令清單,假設驅動程式必須能夠計算加速結構建置的資源需求,而只需查看呼叫的 CPU 可見部分,而不需要取值包含實際頂點數據、索引數據等的 GPU 記憶體指標。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 10 版本 1809 [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2016 [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | d3d12.h |
連結庫 | D3d12.lib |
DLL | D3d12.dll |