stringtranslate.com

DirectX Трассировка лучей

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]

  1. Структура ускорения — это представление 3D-среды, эффективно отформатированной для GPU. Эта среда — плоскость, используемая для создания начальных точек. Структура позволяет вносить изменения и имеет оптимизированный ход лучей.
  2. Список команд DispatchRays — это начало лучей, которые используются для генерации графики отражения. Они используются графическим процессором для начала процесса трассировки лучей.
  3. Новые шейдеры HLSL , ray-generation, close-hit, any hit и miss , которые используются, описывают вычислительно, что делает DXR при рендеринге трассировки лучей. Эти шейдеры используют функцию TraceRay в HLSL для трассировки лучей в среде. Когда луч взаимодействует с созданной плоскостью, он может вызвать один из многих выбранных шейдеров hit или miss. Изменение шейдеров hit и miss создает различные текстуры.
  4. Состояние конвейера трассировки лучей , аналог текущих объектов состояния конвейера Graphics и Compute. Объекты состояния конвейера — это аппаратные настройки, которые определяют, как графический процессор интерпретирует и отображает информацию. [2]

Технические подробности

Пример сцены, визуализированной с помощью POV-Ray — инструмента рендеринга, использующего трассировку лучей.

DXR начинает с отправки луча из каждого пикселя на заданной плоскости и вычисляет, какие объекты на плоскости попадают под луч первыми. Затем алгоритм DXR оценивает количество света, где луч пересекает объект, и прикрепляет этот расчет к объекту. Объекты могут иметь разные свойства, которые будут поглощать или отражать свет с разной скоростью. Чтобы остановить бесконечные отскоки луча, DXR остановит вычисления после определенного количества пересечений. Лучи, которые никогда не взаимодействуют с объектом, отслеживаются на предмет того, как далеко они прошли. Это делается для того, чтобы алгоритм понимал, когда лучи зашли слишком далеко. [1]

Обновления

DXR был выпущен для публики 10 октября 2018 года вместе с октябрьским обновлением Windows 10 (версия 1809). [3]

Первое крупное обновление DXR было сделано 27 мая 2020 года с майским обновлением Windows 10 (версия 2004). Майское обновление реализовало DXR Tier 1.1, который позволяет игровым движкам выполнять вычисления в реальном времени, что делает графику трассировки лучей более быстрой и эффективной. [4] [5]

Ссылки

  1. ^ ab "Представляем Microsoft DirectX Raytracing!". Блог разработчиков DirectX . 2018-03-19 . Получено 2020-10-27 .
  2. ^ stevewhims. "Управление состоянием графического конвейера в Direct3D 12 - приложения Win32". docs.microsoft.com . Получено 16.11.2020 .
  3. ^ "DirectX Raytracing и обновление Windows 10 October 2018". Блог разработчиков DirectX . 2018-10-02 . Получено 2020-10-27 .
  4. ^ "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 .
  5. ^ "DirectX Raytracing (DXR) Tier 1.1". Блог разработчиков DirectX . 2019-11-06 . Получено 2020-10-27 .

Внешние ссылки