DirectX Raytracing ( DXR ) является функцией , представленной в Microsoft «s DirectX 12 интерфейса прикладного программирования (API) , который реализует трассировку лучей , для видео графического рендеринга. DXR был выпущен с ОС Windows 10 обновлениями октября (версия 1809) 10 октября 2018. Это требует AMD Radeon RX 6000 серии или Nvidia GeForce 10 -, 20 - или 30 -ряд видеокарта , которая предназначена для обработки максимума вычислительная нагрузка, используемая для трассировки лучей.
Дополнения к DirectX 12
С появлением DXR в октябре в API DirectX 12 были добавлены четыре новые функции: [1]
- Структура ускорения - это представление трехмерной среды, эффективно отформатированной для графического процессора. Эта среда - плоскость, которая используется для создания отправных точек. Структура позволяет вносить изменения и имеет оптимизированный обход лучей.
- Список команд DispatchRays - это начало лучей, которые используются для создания графики отражения. Они используются графическим процессором для запуска процесса трассировки лучей.
- Новые шейдеры HLSL , генерация лучей, близкое попадание, любое попадание и промах , которые используются, описывают с точки зрения вычислений, что делает DXR при рендеринге трассировки лучей. Эти шейдеры используют функцию TraceRay в HLSL для отслеживания лучей в окружающей среде. Когда луч взаимодействует с сгенерированной плоскостью, он может вызывать один из многих выбранных шейдеров попаданий или промахов. Вариация шейдеров попаданий и промахов создает разные текстуры.
- Состояние конвейера трассировки лучей , аналог текущих объектов состояния конвейера графики и вычислений. Объекты состояния конвейера - это параметры оборудования, которые определяют, как графический процессор интерпретирует и отображает информацию. [2]
Технические подробности
DXR начинается с отправки луча из каждого пикселя в заданной плоскости и вычисляет, какие объекты на плоскости попадают под луч в первую очередь. Затем алгоритм DXR оценивает количество света там, где луч пересекает объект, и прикрепляет это вычисление к объекту. Объекты могут иметь разные свойства, которые будут поглощать или отражать свет с разной скоростью. Чтобы предотвратить бесконечные отскоки луча, DXR остановит вычисления после определенного количества пересечений. Лучи, которые никогда не взаимодействуют с объектом, отслеживаются по тому, как далеко они ушли. Это делается для того, чтобы алгоритм понимал, когда лучи зашли слишком далеко. [1]
Игры
Текущие игровые движки, поддерживающие DXR: [1]
Только 15 видеоигр в настоящее время используют DXR, в том числе: [3]
- Среди зла
- Battlefield 5
- Яркая память
- Call of Duty: Modern Warfare
- Контроль
- Избавь нас на Луну
- Fortnite
- MechWarrior 5: Наемники
- Метро: исход
- Шахтерское ремесло
- Quake II RTX
- Тень Расхитительницы гробниц
- Оставайся в свете
- Вольфенштейн: Янгблад
- Киберпанк 2077
Обновления
DXR был выпущен для широкой публики 10 октября 2018 г. с октябрьским обновлением Windows 10 (версия 1809). [4]
Первое крупное обновление для DXR было сделано 27 мая 2020 года с обновлением Windows 10 May (версия 2004). В майском обновлении реализован DXR Tier 1.1, который позволяет игровым движкам производить вычисления в реальном времени, что делает графику трассировки лучей более быстрой и эффективной. [5] [6]
Рекомендации
- ^ a b c "Представляем Microsoft DirectX Raytracing!" . Блог разработчиков DirectX . 2018-03-19 . Проверено 27 октября 2020 .
- ^ Стивуимс. «Управление состоянием графического конвейера в Direct3D 12 - приложениях Win32» . docs.microsoft.com . Проверено 16 ноября 2020 .
- ^ 50 игр с RTX и DLSS - IGN , получено 27 октября 2020 г.
- ^ «Трассировка лучей DirectX и обновление Windows 10 October 2018 Update» . Блог разработчиков DirectX . 2018-10-02 . Проверено 27 октября 2020 .
- ^ «Windows 10 May 2020 v2004 20H1 Feature Update Packs DirectX 12 Ultimate, улучшенная поддержка трассировки лучей, DirectX Mesh Shader и многие другие функции для игр на ПК» . Appuals.com . 2020-05-12 . Проверено 27 октября 2020 .
- ^ «DirectX Raytracing (DXR) Tier 1.1» . Блог разработчиков DirectX . 2019-11-06 . Проверено 27 октября 2020 .
Внешние ссылки
- Блог разработчиков Microsoft о DirectX Raytracing
- DirectX Raytracing и обновление Windows 10 October 2018 Update
- Предварительный просмотр новых функций DirectX 12 для разработчиков
- Блог Nvidia о трассировке лучей и растеризации
- Direct3D 12 Raytracing в Microsoft Docs