Control RTX OFF. Игра неплохо справляется с освещением, но отражения на стенах не такие четкие и тень между полом и стенами выглядит как черная краска, а не щель.
Что такое рейтрейсинг и как работает трассировка лучей в играх
Ray Trace или так называемая трассировка лучей (DXR), как она была известна до распространения видеокарт NVIDIA RTX, после появления на рынке массажа стала особым слоганом в игровом сообществе. Nvidia первой привнесла Real -Time Ray Detection в компьютерные игры, но разработчики игрушек не спешат внедрять технологию RTX в свои проекты. Чтобы понять, кому и зачем нужно обнаружение лучей, мы сначала объясним, как работает обнаружение лучей, проанализируем игровой рынок RTX и выясним, стоит ли создавать игровой компьютер DXR.
Как и в школьной программе по физике, прежде чем изучать новую проблему, начните с определения терминов. Перформанс — это техника исполнения, использующая принципы реальных природных процессов. Чтобы создать 3D-модель объекта и применить обнаружение лучей, система отслеживает путь виртуального радиуса к этому объекту. Таким образом, система должна учитывать свойства поверхности объекта и его материал. Наконец, свет обнаруживается в различных лучах, которые имитируют отраженный свет. Это делается для обнаружения лучей, которые учитывают преломление, отражение лучей и правильное взаимодействие света с любой поверхностью, включая зеркальные поверхности. Кстати, после отражения света от объекта свет может изменить цвет. Это также должно быть учтено системой.
Теоретически, обнаружение лучей — это простой процесс, уходящий корнями в физику, и само обнаружение не является чем-то совершенно новым. Однако теоретически это просто. На практике обнаружение лучей может быть очень болезненным. Некоторые лучи могут не отражаться вообще, некоторые лучи могут отражаться время от времени, а некоторые лучи в сцене могут отражаться бесконечно. Чтобы отразить все правильно, системе необходимо рассчитать каждый радиус. Абсолютно точная и корректная трассировка лучей требует очень высокой мощности вычислительного материала, но все же это очень трудоемкий процесс.
Кстати, кинематографисты уже давно используют эту технологию в производстве фильмов. Трассировку лучей можно увидеть в киноиндустрии, например, в фильме «Трон» 1982 года. Обычно детекция пленки добавляется в фильм на этапе редактирования, чтобы создателю фильма не приходилось рассчитывать поведение источника света в реальном времени.. Им нужно сделать это один раз, когда они воспроизведут фильм. Но даже в этом случае расчет лучей в одном кадре может занять несколько часов. В играх, однако, разработчики не могут предсказать, куда пойдет игрок или на какой аспект объекта он будет смотреть. Поэтому игры посвящены обнаружению лучей в реальном времени, что является очень трудоемким процессом. Из-за сложности трассировки лучей ее «приход» в игровую индустрию значительно задержался.
«Свет в конце тоннеля» или как NVIDIA принесла рейтрейсинг в игровую индустрию
Когда nvidia не ожидала появления трассировки лучей в играх, пока она появилась на основных потребительских рынках с видеокартами GEFORCE RTX, в дополнение к стандартной производительности, которую она привносит в игры в течение одного поколения, технология RTX была принесена в серию совместимых привносится в совместимые игры. Они имеют ядра RT для вычисления фактического времени обнаружения лучей. Кроме того, они поддерживают новую технологию сглаживания DLSS, основанную на машинном обучении. Что происходит. Nvidia применяет обнаружение лучей сначала с помощью материалов (RTX) в компьютерных играх, а обнаружение лучей в реальном времени осуществляется в ядре real tensor RT. Все новые карты основаны на архитектуре Turing от Nvidia, под кодовым названием 12 нм техпроцесс. Эта архитектура позволяет обрабатывать лучи света в реальном времени, что делает игровую графику более реалистичной и кинематографичной.
Как работает обнаружение лучей (DXR) в играх? На практике это несколько сложнее. Обнаружение световых лучей не предназначено для применения ко всей сцене, которая теоретически может быть очень большой. Поэтому здесь мы имеем гибридный метод между классическими методами освещения и собственно обнаружением лучей. Однако, когда трассировка лучей активна, она работает очень хорошо и создает красивые отражения, тени и освещение. Также обратите внимание, что графические настройки игры (low-medium — high — high) регулируют количество проходов трассировки лучей и выбирают, где используется обычный метод, а где DXR. Наконец, применяется техника, известная как фрагментация изображения. Он определяет, где RT-ядра должны быть приобретены при обработке кадров. Он влияет на все — от плотности лучей до диапазона характеристик отражений.
Кстати, упомянутое выше количество ядер RT на видеокарте определяет производительность игры при активированном обнаружении. Это связано с тем, что RTX 2060, младшая видеокарта в семействе GEFORCE RTX, имеет меньше ядер RT, чем RTX 2080, поэтому производительность значительно ниже при одинаковых настройках и одинаковых разрешениях экрана. ‘Для смягчения этой проблемы используется новая технология сглаживания DLSS от Nvidia для увеличения желанного FPS (кадров в секунду).
Технология суперсэмплинга DLSS на основе машинного обучения
DLSS — это технология сглаживания, управляемая и обучаемая нейронными сетями. Если это не ясно даже сейчас, это не имеет значения. Это очень просто. DLSS фактически является наиболее распространенным сглаживанием краев игровых объектов, но там, где нормализация обычно манипулирует DLSS, используя мощности видеокарты GPU (графического чипа), Nvidia предоставила для этой работы отдельные тибиальные блоки на оптимизированном чипе. нейронной сети. И чем больше данных доступно искусственному интеллекту, тем лучше его работа и тем плавнее результаты. Конечно, активация DLSS значительно снижает нагрузку на GPU видеокарты, что делает ее более эффективной в играх с разрешением 4K, где традиционное сглаживание потребляет так много ресурсов видеочипа. Кроме того, сеть глубокого обучения DLSS может использовать трассировку лучей для повышения производительности в играх.
С прошлого года компания Nvidia начала новую тенденцию использования обнаружения лучей для придания играм большей реалистичности. Ray News Новости, лучи, презентация Ray — Nvidia очень активно продвигает метод рендеринга, как будто она его изобрела, но это не так.
Все новые трейлеры Nvidia с трассировкой лучей в играх
Обнаружение лучей — это общий термин, который включает все методы расчета движения, отражения и преломления световых лучей, исходящих от камеры, и определения их пути к источнику света для создания естественного изображения.
Суть технологии заключается в том, что вместо подсчета всех огней в сцене, машине нужно вычислить только лучи, попадающие в камеру, поскольку с этой позиции отображается только сцена. В результате лучи света изначально создаются и «отскакивают» от самой камеры и преломляются на объектах до тех пор, пока не будет найден источник света, что значительно повышает эффективность.
Технология обнаружения лучей была впервые представлена Тернером Уиттедом в задаче 1979 года под названием «Улучшенные модели освещения для затененного дисплея». В своей публикации исследователь отметил, что его идея применения лучей в графике была основана на работах таких людей, как Роберт Голдштейн, который использовал обнаружение лучей для расчета воздействия радиации в танках. Он также упоминает Артура Эппла, который в 1968 году описал технику обнаружения лучей между поверхностными и теневыми источниками освещения. Эта работа часто упоминается как первое использование обнаружения лучей в производительности.
В то же время публикации Уита включали не только обнаружение лучей для создания теней, но и вторичные эффекты света от отражения и преломления. Этот метод значительно повысил реалистичность, но вторичное рассеянное освещение, например, не называлось «глобальным освещением».
В 1984 году была опубликована книга Роберта Кука «Распределенная трассировка лучей», раскрывающая важные концепции турбулентности, полусамоотражения, покрытия области и случайного распределения лучей в пространстве и времени для достижения глубины резкости. И все это с помощью тех же лучей, которые необходимо создать для работы со сглаживанием.
Проблема такого подхода заключается в экспоненциальном характере обнаружения. Вы можете проложить радиус и рассчитать маршрут к основному источнику света. Обычно это самый важный и критический источник света на сцене. Однако в случае вторичных отражений необходимо задействовать все большее количество лучей. Начиная с одного радиуса, создается еще десять лучей, каждый из которых запускает еще десять лучей, достигая 100. Еще 10 лучей и уже 1000, еще 10, и вот уже 10000 — процесс может продолжаться бесконечно. Сложность заключается в том, что вам нужно использовать в 1000 раз больше производительности на каждый третий «отскок» радиуса от объекта, даже если этот «проход» влияет на 1/100 часть качества конечного освещения. Другими словами, весь процесс обнаружения лучей по своей сути очень неэффективен, даже если он эффективен по сравнению с другими физическими методами визуализации. Несмотря на оптимизацию методов в исследованиях Кука, экспоненциальная природа обнаружения лучей остается фундаментальным препятствием для этой технологии.
Трассировка Путей
В 1986 году Джеймс Кагье опубликовал уравнение эффективности и предложил новую, высокоскоростную форму обнаружения лучей под названием «обнаружение корней». Обнаружение корней обеспечивает решение проблемы экспоненциального роста числа лучей. Вместо расширяющегося дерева трасс, трассы обнаруживаются как при распределенном обнаружении лучей, но распределяется только один радиус на «отскок». Случайный выбор типа и направления луча для каждого «отскока» вместо экспоненциального создания лучей значительно сокращает время вычислений и требуемую вычислительную мощность, позволяя обрабатывать все источники света, включая глобальное освещение.
Поэтому нет никакой реальной разницы между обнаружением лучей и обнаружением корней. Это все равно, что сравнивать собаку с чихуахуа. Даже авторы самой технологии обнаружения корней описывают ее как «новый, ускоренный метод обнаружения световых лучей».
В современных детекторах радиуса разработчики обнаружили, что обнаружение RAY имеет свои собственные недостатки. Это особенно актуально для отложенного «отскока». Для этого необходимо приписать больше лучей. В результате разработчики используют традиционные системы обнаружения лучей для постепенной оптимизации эффективности визуализации.
Gamescom 2019: 48 минут геймплея Minecraft с трассировкой лучей
В настоящее время термин «трассировка лучей» часто используется неправильно и, применительно к распределенной трассировке лучей, разделяет ее использование от таких решений, как формулы излучения и фотонное отображение, до комплексного глобального освещения, которое технически не является трассировкой лучей.
Пока что трассировка лучей — это общее название для технологий рендеринга, которые определяют маршрут от камеры до источника света, а трассировка лучей — это одно из решений для оптимизации процесса рендеринга путем уменьшения количества создаваемых лучей, в контексте трассировки лучей. за столкновение с объектом на пути к свету.
Более того, более крупная архитектура Navi, основанная на карте AMD RX 6000, была в первую очередь первым решением для трассировки лучей. Это та же архитектура, которая обеспечивает визуальные эффекты для PlayStation 5 и Xbox Series X, предлагая более полный уровень производительности, чем карты Navidia от Nvidia.
Принципы работы
Фактически, все в нашем поле зрения является результатом падения света на объекты, которые мы наблюдаем. Различные степени, в которых свет поглощается, отражается и преломляется этими объектами, формируют картину человеческого глаза.
Обнаружение лучей, как следует из самого названия, на самом деле является обратным процессом. Это метод создания компьютерных изображений путем «обнаружения» пути света от большого глаза или камеры к объекту изображения.
Алгоритм обнаружения лучей учитывает как тип материала, так и источник света. Например, два баскетбольных мяча одного цвета не будут выглядеть одинаково, если один из них сделан из кожи, а другой — из резины. Объекты на пути радиуса света отбрасывают тени. Прозрачные или полупрозрачные материалы, такие как стекло или вода, преломляют свет.
Чтобы понять, как работает обнаружение световых лучей, представьте сетку диаграмм в виде экрана компьютера. Для иллюстрации сцены из современной видеоигры компьютер показывает трехмерный виртуальный мир игры на экране, который находится на двухмерном уровне. Таким образом, компьютер должен определить цвет каждого пикселя на экране.
Процесс начинается с того, что наблюдатель проецирует один или несколько лучей света и проверяет треугольники (компоненты виртуальных объектов в компьютерной графике), которые пересекают лучи. Если лучи пересекают треугольник, алгоритм использует такие данные, как цвет треугольника и его расстояние от наблюдателя, чтобы вычислить конечный результат — цвет пикселя.
Кроме того, лучи могут отражаться от треугольника или проходить через него, создавая все новые и новые лучи. Это также необходимо учитывать. Большинство из этих лучей обеспечивают лучшее качество изображения, но также требуют большей вычислительной мощности.
Как включить трассировку лучей в игре?
Одной из первых игр, поддерживающих обнаружение лучей, была самостоятельная игра Minecraft.
Узнайте, как включить или отключить трассировку лучей в настройках игры.
- Запустите игру через Microsoft Store, нажав кнопку Play;
- Нажмите на пункт Marketplace в главном меню Minecraft;Кликните по лупе в строке поиска и введите «RTX»;
- Выберите любой из официальных пакетов RTX от Nvidia и установите его;
- Вернитесь в главное меню и нажмите «Играть»;
- Нажмите «Создать» и выберите один из шаблонов RTX World;
- После загрузки нажмите ESC и перейдите в «Настройки» и «Видео»;
- Прокрутите страницу вниз и убедитесь, что ползунок напротив пункта «Ray Tracing» находится в активном состоянии.
В зависимости от модели видеокарты расстояние обнаружения лучей по умолчанию может быть меньше 24. При необходимости измените этот параметр, чтобы изменить расстояние трассировки лучей и найти баланс между качеством графики и частотой кадров.
Какие улучшения привносит рейтрейсинг?
Отражения
Методы повышения производительности, использовавшиеся в прошлом, такие как отражение пространства экрана (SSR), имели несколько недостатков. Главной из них является невозможность отображения объектов, которые не находятся в кадре в определенный момент времени. Рейтинг, с другой стороны, учитывает весь 3D-мир и поэтому обеспечивает максимально точное отражение.
Из-за недостаточной отражательной способности некоторых поверхностей этот эффект часто менее заметен, но потребляет много ресурсов. Для операций обнаружения отражения требуется по крайней мере один луч на пиксель отражения.
В дополнение к рендерингу отражения существуют различные методы моделирования теней для обнаружения лучей. Чтобы понять, как формируется изображение, представьте себе луч, испускаемый в направлении источника света. Если исходящий луч сталкивается с поверхностью объекта до достижения источника света, то конкретный пиксель должен приобрести более темный оттенок. При расчете учитывается расстояние от источника света, яркость и цветовая температура.
Рейтрасинг также можно использовать для создания реалистичных теней на прозрачных поверхностях, таких как ткани всех видов. В результате этих расчетов получаются более мягкие и точные тени при сложном, неструктурированном, тусклом освещении.
Окклюзия окружающей среды
Модель затенения воспроизводит сероватые тени, наблюдаемые в углах, трещинах и небольших пятнах внутри и вокруг объектов. Алгоритм работает путем наблюдения большого количества маленьких лучей в области и проверки их пересечений с близлежащими объектами. Чем больше таких перекрестков, тем темнее область.
Каустика
Обнаружение лучей открывает возможность отображения эффектов отражения и преломления света, отраженного от изогнутых поверхностей. Каустические свойства рассчитываются так же, как и для обычных отражений. Метод сводится к созданию лучей, обозначению точек, взаимодействующих с поверхностью, и конструированию отражений и преломлений.
2D-каустика требует очень мало вычислительной мощности, в то время как 3D-каустика уже может создавать большую нагрузку на GPU.
Глобальное освещение
Эффективность освещения — самая важная, но и самая ресурсоемкая часть обнаружения лучей. Во время работы алгоритм излучает пиксель за пикселем по сцене, отслеживая все преобразования и учитывая даже малейшие изменения в освещении.