структура 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