OTT объясняет: что такое трассировка лучей?

Трассировка лучей(Ray tracing) — это продвинутая форма компьютерной графики, которая имитирует работу света в реальной жизни. Он может создавать компьютерную графику, которая выглядит по-настоящему фотореалистично.

В прошлом трассировка лучей(ray tracing) была ограничена масштабными проектами компьютерной графики, такими как голливудские(Hollywood CG) компьютерные фильмы. Теперь его можно найти в компьютерных играх(PC gaming) , а вскоре и в игровых консолях следующего поколения.

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

Растеризация против трассировки лучей(Rasterization vs Ray Tracing)

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

Это известно как растеризация(rasterization) . «Растр» — это изображение, представленное в виде сетки пикселей, именно то, что отображается на вашем экране. Растеризация(Rasterization) — это процесс преобразования 3D-сцены в 2D-изображение на экране. 

Это необходимо сделать, потому что 3D-сцена — это, ну, 3D. Он имеет глубину, поэтому виртуальные объекты могут двигаться мимо друг друга и смотреть на них с любой точки зрения. В процессе растеризации компьютер должен выяснить, как выглядела бы эта сцена, если бы ваш экран был в основном окном в этот трехмерный мир.

В реальной жизни у сцены есть текстура и освещение(texture and lighting) , а также форма, глубина и размер(depth and size) . Поскольку симуляция света традиционно требовала больше компьютерной мощности(computer power) , чем способен любой домашний компьютер , программисты придумали приемы и ярлыки, чтобы создать что-то, что выглядит близко к реальному свету, (home computer)цвету и текстуре(color and texture) , используя этот процесс растеризации.

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

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

Используя трассировку лучей(ray tracing) , одна техника создает объекты, отражения, тени и другие элементы сцены, которые выглядят реальными. Этот реализм происходит естественным образом в результате симуляции, никаких уловок или ярлыков не требуется!

Где испытать трассировку лучей(Where To Experience Ray Tracing)

Если вы хотите увидеть трассировку лучей в действии, все, что вам нужно сделать, это посмотреть любой современный фильм, в котором используется компьютерная графика. Если вы посмотрите компьютерный фильм(CG film) , такой как «История игрушек 4»(Toy Story 4) , все, что вы увидите, — результат трассировки лучей(ray tracing)

Если вы хотите исследовать интерактивный мир с трассировкой лучей, в настоящее время в городе есть только одна игра. Графические процессоры Nvidia серии RTX(RTX series of Nvidia GPUs) , а также видеоигры и приложения, поддерживающие эту технологию. Вы можете запускать некоторые приложения трассировки лучей на оборудовании, отличном от RTX(RTX hardware) , но вы не получите хорошей производительности. Обязательно ознакомьтесь с нашей статьей о лучших играх, демонстрирующих оборудование RTX(RTX hardware) .

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

Как достигается трассировка лучей в реальном времени?(How Is Real Time Ray Tracing Achieved?)

Любой компьютер может визуализировать 3D-сцену с помощью трассировки лучей. Люди, которые работают с пакетами 3D-рендеринга, делают это годами. Любой современный процессор(CPU) может выполнять фактические вычисления, необходимые для отслеживания пути света вокруг сцены.

Однако современные центральные и графические процессоры(CPUs and GPUs) не могут обрабатывать эти числа достаточно быстро, чтобы генерировать изображение в режиме реального времени. Например, огромные компьютерные фермы, используемые для создания таких фильмов, как «Корпорация монстров (Monsters) » или «История игрушек»(Inc or Toy Story) , требуют часов для рендеринга одного кадра конечного продукта. 

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

Так как же графическим процессорам, таким как серия Nvidia RTX,(Nvidia RTX series) удается использовать метод трассировки лучей с играбельной частотой кадров? Ответ заключается в том, что они не используют трассировку(t use ray) лучей для всего. По крайней мере, не в современных названиях.

Хитрость заключается в сочетании традиционной графики с выборочной трассировкой лучей. Карты RTX имеют специальное оборудование для трассировки лучей, которое находится рядом с более традиционным графическим процессором(GPU) . Таким образом, трассировка лучей может компенсировать некоторые недостатки традиционного графического оборудования.

Есть видеоигры, (video game)в которые(are) можно играть с картой RTX(RTX card) с полной трассировкой лучей. Лучший пример — Quake II RTX . Это видеоигра(video game) , которой уже несколько десятилетий , и она достаточно проста, чтобы в ней была возможна полная трассировка лучей в реальном времени. Однако когда дело доходит до применения чистой трассировки лучей в современных видеоиграх(video game) , пройдут еще годы, прежде чем такое оборудование станет массовым.

Трассировка лучей — это будущее?(Is Ray Tracing the Future?)

Короткий ответ: да, за трассировкой лучей(ray tracing) будущее. Более длинный ответ заключается в том, что по мере того, как оборудование, обеспечивающее трассировку лучей(ray tracing) в реальном времени , становится дешевле, мы, вероятно, увидим, как оно постепенно заменит традиционный рендеринг. Если графика с трассировкой лучей станет нормальной частью нового поколения консолей, пути назад уже не будет.

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

Другим важным признаком того, что трассировка лучей станет основным методом рендеринга,(rendering method) является то, что теперь она включена в общие инструменты, которые разработчики используют для создания видеоигр и других 3D-приложений. Другими словами, разработчикам больше не нужно изобретать собственные решения для трассировки лучей.

Популярные графические движки, такие как Unreal Engine 4 или Frostbite , теперь включают поддержку трассировки лучей RTX с аппаратным ускорением. (RTX)Это повышает вероятность того, что разработчики включат его в качестве опции для своих игр.

Стоит ли покупать трассировку лучей сейчас?(Should You Buy Into Ray Tracing Now?)

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

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



About the author

Я веб-разработчик с опытом работы более 10 лет. Я специализируюсь на разработке Chrome OS и работал над широким спектром проектов от небольших стартапов до компаний из списка Fortune 500. Я также являюсь экспертом по учетным записям пользователей и семейной безопасности и разработал несколько успешных приложений для Android.



Related posts