38,8K подписчиков

Что такое трассировка лучей в играх: рассказываем простым языком

1,1K прочитали

Как трассировка лучей используется в играх, что такое RTX Remix, какая видеокарта нужна для работы рейтрейсинга и многое другое

Как трассировка лучей используется в играх, что такое RTX Remix, какая видеокарта нужна для работы рейтрейсинга и многое другое Трассировка лучей (Ray Tracing) сегодня используется не только на PC.

Трассировка лучей (Ray Tracing) сегодня используется не только на PC. Эта технология доступна также на консолях текущего поколения и даже на смартфонах. В этой статье мы расскажем простым языком, что такое трассировка лучей и зачем она нужна в играх.

Что такое трассировка лучей

NVIDIA на официальном сайте утверждает, что рейтрейсинг — «технология, симулирующая поведение света в естественных условиях». В целом понятно, но давайте копнём поглубже.

Рейтрейсинг существует с шестидесятых годов двадцатого века, но лишь несколько лет назад технология стала доступна широкому кругу пользователей в результате роста вычислительных мощностей. До распространения трассировки лучей в реальном времени в играх использовалась растеризация.

Разницу между двумя подходами наглядно показывает специалист из NVIDIA Эрик Хейнс в этом видео. В упрощённом виде его мысль звучит так: «При растеризации мы натягиваем объекты на пиксели и отсекаем то, что не вписалось в сетку. В случае с рейтрейсингом лучи проходят через объекты, и по такому принципу составляется цельное изображение». Сразу скажем, что речь идёт не обязательно о лучах света, а об эдакой «умной» геометрической сущности.

Чем больше моделей нужно проанализировать, тем эффективнее себя проявляет трассировка. Если луч обнаружит, что один объект целиком закрывает другой, то и в плане освещения обрабатывать последний не станет. А вот во времена растеризации требовалось прописать свойства каждого из таких объектов.

Как трассировка лучей используется в играх

Ни одна современная видеоигра не обходится без воссоздания реалистичного освещения. Свет отражается, искажается, проходит через декорации, поглощается. В ходе своих «путешествий» умный луч собирает информацию о поверхностях, с которыми взаимодействует, и доносит её до наших глаз. Лучше всех это объясняют художники Disney в соответствующем видео (напоминаем, что на YouTube можно включить автоперевод субтитров).

Источник: youtube.com, канал Walt Disney Animation
Источник: youtube.com, канал Walt Disney Animation

На канале NVIDIA GeForce компания выложила короткий информативный ролик, где Тони Тамаси, вице-президент отдела технического маркетинга, вполне доступно рассказывает о практическом применении трассировки лучей. При желании можете посмотреть видео целиком, мы же пройдёмся по ключевым фрагментам.

Благодаря рейтрейсингу, графический процессор учится справляться с ранее невыполнимыми (опять же, в реальном времени) задачами. Он сам «понимает», как себя ведёт луч при взаимодействии с той или иной поверхностью, исключает из вычислений объекты, не участвующие в осветительных процессах, и в качестве финального штриха очищает картинку от образовавшихся шумов.

Неочищенное изображение, на каждый пиксель приходится по одному лучу, источник — blogs.nvidia.com
Неочищенное изображение, на каждый пиксель приходится по одному лучу, источник — blogs.nvidia.com
То же изображение после устранения шумов
То же изображение после устранения шумов

Всё это требует существенных затрат производительности. Например, Shadow of the Tomb Raider, в которой полно сцен с большим количеством источников света, весьма требовательна к железу.

Однако разработчики постоянно придумывают новые способы оптимизации ресурсоёмких процессов. Это заметно на примере Battlefield V, где все типы поверхностей наделили разной степенью рефлективности и ограничили число лучей, поступающих на каждую из них. В результате нагрузка на систему значительно снижается, а картинка остаётся зрелищной.

С трассировкой лучей друг на друга влияют даже те объекты, что в данный момент находятся вне зоны видимости игрока. Это демонстрирует тестовый уровень NVIDIA Hall of Mirrors. В нём зеркала и лучи делают своё дело вне зависимости от позиции зрителя и образуют реалистичный эффект с бесконечными отражениями.

Как трассировка лучей используется в играх, что такое RTX Remix, какая видеокарта нужна для работы рейтрейсинга и многое другое Трассировка лучей (Ray Tracing) сегодня используется не только на PC.-5

На странице сайта об Unreal Engine приведено несколько интерактивных изображений — двигая слайдер, вы сможете убедиться, насколько сильно трассировка влияет на мелкие детали.

Что такое RTX Remix

В теории «вкрутить» рейтрейсинг в любимую ретроигру сейчас может любой пользователь — всё благодаря утилите RTX Remix. Она состоит из двух компонентов: один умеет сканировать локации и заменять старые текстуры новыми, второй целиком посвящён созданию освещения. «Прокачать» можно любую игру на восьмой или девятой версии DirectX при наличии усидчивости и большого количества свободного времени. Первые завершённые проекты уже начинают появляться, например, рендерер для Deus Ex. Это, конечно, не полноценный ремастер, и игроку нужно самому копаться в файле конфигурации, но классика действительно становится привлекательнее.

Где еще используется трассировка лучей

Трассировка лучей применяется во многих формах цифрового искусства. По ссылке, например, вы обнаружите англоязычный материал о том, как рейтрейсинг помог с производством мультика «Тачки». Pixar использовала технологию для создания реалистичных теней и отражений.

Справа изображение с трассировкой лучей. Обратите внимание на капот
Справа изображение с трассировкой лучей. Обратите внимание на капот

Трассировка лучей находит применение в методике физически корректного рендеринга. Он нужен, например, мебельным компаниям, чтобы создавать реалистичные «фото» интерьеров. Ниже приводим изображение из каталога IKEA, целиком сгенерированное на компьютере.

Как трассировка лучей используется в играх, что такое RTX Remix, какая видеокарта нужна для работы рейтрейсинга и многое другое Трассировка лучей (Ray Tracing) сегодня используется не только на PC.-7

Вспомним слова Эрика Хейнса из начала статьи о том, как луч сам ищет объекты и определяет их свойства. Это помогает не только с визуализацией, но и с расчётом траекторий. Примеры — баллистика и акустическое моделирование, благодаря которому в поддерживаемых играх мы наслаждаемся бинауральным звуком.

Как трассировка лучей влияет на FPS

Как и любая развивающаяся технология, трассировка лучей имеет свои недостатки. За реализмом по-прежнему стоят серьёзные требования к системе. Чтобы создать максимально красивую картинку, свой путь, состоящий из множественных отражений с обязательной конечной точкой в виде источника света, должны проделать миллионы, а иногда и миллиарды лучей. Оптимизировать процессы помогает совмещение растеризации и рейтрейсинга, а также технология умного масштабирования DLSS.

Более того, в большинстве игр используется так называемая обратная трассировка лучей (когда лучи исходят не от источников света, а от камеры игрока). Она требует заметно меньше ресурсов, чем полноценная версия технологии, получившая название «трассировка пути» (Path Tracing). Увидеть ее можно, например, в Quake II RTX, Portal with RTX и Cyberpunk 2077. Именно поэтому эти игры такие требовательные к ресурсам системы.

Что в итоге

Даже сейчас рейтрейсинг — далеко не самая доступная технология. Чтобы выкрутить настройки на максимум и при этом не «уронить» FPS, потребуется дорогое железо. Однако ситуация улучшается с каждым новым поколением видеокарт. Достаточно сравнить, какой прирост получили младшие видеокарты NVIDIA в трассировке лучей за последние годы.

Важную роль играет и DLSS. Сейчас технология не только подтягивает разрешение, но также генерирует кадры и реконструирует лучи. Подробнее о DLSS можно прочитать в нашем материале.

Рейтрейсинг проникает даже в те сегменты, где, казалось бы, это невозможно. Так, едва ли кто-то мог предугадать, что на «Айфонах» будут доступны такие игры, как Resident Evil Village, да еще и с трассировкой.

Частые вопросы

Какая видеокарта нужна для трассировки лучей?

Для работы трассировки лучей нужна видеокарта NVIDIA GeForce RTX 20-й серии и выше или AMD Radeon RX 6000-й серии и выше. Также поддержка рейтрейсинга есть и у видеокарт Intel Arc. Важно отметить, что даже самые современные видеокарты AMD все еще плохо справляются с рейтрейсингом — частота кадров ощутимо падает. Что касается Intel, то у видеокарт компании еще много проблем с драйверами и совместимостью, поэтому это продукт не для всех. На текущий момент наилучший выбор для рейтрейсинга — видеокарта NVIDIA GeForce RTX 40-й серии.

Почему RTX лучше, чем GTX?

В настоящий момент видеокарты серии GTX можно признать устаревшими. Все новые видеокарты NVIDIA относятся к серии RTX. Они поддерживают DLSS и трассировку лучей — в этом их главное преимущество.