Буквальный некстген: что нужно знать про трассировку пути в играх

Чем она отличается от рейтрейсинга, зачем нужна и что даст.

Буквальный некстген: что нужно знать про трассировку пути в играх

В этом году первым играм с трассировкой лучей реального времени исполнится целых 7 лет. И хотя большинство крупных разработчиков уже перестроили пайплайны под рейтрейсинг, сама технология так и не снискала народной любви. Одни не видят разницу по сравнению с классическим рендерингом (только в разы увеличившиеся системные требования), другим кажется, что растеризованное освещение и отражения в новых играх словно стали хуже.

На канале Hardware Unboxed в конце прошлого года даже выходило видео с подведением итогов первых шести лет трассировки лучей реального времени в играх. И авторы пришли к неутешительному выводу — заметное улучшение картинки по сравнению с растеризацией есть лишь в 11 играх из 37 протестированных:

  1. Ghostwire Tokyo
  2. Watch Dogs: Legion
  3. Ведьмак 3
  4. Control
  5. Dying Light 2: Stay Human
  6. Spider-Man
  7. Spider-Man: Miles Morales
  8. Black Myth: Wukong
  9. Alan Wake 2
  10. Cyberpunk 2077
  11. Метро: Исход

То есть — даже не в каждой третьей игре… А что, если я вам скажу, что рейтрейсинг был лишь разминкой для разработчиков игровых блокбастеров? И что настоящее будущее игрового рендера ещё впереди?

Однако сначала нужно разобраться с пресловутой трассировкой лучей — ведь всё началось именно с неё.

Зачем вообще нужна трассировка лучей

Буквальный некстген: что нужно знать про трассировку пути в играх

В Интернете в последние годы преобладают две полярные точки зрения:

  1. Трассировка лучей — это прорыв в игровой графике
  2. Рейтрейсинг придумали для оправдания удорожания видеокарт

И знаете, у обоих точек зрения есть рациональное зерно. Даже у второй, хоть над теми, кто её высказывает, и принято насмехаться («Да у тебя просто комп не тянет и монитор устаревший!»). Чтобы разобраться в справедливости этих двух утверждений, начнём издалека.

Растеризация была придумана как более лёгкая альтернатива трассировке лучей именно для игр где-то в 90-х годах. К тому времени Голливуд использовал рейтрейсинг для компьютерной анимации в фильмах уже второе десятилетие. А в играх её тогда не могли применять из-за технических ограничений: если киношники могут часами и днями рендерить каждый кадр на суперкомпьютерах, у игроделов на это есть не более 33 миллисекунд, чтобы получить хотя бы 30 FPS.

Фильм «Аватар» 2009 года — главная причина графической гонки в геймдеве 2010-х годов
Фильм «Аватар» 2009 года — главная причина графической гонки в геймдеве 2010-х годов

Примерно до середины 2010-х годов главным вызовом для разработчиков игр была геометрия (детализация моделей объектов и сцены), а также анимации и спецэффекты. Затем, когда потребительские видеокарты научились легко справляться с миллионами полигонов в кадре, акцент сместился на реализацию глобального освещения.

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

Буквальный некстген: что нужно знать про трассировку пути в играх

До рейтрейсинга, чаще всего это реализовывали с помощью невидимых лампочек в углах комнат. Также иногда применялся запечённый непрямой (отражённый) свет. Вот только оба способа не были динамическими, а значит не могли корректно взаимодействовать с интерактивными объектами. Из-за этого последние часто были засвечены со всех сторон и сильно выделялись из окружения, или от какого-нибудь шкафа оставалась тень на полу, если его передвинуть.

Чтобы решить этим проблемы, DICE, Ubisoft и некоторые другие студии разработали методы применения похожей на рейтрейсинг технологии, но с более толстыми воксельными лучами. Например, ещё в компьютерной версии Mirror’s Edge 2009 года были плавные переходы между освещённой улицей и затенённым помещением, даже встречались цветовые рефлексы (перенос цвета на соседнюю поверхность на свету). А в Assassin’s Creed Unity освещение до сих пор выглядит не хуже, чем в большинстве игр последних лет.

Затем, когда в 2018 году маэстро Хуанг представил первые видеокарты с RT-ядрами, разработчики вздохнули с облегчением: теперь весь свет, тени и даже отражения могут рассчитываться в сцене самостоятельно в реальном времени! И больше необязательно настраивать всё вручную.

Картинка с трассировкой лучей реального времени и правда стала в целом лучше — даже передача цвета и мелких деталей в текстурах стала более точной. Вот только есть несколько спорных моментов:

  1. Чаще всего улучшения очевидны только при прямом сравнении;
  2. Классические методы освещения из середины 2010-х позволяли добиться практически тех же результатов, пускай и были очень трудоёмкими;
  3. Видеокарты сильно подорожали.
Как же он счастлив!
Как же он счастлив!

Можно сказать, что Хуанг переложил основную работу над освещением на видеокарты геймеров, заставив их платить больше, чтобы увидеть… чуть лучшую картинку. Более того, до внедрения реконструкции лучей в DLSS 3 в 2023 году игры с рейтрейсингом часто были наполнены шумом в тенях и замыленными отражениями. То есть, с трассировкой изображение даже иногда получалось хуже! (Не зря Hardware Unboxed признали более красивой картинку лишь в 11 играх с рейтрейсингом из 37).

Однако вернёмся к сегодняшнему дню. Сегодня больше не производят игровые видеокарты без RT-ядер, а значит разработчики скоро совсем перестанут полагаться на растеризацию для освещения и отражений. Даже Ubisoft недавно выпустили нового «Ассасина» с трассировкой лучей реального времени. Не удивлюсь, если в Kingdom Come: Deliverance 3 рейтрейсинг тоже будет — так банально проще и удобнее работать с современной графикой.

Что касается пастрейсинга — это следующая ступень эволюции игрового рендера. До 2010-х годов её боялись использовать даже в кино из-за крайне высоких требований к аппаратуре. А сегодня она постепенно проникает и в игры, пускай даже флагманские видеокарты с ней едва справляются. В следующей главе поговорим уже конкретно про трассировку пути.

Чем трассировка пути отличается от рейтрейсинга

С трассировкой лучей помещения получались неестественно тёмными, а с пастрейсингом даже передача цвета улучшилась
С трассировкой лучей помещения получались неестественно тёмными, а с пастрейсингом даже передача цвета улучшилась

При стандартном рейтрейсинге отслеживается путь отдельных лучей света для расчёта конкретных эффектов: отражений, теней, преломлений или глобального освещения. Например, луч выстреливается от камеры к объекту, затем — к источнику света, и на основе этого определяется, какую тень или блик нужно отрисовать.

Проблема в том, что обычно учитывается лишь 1–2 отскока луча, а затем свет угасает. Из-за чего приходится применять дополнительные методы, вроде тех же невидимых лампочек в углах помещений, чтобы непрямое освещение выглядело убедительнее. Поэтому трассировка лучей и считается гибридной технологией, а не полноценной.

Трассировка пути же напротив — полноценная симуляция физики света. Здесь каждый луч просчитывается от источника (Солнце, лампа, экран телевизора) до камеры, учитывая все взаимодействия: отражения, преломления, рассеивание и даже поглощение света материалами. Например, свет падает на стол от лампы, отражается на стену, затем — на вазу, и часть его, пройдя через стекло окна, уходит на улицу. Path tracing пытается учесть все эти пути, даже если луч «отскочил» десятки раз.

Подборка игр со сравнением рейтрейсинга и трассировки пути

В итоге получается изображение, максимально близкое к реальности: мягкие тени, естественные блики, плавные переходы между светом и темнотой, а также цветовые рефлексы, когда какой-нибудь красный ковёр подсвечивает белые стены теплым оттенком.

Но за такой реализм приходится платить. Если в рейтрейсинге для одного пикселя может хватить 1–2 лучей, то в пастрейсинге их нужно сотни или тысячи, чтобы минимизировать шум. Даже RTX 5090 в Cyberpunk 2077 с включённым Overdrive Mode едва выдаёт 30 FPS в 4K без DLSS. И это при том, что игра использует хитрости вроде адаптивного семплинга, когда для тёмных или далёких объектов используется меньше лучей.

Так значит о скором переходе на трассировку пути говорить пока рано? Как раз это разберём в следующей главе.

Когда ждать массовое внедрение path tracing в играх

Добавление полной трассировки даже в старые игры пока проходит со скрипом (скриншот из Quake 2 RTX)
Добавление полной трассировки даже в старые игры пока проходит со скрипом (скриншот из Quake 2 RTX)

В статье я уже пару раз упомянул, что с трассировкой пути сегодня едва справляются даже флагманские видеокарты. В то же время долгожданная 5000-я серия GeForce RTX совсем недавно оказалась ребрендигом 4000-й на новом техпроцессе и с улучшенным генератором оптического потока. Можно сказать, что самая выгодная модель последнего поколения RTX 5070 Ti отличается от прошлой народной любимицы RTX 4070 Ti Super только возможностью дорисовывать 3 промежуточных кадра вместо 1.

По факту сырая производительность видеокарт от NVIDIA за последние 3 года практически не увеличилась. А за последние 5 выросла лишь на пару десятков процентов в среднем. Всё это может свидетельствовать о достижении технического предела в возможностях графических адаптеров. Именно по этой причине Хуанг теперь активно продвигает нейросетевую интерполяцию кадров — так и с пастрейсингом легко получить больше 100 FPS.

Вот только когда базовый фреймрейт ниже 60, отзывчивость управления в игре просто ужасная, и на экране появляются артефакты. Так что генерацию кадров сложно назвать панацеей — по крайней мере не многокадровую.
Пайплайн работы генератора кадров
Пайплайн работы генератора кадров

А если вспомнить про консоли, то там трассировку пути скорее всего не стоит ждать даже в грядущем 10-м поколении. Вряд ли условная PlayStation 6 будет сильно мощнее той же RTX 5070 Ti или недавней RX 9070 XT от AMD. А выйти PS6 должна уже через пару-тройку лет. К тому времени и на ПК сменится лишь одно поколение видеокарт.

Получается, что path tracing вытеснит гибридную трассировку в играх очень нескоро. Скорее всего это случится не раньше 11-го поколения консолей и какого-нибудь Unreal Engine 7 где-то в середине 2030-х годов. А до того времени разработчики будут больше полагаться на стандартный рейтрейсинг с дополнительными хитростями, а пастрейсинг пока будет оставаться экспериментальной галочкой в настройках.

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

Пока path tracing остаётся уделом энтузиастов с топовыми видеокартами. Даже флагманы вроде RTX 5090 борются с шумом и низким FPS, а нейросетевые костыли вроде DLSS 4, хотя и спасают производительность, не решают проблему полностью. Консоли следующего поколения вряд ли изменят ситуацию — их мощность едва ли будет выше нынешних топовых ПК. К тому же игровые приставки обычно стараются делать относительно бюджетными, что сказывается на их «начинке».

Но важно понимать: как когда-то гибридная трассировка лучей вытеснила растеризацию, так и path tracing рано или поздно всё же станет стандартом. А графика в играх — по-настоящему фотореалистичной без каких либо оговорок. Жаль, что оценить по достоинству это сможет лишь следующее поколение молодых геймеров. Такой вот буквальный «некстген»…

33
10
2
91 комментарий