NVIDIA представила новое поколение своих графических ускорителей. Флагманские модели уже можно купить (готовьтесь выложить от 65 до 126 тысяч рублей). Главным поводом приобрести новые видеокарты Жэнь-Сунь Хуан, президент Nvidia, называет технологию Ray Tracing (трассировку лучей).
Метод трассировки лучей позволяет добиться фотореалистичного освещения в игре и более реалистичной картинки в целом. Так говорят нам рекламные баннеры, маркетологи и сам Жэнь-Сунь, стоя на сцене. Стоит ли нам, обычным геймерам, срочно менять наши видеокарты на новенькие NVIDIA RTX? Попробуем разобраться, почему все-таки нужно расслабиться и не бежать за новыми картами.
Жэнь-Сунь Хуан держит мечту любого геймера
НАЗАД В ПРОШЛОЕ
Вообще алгоритм рейтрейсинга (трассировки лучей) тесно связан и еще с некоторыми приемами – с рейкастингом и трассировкой пути. Трассировка пути — это полноценный рендеринг изображения методом по сути схожим с тем, как наш глаз видит изображение. Суть заключается в том, что из камеры пускается луч и запоминает все, что с ним происходит по пути, как меняются его свойства (частота, длина волны), рассеивается, преломляется или поглощается он. И таких лучей выпускаются миллиарды, чтобы получить картинку хорошего качества.
Трассировка лучей — это уже частный случай трассировки путей, она служит лишь для создания реалистичного освещения, все остальное изображение кроме света рендерится традиционной растеризацией. Освещение просчитывается точно так же, путем испускания лучей из камеры и просчета всех возможных исходов для каждого луча.
Рэйкастинг — в какой-то мере очень упрощенный вариант трассировки пути и лучей, в этом методе изображение строится достаточно просто: из камеры испускаются лучи, а когда они доходят до внутриигрового объекта, программа, исходя из его свойств, решает, каким цветом закрашивать пиксель. После достижения объекта луч прекращает движение. Вдаваться в глубокие подробности их работы нам не нужно, это чистая математика (как и очень многое в играх). Главное понимать, что они делают на выходе.
Получается, что существует четыре метода рендеринга: растеризация, рэйкастинг, трассировка лучей и трассировка пути. Самое интересное, что все методы уже давно опробованы и вылизаны до блеска, сейчас лишь стоит вопрос в обеспечении этих алгоритмов высокой производительностью. А что, если я вам скажу, что вы играли в игры с использованием рейкастинга уже очень давно? Но для начала немного дат.
Впервые алгоритм рейкастинга для использования в качестве рендеринга изображения был использован Артуром Аппелем в 1968 году, само название, как и трассировку лучей, сформулировал Скотт Рот в 1982 году. И все, казалось бы, ради науки. Технология использовалась для моделирования в различных сферах: археологи, медики, физики и другие ученые использовали эту технологию для моделирования материальных объектов и их поведения в условиях эксперимента. Наука и сейчас использует компьютерные технологии, при моделировании поведения частиц на большом адронном колайдере активно применяются алгоритмы трассировки для визуализации как результатов проведенного эксперимента, так и предсказания предполагаемого. Но, как это часто бывает, наука почти всегда появляется в обыденной жизни, и у геймеров в особенности.
Самая известная игра, где был применен этот метод впервые – Wolfenstein 3D (но это не точно). А все потому что рейкастинг крайне нетребователен к железу, да и объем памяти, занимаемой игрой, довольно мал. В интернете полно статей о том, как написать игровой движок для игры от первого лица на основе рэйкастинга. Но есть один недостаток этого метода: при сложных сценах достаточно трудно правильно понять, прошел луч мимо объекта или нет. Ну и это все еще не настоящее 3D.
Трассировка пути была продумана чуть позже, в 1986 году, Джеймсом Кадзией. Математически она не сильно сложнее, это все тот же метод бросания лучей, только луч продолжает движение после столкновения с объектом, и основой становится решение программы о том отразился, преломился или рассеялся луч, какие характеристики он имеет при контакте и после, определяя цвет пикселя. Соответственно, это уже колоссальна вычислительная нагрузка. Даже применение трассировки лучей задача сложная, а это только освещение.
Тут старьЕ? Зачем оно нам? Какие преимущества?
Получается, что технология из прошлого столетия, а дошла до нас только сейчас? Не совсем, она использовалась, например, для создания освещения в мультфильмах, и просчет даже одного кадра требовал существенного времени при использовании мощных серверов. NVIDIA прибегнула к хитрости, ее тензорные ядра (которые Nvidia зазвала RT ядрами, вычислительные блоки, присутствующие только в новых видеокартах) неточны, но весьма быстры. Нейросеть, получая результаты вычислений RT ядер, позволяет предсказывать, как будет вести себя свет, и сглаживает шумы, характерные для технологий рейтрейсинга и трассировки пути. Просчитывать приходится гораздо меньше. А так как это свет, то отсутствуют любые визуальные искажения. Если бы это была трассировка пути со сглаживанием зашумленного изображения, получилась бы искаженная и замыленная картинка.
![](/uploads/imgs/pre_1538061279__.png)
Так выглядело бы нефильтрованное изображение
Бежать ли в магазин и покупать такие чудо-видеокарты? Не стоит спешить. Несмотря на определенные уникальные графические новшества, которые, несомненно, сделают картинку в играх красивее, есть и весьма существенные поводы не тратиться на новые карточки.
Во-первых, аппаратную поддержку технологии получат, судя по всему, только старшие решения – RTX 2080 Ti/2080/2070. Можно, конечно, попытать удачу и попробовать переключить заветный ползунок в положение ВКЛ в соответствующих играх, но производительность игры в этом случае будет гораздо меньше, учитывая, что на максимальных настройках и в fullHD не особо впечатляют кадрами в секунду даже новинки. Пока неизвестно, когда аппаратную поддержку получат графические решения от AMD. В итоге реализация рейтрейсинга в играх в ближайшее время будет опцией, доступной только владельцам топовых игровых машин, как долго ждать, пока ей смогут наслаждаться большинство — говорить сложно, скорее всего, придется ждать как минимум следующего поколения консолей, которые возможно получат аппаратную поддержку, или когда появятся более доступные решения. Полноценный переход на эту новую технологию будет происходить медленно и постепенно, примерно как переход игр с 9 на 11 DirectX, что зависело от количества поддерживающих новый API видеокарт у геймеров и от выхода нового поколения консолей.
Во-вторых, визуально разительных отличий, выводящих картинку в играх на новый уровень, нам пока так и не показали. Так что для геймерм не стоит поспешно выкладывать за новые видеокарты весьма солидные суммы денег.
Но и плюсы имеются. В 4K во многих играх теперь достигаются заветные 60 fps и даже больше, теперь осталось только бороться за 4К 144 Гц. Производительность в целом так же весьма серьезно подросла, предположительно GTX 2050 ti за свои деньги будет даже быстрее GTX 1060. Поживем — увидим.
Влияние на разработку игр
Справедливости ради, стоит заметить, что у разработчиков игр радости куда больше. Если рейтрейсинг станет широко распространен, им больше не придется тратить сотни часов на ручную настройку освещения. Больше не нужно применять множество ухищрений и костылей, чтобы добиться реалистичной картинки. Это позволит сконцентрироваться на других игровых аспектах, алгоритм сделает все за человека. Правда, это не особо актуально. Пока технология не станет доступна подавляющему числу людей, многочасовой людской труд над светом в играх никуда не денется.
ВЫдохнули
Подводя черту, стоит отметить, что технология, несмотря на то, что на данный момент она мало кому доступна и не производит ВАУ эффекта, в будущем может кардинально преобразовать как графику в играх, так и в некотором плане развязать игровым студиям руки, давая больший потенциал в реализации творческих идей. Технологию уже поддерживают Microsoft и AMD, а это значит, что технология уже не похожа на проприетарные PhysX или HairWorks. То есть видеокарты из лагеря красных тоже получат аппаратную поддержку гарантированно, а компания из Рэдмонда уже добавила поддержку рэйтрейсинга в DirectX. Если люди оценят, а технологии будут развиваться такими же быстрыми темпами, вполне скоро мы сможем стать свидетелями чего-то интересного.
![](/uploads/imgs/pre_1538062763__.jpg)
Примерно такая графика нас ждет
А что вы думаете по поводу новых технологий?
Комментарии