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