Метод ID3D12GraphicsCommandList4::CopyRaytracingAccelerationStructure (d3d12.h)

Копирует структуру ускорения источника в целевую память при применении указанного преобразования.

Синтаксис

void CopyRaytracingAccelerationStructure(
  [in] D3D12_GPU_VIRTUAL_ADDRESS                         DestAccelerationStructureData,
  [in] D3D12_GPU_VIRTUAL_ADDRESS                         SourceAccelerationStructureData,
  [in] D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode
);

Параметры

[in] DestAccelerationStructureData

Целевая память. Требуемый размер можно обнаружить, предварительно вызвав EmitRaytracingAccelerationStructurePostbuildInfo , если это необходимо для указанного режима.

Начальный адрес назначения должен быть выровнен по 256 байтам, определенным как D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT, независимо от указанного режима.

Диапазон памяти назначения не может перекрывать источник. В противном случае результаты будут неопределенными.

Состояние ресурса, в которое должна находиться память, зависит от параметра Mode . Дополнительные сведения см. в разделе D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.

[in] SourceAccelerationStructureData

Адрес структуры ускорения или другого типа данных для копирования или преобразования в зависимости от указанного режима. Данные остаются неизменными и пригодными для использования. Операция копирует только данные, на которые указывает SourceAccelerationStructureData , но не любые другие данные, такие как структуры ускорения, на которые могут указывать исходные данные. Например, в случае структуры ускорения верхнего уровня все структуры ускорения нижнего уровня, на которые она указывает, не копируются в операции.

Исходная память должна быть выровнена до 256 байт, определенных как D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT, независимо от указанного режима.

Состояние ресурса, в которое должна находиться память, зависит от параметра Mode . Дополнительные сведения см. в разделе D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.

[in] Mode

Тип выполняемой операции копирования. Дополнительные сведения см. в разделе D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.

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

None

Remarks

Так как структуры ускорения луча могут содержать внутренние указатели и иметь непрозрачный макет, зависящий от устройства, для копирования ими или управления ими требуется выделенный API, чтобы драйверы могли обрабатывать запрошенную операцию.

Этот метод можно вызывать из списков графических или вычислительных команд, но не из пакетов.

Требования

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

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

ID3D12GraphicsCommandList4