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


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

Результат запроса (в структуре D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO).

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

Никакой

Замечания

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

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10 версии 1809 [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2016 [только классические приложения]
целевая платформа Виндоус
заголовка d3d12.h
библиотеки D3d12.lib
DLL D3d12.dll

См. также

ID3D12Device5