Наверх
2 комментария 26/03/2018

Что такое трассировка лучей и нужна ли она нам в играх?

Что такое трассировка лучей и нужна ли она нам в играх?

Компания Nvidia недавно представила технологию RTX, которая должна наконец-то принести метод трассировки лучей в игры. Трассировка лучей (рейтрейсинг) — метод далеко не новый. Применительно к играм о нём говорили ещё лет 20 назад, а сам термин относительно компьютерной графики возник в 1982 году, и с тех пор в играх метод так и не появился. Но что это вообще такое?

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

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

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

Для примера, для построения изображения разрешением 1024 х 768 пикселей посредством рейтрейсинга необходимо сформировать 768 432 луча. При этом каждый луч может как отражаться, так и преломляться, что в итоге приводит к увеличению количества трассируемых лучей в несколько раз. И если в случае обычных методов рендеринга необходимые полигоны просто нужно успеть отрисовать, то в случае рейтрейсинга каждый луч требует постоянных математических расчётов, начиная с момента его испускания.

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

Это ожидаемая многими Metro Exodus. Она будет первой игрой AAA-класса, использующей технологию RTX. Но видите ли вы на видео что-то необычное? Если не знать, куда смотреть, большинство просто не поймёт, что данный ролик демонстрирует нам ожидаемую последние пару десятков лет технологию. На самом же деле рейтрейсинг в Metro будет использоваться для некоторых эффектов глобального освещения. Если точнее, для модели затенения ambient occlusion и для непрямого освещения indirect lighting. При этом классическая растеризация никуда не денется.

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

Думаю, стоит также отдельно оговорить момент касательно технологии Nvidia RTX и карт Volta. Как известно, в продаже имеется лишь две модели, использующие GPU GV100 — это ускоритель Tesla V100 и более близкий к народу, но безумно дорогой адаптер Titan V. Несомненно, в ближайшее время на рынок выйдут массовые видеокарты с GPU Volta, но ведь они достаточно долгое время будут в меньшинстве. Особенно, учитывая, что текущих адаптеров Pascal большинству хватает с головой. Да и майнинговую лихорадку, которая может испортить выход новинок, сбрасывать со счетов не стоит. Так неужели насладиться рейтрейсингом в играх в ближайшие пару лет смогут лишь владельцы новых карт Nvidia? Вовсе нет. Да, Nvidia говорит о неких возможностях GPU Volta аппаратно ускорять трассировку лучей, хотя подробностей пока ноль. Но выводить на потребительский рынок технологию, которая недоступна массам — глупость. Поэтому у нас есть Microsoft DirectX Raytracing (DXR) — набор новых инструментов и методов для API DirectX 12. Именно он будет отвечать как за аппаратную, так и за сугубо программную реализацию рейтрейсинга в играх. Последний вариант как раз интересен всем тем, у кого не будет видеокарт Volta.

Однако тут возникает вопрос касательно оптимизации и производительности. Приведу пример. Многие знают технологии Nvidia HairWorks и AMD TressFX Hair, которые позволяют более реалистично отрисовать волосы и шерсть. И эти технологии оптимизированы под адаптеры GeForce и Radeon соответственно. При этом на «чужих» видеокартах они прекрасно работают, только сильнее просаживают fps. Аналогичная ситуация будет и с рейтрейсингом в играх. Вопрос лишь в том, насколько сильно у адаптеров, не относящихся к поколению Volta, будет просаживаться fps при активации эффектов, связанных с трассировкой лучей. Это, к слову, ещё один довод в пользу того, что в ближайшие годы рейтрейсинг в играх будет в зачаточном виде.

Что касается AMD, компания на днях также представила собственный движок трассировки лучей — Radeon Rays 2.0. Только он базируется уже на основе API Vulkan. При этом ни о каких ограничениях в поколении GPU указано не было.

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

 

 

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Загрузка...

2 комментария

сначала новые
по рейтингу сначала новые по хронологии

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

Modal box

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: