Трассировка лучей DirectX
DirectX Raytracing ( DXR ) — это функция, представленная в Microsoft от DirectX 12 , которая реализует трассировку лучей для рендеринга видеографики. DXR был выпущен вместе с октябрьским обновлением Windows 10 (версия 1809) 10 октября 2018 г. Для него требуется видеокарта AMD Radeon RX 6000 серии , AMD Radeon RX 7000 серии , Intel Arc A серии или Nvidia GeForce 20 , 30 или 40 серии. видеокарта card , которая предназначена для обработки высокой вычислительной нагрузки, используемой для трассировки лучей.
Дополнения к DirectX 12
[ редактировать ]
С появлением DXR в октябре в DirectX 12 были добавлены четыре новые функции: [1]
- Структура ускорения — это представление трехмерной среды, эффективно отформатированное для графического процессора. Эта среда представляет собой плоскость, которая используется для создания отправных точек. Структура позволяет вносить изменения и оптимизирует прохождение лучей.
- Список команд DispatchRays — это начало лучей, которые используются для создания графики отражения. Они используются графическим процессором для начала процесса трассировки лучей.
- новые HLSL шейдеры , генерация лучей, ближайшее попадание, любое попадание и промах Используемые описывают в вычислительном отношении, что делает DXR при рендеринге трассировки лучей. Эти шейдеры используют функцию TraceRay в HLSL для трассировки лучей в окружающей среде. Когда луч взаимодействует с сгенерированной плоскостью, он может вызвать один из многих выбранных шейдеров попадания или промаха. Вариации шейдеров попадания и промаха создают разные текстуры.
- Состояние конвейера трассировки лучей — аналог текущих объектов состояния конвейера графики и вычислений. Объекты состояния конвейера — это аппаратные настройки, которые определяют, как графический процессор интерпретирует и отображает информацию. [2]
Технические детали
[ редактировать ]
![]() | этого раздела Фактическая точность оспаривается . ( Август 2022 г. ) |
DXR начинается с отправки луча из каждого пикселя на заданной плоскости и вычисляет, на какие объекты на плоскости луч попадает первым. Затем алгоритм DXR оценивает количество света в месте пересечения луча с объектом и привязывает полученные результаты к объекту. Объекты могут иметь разные свойства, которые будут поглощать или отражать свет с разной скоростью. Чтобы предотвратить бесконечные отскоки луча, DXR остановит вычисления после определенного количества пересечений. Лучи, которые никогда не взаимодействуют с объектом, отслеживаются на предмет того, как далеко они прошли. Это необходимо для того, чтобы алгоритм понимал, когда лучи зашли слишком далеко. [1]
Обновления
[ редактировать ]DXR был выпущен для публики 10 октября 2018 г. вместе с октябрьским обновлением Windows 10 (версия 1809). [3]
Первое крупное обновление DXR было сделано 27 мая 2020 года с майским обновлением Windows 10 (версия 2004). В майском обновлении реализован DXR Tier 1.1, который позволяет игровым движкам выполнять вычисления в реальном времени, что делает графику трассировки лучей быстрее и эффективнее. [4] [5]
Ссылки
[ редактировать ]- ^ Jump up to: а б «Анонсируем трассировку лучей Microsoft DirectX!» . Блог разработчиков DirectX . 19 марта 2018 г. Проверено 27 октября 2020 г.
- ^ Стивихимс. «Управление состоянием графического конвейера в приложениях Direct3D 12 — Win32» . docs.microsoft.com . Проверено 16 ноября 2020 г.
- ^ «Трассировка лучей DirectX и обновление Windows 10 за октябрь 2018 г.» . Блог разработчиков DirectX . 02.10.2018 . Проверено 27 октября 2020 г.
- ^ «Пакеты обновлений функций Windows 10, май 2020 г., v2004 20H1: DirectX 12 Ultimate, улучшенная поддержка трассировки лучей, шейдер DirectX Mesh и многие другие функции для игр на ПК» . Appuals.com . 12 мая 2020 г. Проверено 27 октября 2020 г.
- ^ «Трассировка лучей DirectX (DXR) уровня 1.1» . Блог разработчиков DirectX . 06.11.2019 . Проверено 27 октября 2020 г.