Разбираем новые алгоритмы в видеокартах и гадаем на трендах индустрии
В мире игровой графики происходят масштабные изменения. Искусственный интеллект. Трассировка лучей в реальном времени. Генерация кадров. Нейронный рендер материалов и совсем уж непонятная репроекция. Для тех, кто последние пять лет не следил пристально за технологиями, эти слова мало что значат. Давайте попробуем разобраться, как видят развитие графики производители железа и разработчики игр.
Генерация всего
Делать игры становится все дороже. По мнению некоторых издателей, локации должны быть с каждым новым проектом все больше, детализация выше, физика реалистичнее. В 2002 году в титрах GTA Vice City было указано 327 разработчика, а игру сделали за год. Спустя 20 лет в титрах Hogwarts Legacy — уже 3428 человек, а на создание ушло около пяти лет.
Раздувание штата — а заодно сроков и бюджетов, ведь всем этим сотрудникам нужно платить зарплаты, — неизбежно при классических методах разработки. Поэтому в последние годы издатели, платформодержатели, создатели движков и производители железа пытаются упростить и ускорить все процессы.
Классический пример – генерация контента. Еще в 1978 году Maze Craze на Atari VCS генерировал уровни. В 1996-м Diablo случайным образом составляла подземелья из набора готовых элементов вроде тематических комнат. Так каждое прохождение казалось уникальным.
Сегодня у разработчиков появляются и другие варианты. Например, для создания большого мегаполиса из технодемо The Matrix Awakens (2021) небольшая команда Epic Games задала условия в программе Houdini, которую обычно используют для расчета физики и спецэффектов в фильмов. А потом полученный небольшой файл экспортировали в Unreal Engine 5, который сгенерировал целый город. Пешеходов «подселил» встроенный в движок алгоритм MetaНuman.
Конечно, The Matrix Awakens — вовсе не большая игра, но она демонстрирует, как можно малыми силами разрабатывать крупные проекты.
Одних только хитростей и алгоритмов недостаточно. Усложнение моделей на экране имеет свои пределы. Например, фигуры из 100 полигонов и из 1000 различаются кардинально. А вот разница между объектами из 10 000 треугольников и из 100 000 невооруженному глазу уже не так заметна. Но нагрузка на видеокарту при обработке такого изображения увеличивается пропорционально — в десять раз.
Но создатели железа физически больше не могут увеличить число транзисторов на кристалле в 10 раз. А для революции в графике, чтобы удивить требовательных игроков, нужен кратно больший прирост. Которого, вероятно, уже не будет — по крайней мере, при текущем уровне технологий. Поэтому производители видеокарт делают ставку на нейронные сети для улучшения графики.
Нейронный рендерер
Инженеры компании NVIDIA разрабатывают видеочипы с расчетом на то, что нейронные сети будут не только улучшать готовую картинку путем апскейла из низкого разрешения в высокое. Но и смогут создавать игровые объекты вместо традиционных методов рендеринга.
Например — «рисовать» реалистичные материалы. Нейронные шейдеры позволят разработчикам создавать более сложные поверхности и 3D-объекты, а также более реалистичное освещение, которое ранее встречалось только в кино и в компьютерных мультфильмах.
В кино материалы состоят из множества узлов, каждый из которых — отдельный код. Это позволяет сделать поверхности несовершенными — со следами износа, то есть более реалистичными. Но для игровой графики это слишком большая нагрузка.
Нейронный шейдеры решают проблему через дистилляцию сложного кода со множеством функций до одной многослойной сети. Это позволит добиться в играх ранее недоступного уровня фотореализма.
В 2023 году инженеры NVIDIA показали нейронное сжатие текстур. Сейчас большинство игр использует физически-корректный рендеринг — каждая текстура содержит информацию о свойствах материалов, из которых состоит объект, и реалистично передает его свойства.
По теме:
И для каждого материала используется не одна, а множество карт текстур. Такие изображения много «весят» и почти не поддаются сжатию — отчасти именно этим обусловлен катастрофически возросший объем дистрибутивов современных игр.
Инженеры NVIDIA предложили новый тип сжатия при помощи нейронной сети, который позволит получить или текстуры меньшего размера, или в 16 раз более высокую детализацию. «Распаковка» данных при этом методе происходит до 5 раз быстрее, а сами текстуры лучше фильтруются и выглядят четче. NVIDIA также обещает, что такие материалы займут в 7 раз меньше места в видеопамяти.
Есть проблемы и у классического глобального освещения. Рассчитывать отражения лучей после первых двух отскоков очень сложно, а эффект во многих сценах не так заметен. Но в локациях без прямого света — вроде пещер и темных углов — отраженные лучи создают очень реалистичную картинку. Нейросеть же может «предсказывать» бесконечное количество отражений, используя ранее собранную статистику.
Этот метод называется «нейронный кэш освещенности». Например, в Half-Life 2: RTX он помогает прорисовывать мелкие тени в брусчатке. Скорее всего, он же избавляет от типичного для трассировки лучей шума в тенях. Пока этот алгоритм доступен только для разработчиков, но NVIDIA обещает вскоре добавить его в пользовательские инструменты RTX Remix.
Еще одна задача, которую должны решить нейросети, — снижение нагрузки от трассировки лучей в реальном времени и на процессор, и на видеокарту. С этим поможет RTX Mega Geometry. Вскоре эту функцию добавят в Alan Wake 2, и мы сможем оценить эффективность алгоритма. Также это должно ускорить виртуализацию геометрии Nanite в Unreal Engine 5 на видеокартах NVIDIA.
Одна из самых известных проблем в компьютерной графике – «эффект зловещей долины». Чем больше компьютерная модель похожа на реального человека, тем больше дискомфорта она вызывает — вплоть до отторжения и даже страха. Это одна из причин, по которой в 3D-мультфильмах героев стилизуют и наделяют нереалистичными пропорциями.
Для решения проблемы NVIDIA «улучшает» 3D-модель интегрированной нейронной сетью. Компания предлагает встроить ИИ в сам процесс рендера. Пока смотрится странно и сомнительно, но посмотрим на будущие демонстрации.
Путь в будущее — даже для игр прошлого
Не все новые технологии крутятся вокруг нейронных сетей. Многие разработчики связывают будущее графики с трассировкой путей — или «полной трассировкой лучей», как ее с недавних называет NVIDIA.
В некоторых играх уже можно оценить преимущества и недостатки этой технологии: Alan Wake 2, Minecraft RTX, Cyberpunk 2077, Indiana Jones and the Great Circle и Quake II RTX, а также фанатские Half-Life: Ray Traced и Quake 1: Ray Traced. Среди преимуществ — реалистичный теневой рисунок, отраженный свет даже в старых играх, все источники автоматически становятся динамическими.
Недостаток — нужна довольно мощная и современная видеокарта. Даже для Minecraft RTX.
По словам разработчиков Metro Exodus: Enhanced Edition и создателей Indiana Jones and the Great Circle, интегрированная на ранних этапах полная трассировка экономит огромное количество времени, которое раньше требовалось на дизайн статического освещения и его «запекание», а также на добавление карт отражений и прочих «костылей».
Меньше бесполезной работы — больше времени на новые игры. По крайней мере, хочется в это верить.
Но не надо заблуждаться, будто при трассировке путей графике больше некуда двигаться. Современные модели пока не симулируют сложные физические процессы: рефракции в стекле и в воде, физически корректное размытие в движении, глубину резкости и многое другое.
Потребительским видеокартам еще очень далеко до суперкомпьютеров, на которых Pixar и Sony Pictures Animation рендерят свои мультфильмы. А ILM и прочие студии визуальных эффектов — графику для голливудских блокбастеров.
Зато они уже могут улучшить графику в хитах прошлого. Для этого NVIDIA выпустила RTX Remix — платформу для добавления трассировки, новых моделей и текстур в старые игры. Созданные с ее помощью ремейки уже доступны — например, если у вас есть Portal в Steam, можно скачать модификацию Portal with RTX.
Фанаты уже больше года упорно работают над улучшением Star Wars: Republic Commando, Return to Castle Wolfenstein, Painkiller, Max Payne 1 и 2, Need for Speed: Most Wanted, Call of Duty 4: Modern Warfare и многих других игр.
Уже сейчас можно поиграть в раннюю версию Need for Speed: Underground. Разработчики заменили еще не все модели и текстуры, игра работает медленно даже на новых топовых видеокартах, но хочется надеяться, что со временем многие старые хиты заиграют новыми красками.
RTX Remix на лету заменяет рендерер игры на свой собственный, но то же самое делают многие современные ремейки старых игр. В основе GTA Trilogy: The Definitive Edition и недавно выпущенной Ninja Gaiden 2 Black лежат оригинальные игры, но на экране мы видим графику на Unreal Engine 4. Это еще один современный тренд.
Фейковые кадры и не только
Группу технологий DLSS от NVIDIA уже давно называют «фейковыми кадрами». Анонс новых видеокарт GeForce RTX 50-ой серии с поддержкой DLSS 4 Multi Frame Generation, которая увеличивает фреймрейт до 4 раз, только закрепил за технологией это прозвище. И с одной стороны, это справедливо. По словам гендиректора NVIDIA Дженсена Хуанга, нейросети могут генерировать до 90% пикселей в играх.
С другой, DLSS 4 Multi Frame Generation генерирует кадры не из пустого места. У нее уже есть кадр, отрендеренный самой видеокартой. А вместе с ним – векторы движения всех объектов на экране. Раньше NVIDIA использовала аппаратный генератор кадров, но в новых видеокартах для этого применяется искусственный интеллект. Он серьезно снижает задержки и уменьшает количество графических артефактов.
Создание игр с классическими методами освещения и трехмерными объектами — это всегда хитрости и подмены. Разработчики «подкидывают» в игры невидимые источники света, красят стены и предметы, создают поддельные комнаты за «зеркалами» и приклеивают предметы к стенам, чтобы вы не заглянули за ширму всей этой «магии». Чем сложнее, больше и красивее игра, тем больше времени и ресурсов нужно, чтобы вручную сделать и разместить все эти обманки.
Зачастую вся эта бутафория статична. Чтобы придать ей динамики, необходимо столько ресурсов компьютера или игровой консоли, что сегодня проще сделать «по-настоящему» — при помощи трассировки путей или лучей. Так что переход на реалистичное освещение неизбежен.
В середине нулевых банальные шейдеры были доступны лишь избранным с лучшими версиями GeForce 4, а сегодня они повсюду. Точно так же трассировка в будущем обязательно в полной мере заработает и на среднебюджетных видеокартах.
Будущее графики в играх — за трассировкой путей и нейросетями. NVIDIA, AMD, Intel, Sony и Microsoft это знают. В статье мы в основном говорили про технологии NVIDIA, но остальные двигаются в том же направлении, просто пока немного отстают.
Если смотреть на последние анонсы DirectX, AMD, Intel и Sony, то иногда между строк, а иногда и прямым текстом они говорят, что будущее в симуляции реализма и в «угадывании» нейросетями. Но все же главное, чтобы игры были хорошие.