Как стать автором
Обновить

Что такое трассировка лучей, как она устроена и так ли нужна на самом деле

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров9.3K
Всего голосов 5: ↑2 и ↓30
Комментарии20

Комментарии 20

У левой немного добавил насыщения, контрастности и резкости, чтобы более-менее соответствовала. Можно носом ткнуть, где значительное преимущество RTX? Или это плохой пример который гуляет по сети?

Hidden text

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

На лучшие сравнения можно посмотреть тут: https://www.techpowerup.com/review/cyberpunk-2077-phantom-liberty-benchmark-test-performance-analysis/4.html — с одной стороны выбирайте pathtracing ("флагманская" технология), в другом ultra.

Спасибо, сразу не нашел такое сравнение "в лоб".

С pathtracing конечно смысла нет сравнивать. А вот Ultra с обычным RT Medium/Ultra приходится искать отличия. Но, скорее всего это заслуга разработчиков игры, что "прилизали" так картинку.

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

Я советую пощупать ведьмака 3 после нового патча с включенным RТХ. В этой игре очень много времени проводишь на природе, и именно она с RTХ ощущается по-настоящему, объемной и живой, даже без PT. Я сравнивал самостоятельно, эффект был гораздо сильней, чем искать разницу в видео чужих или на чужих скринах. Сравнивал новый патч на rx6800хt, после этого захотел видеокарту от зелёных, чтобы с более комфортным фпс перепройти игру с rtx :) Ну и ещё следует учитывать, что люди чуть разные, у них разные предпочтения и качественно разные органы чувств, например, у кого-то лучше слух и он больше любит музыку, и ему нужны наушники получше и подороже, чтобы насладиться музыкой, а кому-то хватит и затычек за 100 рублей с бубнящим звуком. В видеоиграх похожая ситуация, кто-то "чувствителен" к картинке и ему хочется все выкрутить на ультра, а кому-то все равно на rtx и он может спокойно играть на средне-минимальных. Отчасти еще поэтому для кого-то разница между rtx on/off есть, а для кого-то ее нет, это нормально.

P.s. автору статьи огромное спасибо.

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

Pathtracing считает в том числе рассеяние и переотражения, а не только пересечения основного луча.

Рекомендую глянуть видео "Поясняю за трассировку лучей в играх" (канал GodRay) на youtube, там довольно много хороших примеров и сравнение с классическими методами работы с освещением

Спасибо за рекомендацию. Очень познавательное видео.

В фильмах трассировка лучей мне кажется всегда была, просто в отличии от игр там не требуется считать лучи в реальном времени от 30 кадров в секунду

С трассировкой лучей проект выглядит визуально красив
С трассировкой лучей проект выглядит визуально красив

Картинка вообще неудачная, левая часть освещена солнцем, правая - в тени.

Картинка вообще неудачная, левая часть освещена солнцем, правая - в тени.

Классика же

Внедрение трассировки лучей в игровые движки, такие как Unreal Engine и Unity, позволило достичь беспрецедентного уровня реалистичности геймплея. Примером могут служить игры Watch Dogs: Legion и Cyberpunk 2077, где использование трассировки лучей значительно улучшило качество освещения, теней и отражений, делая игровой мир по-настоящему вовлекающим.

Как обычно, ученый насиловал журналиста? И в легионе и в киберпанке свои собственные движки.

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

RayTracing в играх почти не видно на статичной картинке. Потому что RT выглядит как отсутствие в динамике глюков, вызываемых упрощённой обработкой. То есть картинка с RT просто выглядит натурально. Главное, что RT даёт на практике - это чёткие отражения, сделанные из реальной сцены. Без RT отражения в играх бывают двух видов.

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

Второй способ - переносить рендер с камеры на поверхность зеркала. Тогда учитываются все подвижные объекты. Но - в камере вы смотрите на попу затылок вашей героини - и в зеркале будете видеть его же! Да ещё под кривым углом! А чтобы это не так бросалось в глаза, отражение заблюривают до состояния, когда едва видны контуры объектов. И растягивают, чтобы имитировать другой угол зрения. Этот подход терпимо работает для бликов на грязном мокром полу, но любое стекло и вода вызывают лютый кринж.

А, есть ещё третий способ - как знаменитое зеркало в сортире в Doom 3. Полностью строить зазеркальный мир за зеркалом и рендерить его как обычно вместе со всей сценой. Получается чётко, верно и динамично. Но зеркало потому и знаменито, что оно в игре одно. Там вся комната продумана под это зеркало. Этот подход совершенно не масштабируется.

И тут Raytracing входит на сцену с ноги и даёт метод получения кристально чистых, полностью геометрически верных отражений. А ещё геометрически правильное освещение от источников за кустами, витражами, решётками. С тенями от плафонов, боке, color fringing (это когда тень окрашивается в разные цвета в сцене с источниками разного цвета). И всё это само!

И тут геймеры такие: "ну, отражения почётче, тени... А так - всё то же самое, разницы не вижу!" А ты что блин ожидал-то увидеть вообще?! Автомобиль по сравнению с лошадью возит побольше, и в гараже не срёт, а так - всё то же самое! Не говоря уж про то, что не стоит смотреть отражения на скриншоте. На скриншоте не понятно, что динамическое, а что запечёное.

Чтобы посмотреть на Raytracing во всей красе, надо посмотреть на видео игры Control и Hogwarts (причём именно в замке). Я не играл Ведьмак, но вполне допускаю, что в глухом урочище с упырями RT действительно мало что даёт.

Без RT отражения в играх бывают двух видов.

И все они работают только на плоской поверхности.

А что есть "плоское"? Ну потому что я помню в Clair de Lune бочки, в которых отражается прицел (который там - объект в мире). Без RT.

Но только RT может сделать бублик, в котором отражается он сам, это да. Или адекватное изображение зеркала в зеркале.

С Control бяка вышла - официальная демонстрация эффектов RayTracing от GDC плохая, не показывает. Лучше вот видео посмотреть.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий