Поделиться через


Метод 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.

Реализация позволяет просмотреть все параметры ЦП в этой структуре и вложенных структур. Он не может проверять или разыменовывать виртуальные адреса GPU, кроме проверка, чтобы узнать, имеет ли указатель значение NULL или нет, например необязательное преобразование в D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC, без разыменовки. Иными словами, вычисление требований к ресурсам для структуры ускорения не зависит от фактических геометрических данных (например, положений вершин), а может зависеть только от общих свойств, таких как число треугольников, количество экземпляров и т. д.

[out] pInfo

Результат запроса.

Возвращаемое значение

None

Remarks

Описание структуры ускорения входных данных совпадает с описанием в BuildRaytracingAccelerationStructure. Результат этой функции позволяет приложению предоставить правильный объем хранилища выходных данных и временное хранилище для BuildRaytracingAccelerationStructure, учитывая ту же геометрию.

Сборки также можно выполнять с той же конфигурацией, переданной в GetAccelerationStructurePrebuildInfo в целом, за исключением равного или меньшего количества геометрий или экземпляров или числа вершин, индексов и AABB в любой заданной геометрии. В этом случае требования к хранилищу, сообщаемые с исходными размерами, переданными в GetRaytracingAccelerationStructurePrebuildInfo , будут действительными — сборка может занимать меньше места, но не больше. Это удобно для сценариев приложений, где для структур ускорения выделяется консервативно большое хранилище.

Этот метод используется в интерфейсе устройства, в отличие от списка команд, так как предполагается, что драйверы должны иметь возможность вычислять требования к ресурсам для структуры ускорения, исходя из просмотра только видимых ЦП частей вызова без разыменования указателей на память GPU, содержащую фактические данные вершин, данные индекса и т. д.

Требования

Требование Значение
Минимальная версия клиента Windows 10, версия 1809 [только классические приложения]
Минимальная версия сервера Windows Server 2016 [только классические приложения]
Целевая платформа Windows
Header d3d12.h
Библиотека D3d12.lib
DLL D3d12.dll

См. также раздел

ID3D12Device5