RayTracing либо трассировка лучей — одна из уникальных технологий компьютерной графики, правило которой достаточно просто объяснить. Достаточно взглянуть вокруг: все без исключения, что мы видим — это отраженные от объектов лучи света, воспринимаемые нашими глазами. В том числе и сейчас, когда вы читаете этот текст, миллиарды фотонов достигают ваших зрительных органов, вся эта информация обрабатывается мозгом, также из нее и создается «изображение» в вашей голове.
В общем, да, можно даже сказать, что вся видимая нами действительность — это только отраженный свет.
Трассировка лучей — это технология рендеринга трехмерной графики, где применяется этот принцип. Специальный алгоритм отслеживает путь луча от предмета освещения, а потом создает симуляцию того, как он взаимодействует с объектами: отражается, преломляется и так далее.
Как вы уже могли догадаться, Ray Tracing позволяет создавать невероятно реалистичное освещение, практически неотличимое от реального. Алгоритм принимает во внимание, где именно луч света касается объекта, учитывает свойства поверхности и вычисляет, как в таких случаях поведет себя этот луч, где он начнет рассеиваться, где — отражаться от других объектов, где сменит цвет, а где отбросит тень.
В каком-то смысле трассировка лучей — это такая попытка симулировать человеческое зрение. И она гораздо сложнее классического и использующегося сейчас в играх метода рендеринга — растеризации.
При растеризации компьютер постоянно конвертирует трехмерную графику в двухмерные пиксели и, собственно, выводит их на экран. Большая часть эффектов, тех же теней или бликов сейчас создается благодаря шейдерам — именно шейдеры превращают статичные пиксели в тот самый «графон».
В общем, если Ray Tracing — это симуляция, то растеризация — симуляция симуляции. Однако у трассировки лучей есть один гигантский недостаток — она невероятно, изуверски требовательно к ресурсам. Обсчитать такое количество лучей, отследить путь каждого из них, вычислить преломления, воссоздать эффект прозрачности, — все это для видеокарты очень непросто.
Список игр, поддерживающих RTX, будет пополняться со временем. Под опцией RTX понимаются две функции: собственно, трассировка лучей, а также так называемая технология DLSS. Если вкратце, то DLSS — это сглаживание с помощью машинного обучения. DLSS тоже полагается на отдельный чип внутри видеокарты двадцатой серии.
В теории, DLSS позволит устранять лесенки с границ объектов без снижения производительности.
Поэтому стоит пояснить из этого списка: часть игр будет выполнять трассировку лучей в реальном времени, другая часть — использовать DLSS, еще одна — и то, и другое. Пока что новая технология заявлена в следующих тайтлах:
Assetto Corsa Competizione from Kunos Simulazioni
Atomic Heart
Battlefield V
Control
Enlisted
Justice
JX3
MechWarrior 5: Mercenaries
Metro Exodus
ProjectDH
Shadow of the Tomb Raider
Ark: Survival Evolved
Atomic Heart
Dauntless
Final Fantasy XV
Fractured Lands
Hitman 2
Islands of Nyne
Justice
X3
Mechwarrior 5: Mercenaries
PlayerUnknownʼs Battlegrounds
Remnant: From
Serious Sam 4: Planet Badass
Shadow of the Tomb Raider
The Forge Arena from
We Happy Few
Когда никто не ждал появления рейтрейсинга в играх ещё столько же, сколько его и не было, NVIDIA ворвалась на массовый потребительский рынок с видеокартами GeForce RTX на основе архитектуры Turing, которые помимо стандартного увеличения производительности в играх в рамках поколения привнесли технологию RTX в ряд совместимых игр. Видеокарты оснащены RT-ядрами, отвечающими за расчет трассировки лучей в режиме реального времени, и в дополнение поддерживают новую технологию сглаживания DLSS на основе машинного обучения. Итак, что произошло? NVIDIA первой внедрила аппаратную поддержку рейтрейсинга в компьютерных играх (RTX), а просчет лучей происходит в режиме реального времени с помощью специальных тензорных RT-ядер. Все новые карты основываются на архитектуре NVIDIA с кодовым названием Turing, созданной на 12-нм техническом процессе. Именно она позволяет в реальном времени обрабатывать отражения световых лучей, помогая сделать графику в играх в разы более реалистичной и кинематографичной.
DLSS – это технология суперсэмплинга (сглаживания), которая работает и обучается при помощи нейросетей. Если и сейчас непонятно, то ничего страшного. Здесь всё очень просто. DLSS – это, по сути, самое обычное сглаживание краев на игровых объектах, но если обычное сглаживание использует мощности GPU (графического чипа) видеокарты, то для работы DLSS, NVIDIA выделила отдельный тензорный блок в чипе, оптимизированный для работы нейросетями. И чем больше данных доступно ИИ, тем лучше его производительность и результат в сглаживании. Разумеется, включение DLSS значительно уменьшает нагрузку с GPU видеокарты, поэтому он наиболее эффективен в играх на разрешении 4К, где обычное сглаживание потребляет невероятно много ресурсов видеочипа. Плюс, глубокое обучение нейросетей DLSS позволяет со временем еще больше увеличить производительность в играх, как при включенной трассировке лучей, так и без неё.
Будущее трассировки лучей и какие игры будут поддерживать рейтрейсинг?
Что ждет рейтрейсинг в будущем и какие у него перспективы? На самом деле, кто бы что ни говорил про трассировку, и в частности, про видеокарты GeForce RTX, будущее у этой технологии определенно есть. Для примера, достаточно вспомнить аналогичную ситуацию, когда был релиз DirectX 10. Многие утверждали, что и на DX9 неплохо «живется», а все эти новинки от лукавого, но двигатель прогресса не остановить. Сейчас это происходит и с DXR. Как говорится, «Назад пути нет», а количество игр с поддержкой рейтрейсинга будет только увеличиваться.
Список литературы:
LevelUp [Электронный ресурс]. - Режим доступа: https://levelup-shop.ru
Канобу [Электронный ресурс]. - Режим доступа: https://kanobu.ru
Shazoo [Электронный ресурс]. - Режим доступа: https://shazoo.ru