Буквальный некстген: что нужно знать про трассировку пути в играх
Чем она отличается от рейтрейсинга, зачем нужна и что даст.
В этом году первым играм с трассировкой лучей реального времени исполнится целых 7 лет. И хотя большинство крупных разработчиков уже перестроили пайплайны под рейтрейсинг, сама технология так и не снискала народной любви. Одни не видят разницу по сравнению с классическим рендерингом (только в разы увеличившиеся системные требования), другим кажется, что растеризованное освещение и отражения в новых играх словно стали хуже.
На канале Hardware Unboxed в конце прошлого года даже выходило видео с подведением итогов первых шести лет трассировки лучей реального времени в играх. И авторы пришли к неутешительному выводу — заметное улучшение картинки по сравнению с растеризацией есть лишь в 11 играх из 37 протестированных:
- Ghostwire Tokyo
- Watch Dogs: Legion
- Ведьмак 3
- Control
- Dying Light 2: Stay Human
- Spider-Man
- Spider-Man: Miles Morales
- Black Myth: Wukong
- Alan Wake 2
- Cyberpunk 2077
- Метро: Исход
То есть — даже не в каждой третьей игре… А что, если я вам скажу, что рейтрейсинг был лишь разминкой для разработчиков игровых блокбастеров? И что настоящее будущее игрового рендера ещё впереди?
Однако сначала нужно разобраться с пресловутой трассировкой лучей — ведь всё началось именно с неё.
Зачем вообще нужна трассировка лучей
В Интернете в последние годы преобладают две полярные точки зрения:
- Трассировка лучей — это прорыв в игровой графике
- Рейтрейсинг придумали для оправдания удорожания видеокарт
И знаете, у обоих точек зрения есть рациональное зерно. Даже у второй, хоть над теми, кто её высказывает, и принято насмехаться («Да у тебя просто комп не тянет и монитор устаревший!»). Чтобы разобраться в справедливости этих двух утверждений, начнём издалека.
Растеризация была придумана как более лёгкая альтернатива трассировке лучей именно для игр где-то в 90-х годах. К тому времени Голливуд использовал рейтрейсинг для компьютерной анимации в фильмах уже второе десятилетие. А в играх её тогда не могли применять из-за технических ограничений: если киношники могут часами и днями рендерить каждый кадр на суперкомпьютерах, у игроделов на это есть не более 33 миллисекунд, чтобы получить хотя бы 30 FPS.
Примерно до середины 2010-х годов главным вызовом для разработчиков игр была геометрия (детализация моделей объектов и сцены), а также анимации и спецэффекты. Затем, когда потребительские видеокарты научились легко справляться с миллионами полигонов в кадре, акцент сместился на реализацию глобального освещения.
Старички вспомнят, что первые разговоры про этот аспект графики были слышны ещё в нулевых годах. Однако на самом деле настоящую «глобалку» тогда так никто и не сделал — были лишь имитации разной степени хитрости. Для полноценного глобального освещения нужно учитывать как прямой свет от источника (Солнце, Луна или большая лампа в помещении), так и отражённый от стен или других преград.
До рейтрейсинга, чаще всего это реализовывали с помощью невидимых лампочек в углах комнат. Также иногда применялся запечённый непрямой (отражённый) свет. Вот только оба способа не были динамическими, а значит не могли корректно взаимодействовать с интерактивными объектами. Из-за этого последние часто были засвечены со всех сторон и сильно выделялись из окружения, или от какого-нибудь шкафа оставалась тень на полу, если его передвинуть.
Чтобы решить этим проблемы, DICE, Ubisoft и некоторые другие студии разработали методы применения похожей на рейтрейсинг технологии, но с более толстыми воксельными лучами. Например, ещё в компьютерной версии Mirror’s Edge 2009 года были плавные переходы между освещённой улицей и затенённым помещением, даже встречались цветовые рефлексы (перенос цвета на соседнюю поверхность на свету). А в Assassin’s Creed Unity освещение до сих пор выглядит не хуже, чем в большинстве игр последних лет.
Затем, когда в 2018 году маэстро Хуанг представил первые видеокарты с RT-ядрами, разработчики вздохнули с облегчением: теперь весь свет, тени и даже отражения могут рассчитываться в сцене самостоятельно в реальном времени! И больше необязательно настраивать всё вручную.
Картинка с трассировкой лучей реального времени и правда стала в целом лучше — даже передача цвета и мелких деталей в текстурах стала более точной. Вот только есть несколько спорных моментов:
- Чаще всего улучшения очевидны только при прямом сравнении;
- Классические методы освещения из середины 2010-х позволяли добиться практически тех же результатов, пускай и были очень трудоёмкими;
- Видеокарты сильно подорожали.
Можно сказать, что Хуанг переложил основную работу над освещением на видеокарты геймеров, заставив их платить больше, чтобы увидеть… чуть лучшую картинку. Более того, до внедрения реконструкции лучей в 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 в играх
В статье я уже пару раз упомянул, что с трассировкой пути сегодня едва справляются даже флагманские видеокарты. В то же время долгожданная 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 рано или поздно всё же станет стандартом. А графика в играх — по-настоящему фотореалистичной без каких либо оговорок. Жаль, что оценить по достоинству это сможет лишь следующее поколение молодых геймеров. Такой вот буквальный «некстген»…