Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Структура, объявленная в HLSL для представления атрибутов попаданий для пересечения треугольника фиксированной функции или ограничивающего прямоугольника оси для процедурного примитивного пересечения.
Пересечение треугольника фиксированной функции
Следующая структура объявлена в HLSL для представления атрибутов попадания для пересечения треугольников фиксированной функции:
struct BuiltInTriangleIntersectionAttributes
{
float2 barycentrics;
};
Любой удар и ближайшие шейдеры попаданий , вызываемые с помощью пересечения треугольника фиксированной функции, должны использовать эту структуру для атрибутов попадания. Заданные атрибуты a0, a1 и a2 для 3 вершин треугольника, barycentrics.x является весом для a1 и barycentrics.y является весом для a2. Например, приложение может интерполироваться путем выполнения: a = a0 + barycentrics.x * (a1-a0) + barycentrics.y* (a2 – a0).
Выровненное по оси ограничивающее поле для процедурного примитивного пересечения
Если выровненные по оси ограничивающие прямоугольники используются для пересечения с процедурными примитивами, активируется шейдер пересечения. Этот шейдер предоставляет определяемую пользователем структуру атрибутов пересечения вызову ReportHit . Любой удар и ближайшие шейдеры попаданий, привязанные в той же группе попаданий с этим шейдером пересечения, должны использовать ту же структуру для атрибутов попадания, даже если атрибуты не ссылаются. Максимальный размер структуры атрибутов составляет 32 байта, определенных как D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES.