Что такое трассировка лучей (и что она значит для компьютерных игр)

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

Хотя трассировка лучей обычно упоминается в компьютерных играх, Microsofts Xbox Series X и Sonys PlayStation 5 также имеют необходимое оборудование и растущую библиотеку игр, которые ее поддерживают. В этой статье мы рассмотрим, чем трассировка лучей отличается от традиционной растеризации, почему она важна для будущего игр и, конечно, должна ли трассировка лучей повлиять на покупку вашего следующего игрового ПК (будь то игровой настольный компьютер или игровой ноутбук) или консоли.

Основы трассировки лучей

Трассировка лучей - это техника, которая хорошо подходит для освещения сгенерированной компьютером сцены. Концепция не нова; новое - это наличие вычислительных мощностей для ее эффективного применения.

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

Это базовое объяснение показывает, как трассировка лучей параллельна реальному освещению: Свет, попадающий в глаза, сообщает мозгу, что он видит. В анимационных фильмах трассировка лучей используется уже несколько десятилетий; например, "История игрушек" компании Pixar стала известна в 1995 году, и с тех пор в области рендеринга был достигнут большой прогресс.

Почти столько же времени, сколько киноиндустрия использует трассировку лучей, видеоигры, однако, полагаются на другую технику, растеризацию, для рендеринга 3D-миров. Но прежде чем мы перейдем к причинам этого, давайте сравним трассировку лучей с растеризацией.

Основы: Трассировка лучей против растеризации

Растеризация - это объектно-ориентированный подход к рендерингу сцены. Каждый объект сначала окрашивается в цвет, а затем применяется логика, чтобы показать только те пиксели, которые находятся ближе всего к глазу. Трассировка лучей, напротив, сначала окрашивает пиксели, а затем идентифицирует их с объектами. Просто... это все объясняет, верно?

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

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

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

Основные игры, познакомьтесь с трассировкой лучей

Десятилетия назад растеризация заняла свое место в видеоиграх, поскольку необходимое для этого оборудование было достаточно доступным для обычных покупателей, в отличие от того, что требовалось для трассировки лучей. Это по-прежнему в значительной степени верно; игровые видеокарты оптимизированы для растеризации и будут оптимизированы еще много лет.

Путь трассировки лучей в массовые игры начался в 2018 году с запуском линейки настольных карт Nvidia GeForce RTX в виде GeForce RTX 2080. В 2020 году Nvidia представила второе поколение карт серии GeForce RTX 3000 (во главе с GeForce RTX 3080), а конкурирующая компания AMD быстро последовала ее примеру, представив серию Radeon RX 6000. (См. наш обзор флагманской модели Radeon RX 6800 XT.)

Вкратце, трассировка лучей так долго не появлялась на игровой сцене, потому что вычислительные ресурсы для ее реализации были недостижимы по ценам, которые позволили бы внедрить ее в массовое использование. Конечно, начальная стоимость все еще относительно высока - ни AMD, ни Nvidia пока не предлагают настольных видеокарт низкого класса с аппаратной трассировкой лучей. На данный момент видеокартой "начального уровня" с аппаратной трассировкой лучей является GeForce RTX 2060, которая вышла на рынок в 2019 году по не очень бюджетной цене $349 и продается намного дороже этой цены из большинства источников в наши дни, что связано с высоким спросом на видеокарты (и низким предложением на них)

.

Но все же в какой-то момент цены стабилизируются. И сцена создана для продолжения массового внедрения, особенно с учетом того, что к этой партии присоединились новейшие игровые консоли.

Визуальные улучшения с помощью трассировки лучей

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

Сначала - краткая справка по терминологии. Карты Nvidias под брендом RTX - GeForce RTX 2060 или RTX 3080, например, - используют собственную реализацию рендеринга графики, которую Nvidia широко называет "RTX". Эта реализация может использовать DirectX 12 и, в частности, DirectX Raytracing API (DXR) для рендеринга траекторий света в игровом движке.

DXR - это API трассировки лучей, который может работать как независимо от аппаратного обеспечения Nvidias, так и в сочетании с ним. Например, разработчики игры Crysis несколько лет назад продемонстрировали демо-версию собственного движка Crytek, в которой трассировка лучей отражений выполнялась на карте AMD Radeon серии RX 5000 (GPU без RT-ядер на борту), хотя производительность была ожидаемо низкой. Если бы вы запустили ту же демонстрацию на карте AMD Radeon RX 6000 Series, оснащенной RT-ядрами на борту, она бы обрабатывала DXR-сцену значительно быстрее.

Ядра RT (которые специализируются на математической обработке световых лучей) помогают любой видеокарте, как AMD, так и Nvidia, работать с DXR быстрее, но для работы DXR ядра RT не нужны.

Давайте посмотрим, как трассировка лучей может визуально улучшить игру. Я сделал следующие скриншоты пар в игре Shadow of the Tomb Raider от Square Enix для ПК, которая поддерживает трассировку лучей в тенях на видеокартах Nvidia GeForce RTX. В частности, обратите внимание на тени на земле.

Еще одна пара сцен из Shadow of the Tomb Raider...

И давайте посмотрим на финальный сет...

Тени, прорисованные лучами, более мягкие и реалистичные по сравнению с более жесткими растровыми версиями. Их темнота варьируется в зависимости от того, сколько света блокирует объект, и даже внутри самой тени, в то время как растеризация, кажется, придает каждому объекту жесткий край. Растеризованные тени все еще выглядят неплохо, но после игры с прорисованными лучами тенями сложно вернуться назад.

В настоящее время поддержка трассировки лучей в играх несколько полярна, поскольку эта функция должна быть реализована отдельно для карт AMD и Nvidia. Больше игр поддерживают карты Nvidia, в основном потому, что Nvidia была единственной компанией, выпускающей видеокарты с поддержкой трассировки лучей до 2020 года, но все больше игр начинают поддерживать оба варианта. Примерами последних являются Cyberpunk 2077, Dirt 5, Godfall и World of Warcraft: Shadowlands.

Трассировка лучей: Влияние на производительность

Когда речь заходит о графике на ПК, за все приходится платить, и визуальные преимущества трассировки лучей не являются исключением. Ее включение обычно приводит к снижению производительности, которое варьируется в зависимости от игры.

Взять, к примеру, встроенный бенчмарк в игре Shadow of the Tomb Raider. Я запустил его на игровом настольном компьютере с процессором AMD Ryzen 9 5900X, видеокартой GeForce RTX 3080 и 32 ГБ памяти. Представленные ниже цифры, протестированные в двух разрешениях, - это среднее количество кадров в секунду (fps). Для плавного игрового процесса требуется не менее 60 кадров в секунду.

Двухзначное увеличение производительности за счет трассировки лучей является значительным, и обратите внимание, что это при включенной функции DLSS, повышающей производительность. DLSS - это специфическая функция Nvidia, поддерживаемая в некоторых играх, которая помогает снизить влияние вычислительной нагрузки трассировки лучей на частоту кадров. (Подробнее о DLSS читайте в статье Тестирование Nvidias DLSS 2.0: Более высокая частота кадров бесплатно?) DLSS показывает большие перспективы, но игра должна поддерживать его. Хотя в наши дни она набирает обороты, ее поддержка далеко не всеобщая.

Напомним, что этот компромисс производительности происходит только при применении эффектов тени и освещения, поэтому сегодняшние технологии действительно далеки от использования трассировки лучей для рендеринга всей игры. Тем не менее, в данном случае снижение производительности является наихудшим сценарием, так как в этой игре настройки теней с трассировкой лучей не оказывают такого негативного влияния на производительность.

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

DLSS - один из подходов, который также поможет, и мы ожидаем, что со временем DLSS будет совершенствоваться и расширяться. AMD также работает над собственной альтернативой снижения производительности в стиле DLSS, получившей название "Super Resolution". Super Resolution разрабатывается совместно с командой Microsofts DirectML ("ML" - сокращение от "machine-learning"). Тем не менее, AMD утверждает, что эта технология все еще далека, и, скорее всего, мы увидим игры с ней не раньше 2022 года.

.

Будущее с трассировкой лучей: Медленно набирает обороты

Несмотря на ограниченное применение трассировки лучей в современных играх, она должна остаться. Об этом было написано на стене с тех пор, как AMD вслед за Nvidia представила видеокарты Radeon с аппаратной поддержкой трассировки лучей. Аппаратная поддержка трассировки лучей в Xbox Series X и PlayStation 5 еще больше подтверждает эту мысль.

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

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

Сегодняшняя ограниченная доступность и высокие цены на видеокарты делают трассировку лучей еще более значительным вложением, чем она должна быть, поэтому, если вам не посчастливилось приобрести GeForce RTX или Radeon RX 6800, возможно, имеет смысл оставить трассировку лучей в списке желаний, а деньги потратить на игры. В долгосрочной перспективе такая стратегия может сработать даже лучше, поскольку вы сможете заново испытать все купленные игры с поддержкой трассировки лучей, пока вы ждали.

Ваше имя: *
Ваш e-mail: *
Код: Кликните на изображение чтобы обновить код, если он неразборчив
Введите код: