Геометрия для лучей

В основе работы находятся acceleration structures. Нижний уровень обычно описывает геометрию, верхний — экземпляры и их преобразования. Такая организация позволяет многократно использовать объект без отдельной полной копии его геометрического описания для каждого размещения. Построение и обновление структур являются частью стоимости кадра.

В статичной интерьерной сцене подготовка может хорошо амортизироваться, а при большом числе деформируемых объектов требования меняются. Поэтому сравнение двух сцен только по числу видимых пикселей недостаточно: до самого shading renderer должен подготовить данные, пригодные для трассировки.

Два способа использовать лучи

В базовой модели DXR используются специализированные программы, shader tables и запуск DispatchRays. Tier 1.1 добавляет inline ray tracing через RayQuery, позволяя встроить запросы пересечения в другой программируемый путь. Это разные способы организации вычислений, а не две отдельные физические модели света.

Например, приложение может использовать запрос видимости для тени, но оставлять основную видимость поверхности растеризации. Другое приложение может строить длинные световые пути. Наличие DXR в обоих случаях не делает их результат или стоимость одинаковыми.

Что означает поддержка DXR

Microsoft связывает доступные возможности с сообщаемым устройством D3D12_RAYTRACING_TIER, драйвером и подходящим Agility SDK. В проверенной таблице есть и более новые tiers; статья объясняет устойчивые основы 1.0/1.1, не перенося новые возможности на старое оборудование.

Общего заявления «видеокарта поддерживает DirectX 12» недостаточно. Равно как наличие аппаратного RT не гарантирует, что renderer включил требуемый путь и поддерживает все функции сцены. Нужна проверка на уровне конкретной программы, версии и выбранного режима.

Логика процессаАвторская схема базового DXR workflow. Она упрощает ветвление программ и не является UI Microsoft.

DXR внутри гибридного кадра

В распространённой инженерной схеме разные эффекты используют разные методы: основная геометрия растеризуется, часть отражений или теней трассируется, затем данные фильтруются и собираются в кадр. Само количество лучей ограничено бюджетом, а восстановление изображения становится важным этапом.

Это объясняет, почему включение RT может улучшить определённый вид отражений, но не изменить другие недостатки сцены. Качество зависит от покрытия эффектов, материалов, выборок и временной обработки. Надпись ray tracing не является обещанием полного решения переноса света.

Как проверять результат

Практическая рекомендация: сравнивайте режимы на сценах, где ожидается конкретное отличие, например объект вне экранного кадра в отражении. Сохраняйте одинаковые камеру, экспозицию и output resolution. Отдельно исследуйте движение: временная фильтрация может давать следы, не видимые на статичном изображении.

Время кадра разделяют на построение структур, трассировку, shading и последующие операции, если инструмент это позволяет. При диагностике отключают по одному эффекту. Общая разница между двумя предустановками качества не является чистым измерением DXR.

Историческая точка отсчёта

Первичный анонс Microsoft датирован 19 марта 2018 года. Это дата объявления технологии, а не обещание доступности всех функций в тот день на каждом устройстве. История API и реальная внедрённая конфигурация продукта должны описываться отдельно.

Объект может отсутствовать в видимой камере части кадра, но влиять на отражение или тень. Если движок не включил его в доступную лучам acceleration structure, трассировка не восстановит недостающую геометрию сама. Поэтому исчезновение отражения при повороте камеры требует проверки состава RT-сцены и правил видимости. Это диагностический пример устройства данных, а не обещание полного отражения всей сцены любым DXR-приложением.