Функция TraceRay
Отправляет луч в поиск попаданий в структуре ускорения.
Синтаксис
Это встроенное определение функции эквивалентно следующему шаблону функции:
Template<payload_t>
void TraceRay(RaytracingAccelerationStructure AccelerationStructure,
uint RayFlags,
uint InstanceInclusionMask,
uint RayContributionToHitGroupIndex,
uint MultiplierForGeometryContributionToHitGroupIndex,
uint MissShaderIndex,
RayDesc Ray,
inout payload_t Payload);
Параметры
AccelerationStructure
Используемая структура ускорения верхнего уровня. Указание структуры ускорения NULL приводит к промаху.
RayFlags
Допустимое сочетание ray_flag значений. Система распространяет только определенные флаги лучей, т. е. видны встроенному шейдеру RayFlags .
InstanceInclusionMask
Целое число без знака, нижние 8 битов которого используются для включения или отклонения экземпляров geometry на основе InstanceMask в каждом экземпляре. Пример:
if(!((InstanceInclusionMask & InstanceMask) & 0xff)) { //ignore intersection }
RayContributionToHitGroupIndex
Целое число без знака, указывающее смещение, добавляемое при адресации вычислений в таблицах шейдеров для индексирования групп попаданий. Используются только 4 нижних бита этого значения.
MultiplierForGeometryContributionToHitGroupIndex
Целое число без знака, указывающее шаг для умножения на GeometryContributionToHitGroupIndex, который представляет собой только основанный на 0 индекс геометрии, предоставленный приложением в его структуре ускорения нижнего уровня. Используются только нижние 16 бит этого значения множителя.
MissShaderIndex
Целое число без знака, указывающее индекс промаха шейдера в таблице шейдеров.
Ray
Объект RayDesc, представляющий луч для трассировки.
Payload
Определяемые пользователем полезные данные луча, доступные как для входных, так и для выходных данных шейдерами, вызываемыми во время трассировки лучей. После завершения TraceRay вызывающий объект также сможет получить доступ к полезным данным.
Возвращаемое значение
void
Комментарии
Эту функцию можно вызвать из следующих типов шейдеров лучей:
См. также раздел