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

查詢的結果。

傳回值

備註

輸入加速結構描述與 BuildRaytracingAccelerationStructure 中的內容相同。 此函式的結果可讓應用程式提供正確的輸出記憶體數量和臨時記憶體,以在相同的幾何下 提供給 BuildRaytracingAccelerationStructure

建置也可以使用傳遞至 GetAccelerationStructurePrebuildInfo 整體的相同組態來完成,但幾何/實例數目的相等或較小計數,或任何指定幾何中的頂點/索引/AAB 數目除外。 在此情況下,回報原始大小傳遞給 GetRaytracingAccelerationStructurePrebuildInfo 的記憶體需求將會有效– 組建實際上可能會耗用較少的空間,但不會耗用更多空間。 這對於為加速結構配置保守大型記憶體的應用程式案例而言相當實用。

此方法位於裝置介面上,而不是假設驅動程式必須能夠計算加速結構建置的資源需求,而不需要取值包含實際頂點數據、索引數據等 GPU 記憶體的任何指標。

規格需求

需求
最低支援的用戶端 Windows 10 版本 1809 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2016 [僅限傳統型應用程式]
目標平台 Windows
標頭 d3d12.h
程式庫 D3d12.lib
Dll D3d12.dll

另請參閱

ID3D12Device5