структура D3D12DDIARG_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_0054 (d3d12umddi.h)

Описание структуры ускорения для построения.

Синтаксис

typedef struct D3D12DDIARG_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_0054 {
  D3D12DDI_GPU_VIRTUAL_ADDRESS                                              DestAccelerationStructureData;
  D3D12DDI_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0054              Inputs;
  D3D12DDI_GPU_VIRTUAL_ADDRESS                                              SourceAccelerationStructureData;
  D3D12DDI_GPU_VIRTUAL_ADDRESS                                              ScratchAccelerationStructureData;
  UINT                                                                      NumPostbuildInfoDescs;
  const D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC_0054 *pPostbuildInfoDescs;
} D3D12DDIARG_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_0054;

Члены

DestAccelerationStructureData

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

Начальный адрес должен быть выровнен по 256 байтам.

Память, на который указывает, должна находиться в состоянии ресурса D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE.

Inputs

Структура D3D12DDI_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0054 , представляющая входные данные сборки ускорения трассировки лучей.

SourceAccelerationStructureData

Укажите существующую структуру ускорения, если запрашивается обновление структуры ускорения, например добавочная сборка, задав D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE в перечислении D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS . В противном случае этот адрес должен иметь значение NULL.

Если этот адрес совпадает с адресом DestAccelerationStructureData, обновление должно выполняться на месте. Любая другая форма перекрытия исходной и целевой памяти является недопустимой и приводит к неопределенному поведению.

Адрес должен быть выровнен по 256 байтам.

Память, на который указывает, должна находиться в состоянии ресурса D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE.

ScratchAccelerationStructureData

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

Начальный адрес должен быть выровнен по 256 байтам. Содержимое этой памяти, внося в сборку на временная шкала GPU, не имеет значения и не сохраняется. После завершения сборки на временная шкала GPU память остается с неопределенным содержимым, с которым завершена сборка.

Память, на который указывает, должна находиться в состоянии ресурса D3D12DDI_RESOURCE_STATE_UNORDERED_ACCESS.

NumPostbuildInfoDescs

Количество смежных структур D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC_0054 .

pPostbuildInfoDescs

Указывает на массив numPostbuildInfoDescs, указывающих на D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC_0054 структуры.

Требования

Требование Значение
Минимальная версия клиента Windows 10, версия 1809
Верхняя часть d3d12umddi.h