DirectX Raytracing ( DXR ) — это функция, представленная в DirectX 12 от Microsoft , которая реализует трассировку лучей для рендеринга видеографики. DXR был выпущен с обновлением Windows 10 October Update (версия 1809) 10 октября 2018 года. Для него требуется видеокарта AMD Radeon RX 6000 series , AMD Radeon RX 7000 series , Intel Arc A series или Nvidia GeForce 20 , 30 или 40 series , которая предназначена для обработки высокой вычислительной нагрузки, используемой для трассировки лучей.
Дополнения к DirectX 12
С появлением DXR в октябре в DirectX 12 были добавлены четыре новые функции: [1]
Структура ускорения — это представление 3D-среды, эффективно отформатированной для GPU. Эта среда — плоскость, используемая для создания начальных точек. Структура позволяет вносить изменения и имеет оптимизированный ход лучей.
Список команд DispatchRays — это начало лучей, которые используются для генерации графики отражения. Они используются графическим процессором для начала процесса трассировки лучей.
Новые шейдеры HLSL , ray-generation, close-hit, any hit и miss , которые используются, описывают вычислительно, что делает DXR при рендеринге трассировки лучей. Эти шейдеры используют функцию TraceRay в HLSL для трассировки лучей в среде. Когда луч взаимодействует с созданной плоскостью, он может вызвать один из многих выбранных шейдеров hit или miss. Изменение шейдеров hit и miss создает различные текстуры.
Состояние конвейера трассировки лучей , аналог текущих объектов состояния конвейера Graphics и Compute. Объекты состояния конвейера — это аппаратные настройки, которые определяют, как графический процессор интерпретирует и отображает информацию. [2]
Технические подробности
DXR начинает с отправки луча из каждого пикселя на заданной плоскости и вычисляет, какие объекты на плоскости попадают под луч первыми. Затем алгоритм DXR оценивает количество света, где луч пересекает объект, и прикрепляет этот расчет к объекту. Объекты могут иметь разные свойства, которые будут поглощать или отражать свет с разной скоростью. Чтобы остановить бесконечные отскоки луча, DXR остановит вычисления после определенного количества пересечений. Лучи, которые никогда не взаимодействуют с объектом, отслеживаются на предмет того, как далеко они прошли. Это делается для того, чтобы алгоритм понимал, когда лучи зашли слишком далеко. [1]
Обновления
DXR был выпущен для публики 10 октября 2018 года вместе с октябрьским обновлением Windows 10 (версия 1809). [3]
Первое крупное обновление DXR было сделано 27 мая 2020 года с майским обновлением Windows 10 (версия 2004). Майское обновление реализовало DXR Tier 1.1, который позволяет игровым движкам выполнять вычисления в реальном времени, что делает графику трассировки лучей более быстрой и эффективной. [4] [5]
Ссылки
^ ab "Представляем Microsoft DirectX Raytracing!". Блог разработчиков DirectX . 2018-03-19 . Получено 2020-10-27 .
^ "DirectX Raytracing и обновление Windows 10 October 2018". Блог разработчиков DirectX . 2018-10-02 . Получено 2020-10-27 .
^ "Windows 10 May 2020 v2004 20H1 Feature Update Packs DirectX 12 Ultimate, Improved Ray Tracing Support, DirectX Mesh Shader And Many Other Features For PC Gaming". Appuals.com . 2020-05-12. Архивировано из оригинала 2020-10-30 . Получено 2020-10-27 .