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


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

Описывает экземпляр трассировки лучей. Эта структура данных используется в памяти GPU во время сборки структуры ускорения и полезна при создании данных экземпляра на ЦП, а затем отправке в GPU.

Синтаксис

typedef struct D3D12DDI_RAYTRACING_INSTANCE_DESC_0054 {
  FLOAT                        Transform[3][4];
  UINT                         InstanceID : 24;
  UINT                         InstanceMask : 8;
  UINT                         InstanceContributionToHitGroupIndex : 24;
  UINT                         Flags : 8;
  D3D12DDI_GPU_VIRTUAL_ADDRESS AccelerationStructure;
} D3D12DDI_RAYTRACING_INSTANCE_DESC_0054;

Члены

Transform[3]

Матрица преобразования 3x4 в главном макете строки, представляющая преобразование экземпляра в мир.

InstanceID

Произвольное 24-разрядное значение в типах шейдеров.

InstanceMask

8-разрядная маска, назначенная экземпляру, которая может использоваться для включения или отклонения групп экземпляров на основе каждого луча. Если значение равно нулю, экземпляр никогда не будет включен. Задайте для этого значения значение, отличное от нуля.

InstanceContributionToHitGroupIndex

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

Flags

Флаги, применяемые к экземпляру.

AccelerationStructure

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10 версии 1809
заголовка d3d12umddi.h