OTT объясняет: что такое трассировка лучей?
Опубликовано: 2020-05-01Трассировка лучей — это продвинутая форма компьютерной графики, которая имитирует работу света в реальной жизни. Он может создавать компьютерную графику, которая выглядит по-настоящему фотореалистично.
В прошлом трассировка лучей была ограничена масштабными проектами компьютерной графики, такими как голливудские компьютерные фильмы. Теперь его можно найти в играх для ПК, а вскоре и в игровых консолях следующего поколения.
Чтобы понять, почему это взволновало так много людей, нам нужно сравнить графику с трассировкой лучей с основным методом рендеринга графики, который использовался до сих пор: растеризацией.

Растеризация против трассировки лучей
Современная компьютерная графика в реальном времени выглядит потрясающе! Трудно представить, что это имеет какое-то отношение к базовой 3D-графике двадцати-тридцатилетней давности. Правда в том, что такие консоли, как Playstation 1 и текущая Playstation 4, используют один и тот же базовый метод рендеринга 3D-графики, а затем помещают ее на ваш 2D-экран.
Это известно как растеризация . «Растр» — это изображение, представленное в виде сетки пикселей, именно то, что отображается на вашем экране. Растеризация — это процесс преобразования 3D-сцены в 2D-изображение на экране.
Это необходимо сделать, потому что 3D-сцена — это 3D. Он имеет глубину, поэтому виртуальные объекты могут двигаться мимо друг друга и смотреть на них с любой точки зрения. В процессе растеризации компьютер должен выяснить, как выглядела бы эта сцена, если бы ваш экран был в основном окном в этот трехмерный мир.

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

Используя трассировку лучей, один метод создает объекты, отражения, тени и другие элементы сцены, которые выглядят реальными. Этот реализм происходит естественным образом в результате симуляции, никаких уловок или ярлыков не требуется!
Где испытать трассировку лучей
Если вы хотите увидеть трассировку лучей в действии, все, что вам нужно сделать, это посмотреть любой современный фильм, в котором используется компьютерная графика. Если вы смотрите фильм компьютерной графики, такой как «История игрушек 4», все, что вы видите, является продуктом трассировки лучей.
Если вы хотите исследовать интерактивный мир с трассировкой лучей, в настоящее время в городе есть только одна игра. Графические процессоры Nvidia серии RTX, а также видеоигры и приложения, поддерживающие эту технологию. Вы можете запускать некоторые приложения для трассировки лучей на оборудовании, отличном от RTX, но вы не получите хорошей производительности. Обязательно ознакомьтесь с нашей статьей о лучших играх, демонстрирующих оборудование RTX.

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

Как достигается трассировка лучей в реальном времени?
Любой компьютер может визуализировать 3D-сцену с помощью трассировки лучей. Люди, которые работают с пакетами 3D-рендеринга, делают это годами. Любой современный процессор может выполнять фактические вычисления, необходимые для отслеживания пути света вокруг сцены.
Однако современные центральные и графические процессоры не могут обрабатывать эти числа достаточно быстро, чтобы генерировать изображение в режиме реального времени. Например, огромные компьютерные фермы, используемые для создания таких фильмов, как «Корпорация монстров» или «История игрушек», требуют часов для рендеринга одного кадра конечного продукта.
Современные видеоигры, напротив, должны генерировать не менее тридцати кадров изображения каждую секунду, чтобы считаться играбельными, при этом золотой стандарт в настоящее время установлен на отметке около 60 кадров в секунду.

Так как же графическим процессорам, таким как серия Nvidia RTX, удается использовать метод трассировки лучей с играбельной частотой кадров? Ответ заключается в том, что они не используют трассировку лучей для всего. По крайней мере, не в современных названиях.
Хитрость заключается в сочетании традиционной графики с выборочной трассировкой лучей. Карты RTX имеют специальное оборудование для трассировки лучей, которое находится рядом с более традиционным графическим процессором. Таким образом, трассировка лучей может компенсировать некоторые недостатки традиционного графического оборудования.
Есть видеоигры, в которые можно играть с картой RTX с полной трассировкой лучей. Лучший пример — Quake II RTX. Это видеоигра, которой уже несколько десятилетий, и она достаточно проста, чтобы в ней была возможна полная трассировка лучей в реальном времени. Однако когда дело доходит до применения чистой трассировки лучей в современных видеоиграх, пройдут еще годы, прежде чем такое оборудование станет массовым.
Является ли трассировка лучей будущим?
Короткий ответ: да, за трассировкой лучей будущее. Более длинный ответ заключается в том, что по мере того, как оборудование, обеспечивающее трассировку лучей в реальном времени, становится дешевле, мы, вероятно, увидим, как оно постепенно заменит традиционный рендеринг. Если графика с трассировкой лучей станет нормальной частью нового поколения консолей, пути назад уже не будет.
Разработчики могут смело включать функции трассировки лучей в свои игры, потому что все популярные платформы поддерживают их. Поскольку графика с трассировкой лучей превосходна, звезды действительно сошлись для появления трассировки лучей на доступном оборудовании. А это значит, что настоящий фотореализм наконец-то может быть здесь.

Другим важным признаком того, что трассировка лучей станет основным методом рендеринга, является то, что теперь она включена в общие инструменты, которые разработчики используют для создания видеоигр и других 3D-приложений. Другими словами, разработчикам больше не нужно изобретать собственные решения для трассировки лучей.
Популярные графические движки, такие как Unreal Engine 4 или Frostbite, теперь включают поддержку трассировки лучей RTX с аппаратным ускорением. Это повышает вероятность того, что разработчики включат его в качестве опции для своих игр.
Стоит ли покупать трассировку лучей сейчас?
На момент написания статьи мы все еще работали с оборудованием для трассировки лучей первого поколения. Хотя цены снизились, производительность по-прежнему довольно посредственная. Если вы хардкорный, ранний пользователь, то трассировка лучей на ПК может вам понравиться.
Если вы не готовы тратить сотни или тысячи долларов в качестве первопроходца, лучше инвестировать в основные консоли следующего поколения, которые обещают использовать эту технологию, или дождаться преемника карт серии RTX 20.