Лабиринт отражений: история трассировки лучей в играх

Технология, которая уже десять лет идёт в «риалтайм».

В закладки

У энтузиастов компьютерной графики раз в несколько лет обязательно возникает повод для бурных дискуссий: очередную технологию для заранее просчитанной графики удаётся «протащить» в игры — то есть начать обрабатывать в реальном времени.

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

Сегодня из шкафа обещаний вновь достали, наверное, самую заезженную легенду — трассировку лучей в реальном времени. Причём сделали это достаточно громко: Microsoft, NVIDIA, 4A Games, Epic и многие другие привезли на GDC сразу несколько демо-версий, где наглядно показали не столько плюсы технологии ray tracing, сколько в целом возможности её практической реализации в реальном времени. Достижение это, вне сомнения, историческое. Однако раскатывать губу пока не стоит.

Святой грааль

Суть трассировки лучей в 3D-графике достаточно проста: алгоритм имитирует движение лучей света, которые находятся в поле зрения камеры. Он следит за лучами (отсюда «трассировка«) и вносит коррективы в освещение сцены в зависимости от преломления, наличия отражающих поверхностей и объектов, которые стоят на пути лучей. В этом плане трассировка — это не очередной трюк, а весьма «честная» имитация того, как ведёт себя фотон в реальном мире в пределах обзора камеры.

Наглядная иллюстрация работы алгоритма трассировки лучей

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

Имитация преломления света с помощью трассировки лучей

По этим причинам трассировка ценится в архитектурных приложениях и промышленном дизайне. Технология помогает оценить, как будут взаимодействовать материалы интерьера с различным освещением, как будет смотреться тот или иной предмет в условиях «реального мира». Однако, за пределами статичных картинок, использование технологии трассировки нельзя назвать широким.

Лучистый Quake

Мы ещё вернёмся к успехам Microsoft и Nvidia, но перед этим будет не лишним рассказать про более ранние попытки привнести трассировку лучей в «риалтаймовую» графику.

В этом контексте нельзя не вспомнить демонстрацию Quake Wars: Ray Traced. Это проект корпорации Intel, который наглядно показывал плюсы частичной трассировки лучей на примере мультиплеерного шутера Quake Wars.

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

При разрешении в 720p демо работало при 20-40 кадрах в секунду, что было очень достойным результатом для 2009 года. Развитием этой демонстрации стал проект Wolfenstein: Ray Traced, который воплощал «облачный» подход работы с технологией, но дальше технодемок у Intel дело не пошло. Ускоритель Larrabee отменили, а в свежие процессоры Intel и вовсе ставят графику от AMD.

Не забывают про «кваку» и энтузиасты. Вполне рабочий способ трассировки продемонстрировал в прошлом году моддер Эдд Бидулф, которому удалось наделить Quake 2 вполне «честными» отражениями. Минусом реализации трассировки от Бидулфа можно назвать сильные артефакты (цифровой «шум» картинки) и видеокарту уровня Titan XP в системных требованиях.

Консоли тоже робко делали подходы к «честным» техникам, пусть и совсем незаметно. Очень ограниченное использование трассировки лучей было реализовано в Killzone Shadowfall, где малую часть отражаемых объектов отрабатывал алгоритм «ray-trace 2.5D».

Это помогло Guerrilla избавиться от некоторых артефактов современных локальных отражений. В Horizon Zero Dawn этот способ развития не получил, так как там разработчики решили сэкономить на отражениях в первую очередь.

Killzone Shadowfall

Схожие техники коррекции локальных отражений использовал и Crysis 3.

Ну и было бы несправедливо забыть про NVIDIA и её набор библиотек OptiX, который используется в том же Adobe After Effects CC. Собственно, на его базе и будет реализована технология DXR на видеокартах Nvidia.

Почему никто до сих пор не использует трассировку лучей в реальном времени

Ответ на вопрос из подзаголовка лежит на поверхности — всё дело чудовищной прожорливости даже при заранее просчитанных сценариях.

Трассировка лучей имитирует поведение света попиксельно, что занимает невероятное количество машинного времени в сравнении с другими реализациями техник глобального освещения.

В «Тачках» трассировку использовали очень избирательно

Даже такой гигант как Pixar впервые широко использовал трассировку начиная с мультфильма «Тачки», где требовалось показать реалистичные отражения в машинах.

При этом даже здесь технология работала частично. Какие-то элементы сцены считались «честно» (часть теней, отражения на самих авто), а какие-то вещи отдавались на откуп более экономным способам отображения.

Система «трассировки по запросу» от Pixar под названием REYES или её аналоги часто используются в создании голливудских спецэффектов. Они позволяют сохранить достоверность сцены и при этом уложиться в приемлемые для кинопроизводства сроки.

Реальность такова, что трассировка лучей не используется на все сто даже в дорогих блокбастерах. Но что игры?

Сравнение SSR и продвинутой трассировки лучей

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

Артефакты локальных отражений — главный бич современной графики

В качестве примера поговорим о screen space reflections. Это постэффект, который позволяет получить щадящие для «бюджета» сцены и в меру «честные» отражения. При этом, он нагружает исключительно видеокарту и работает так быстро, что его можно в большом количестве использовать в любых ситуациях. Проблема SSR в том, что это достаточно локальный эффект. Как только отражаемый объект пропадает из поля зрения камеры, он пропадает и в отражении. Артефакты SSR — частое явление и разные разработчики решают проблему по-разному.

По мнению Digital Foundry, ближе всего к совершенству подобрались в Uncharted 4, где используется сразу несколько техник имитации, включая классические кубические карты. В проекте Naughty Dog они переключаются на лету и почти не режут глаз. Такой метод «дыма и зеркал» (простите за ужасный каламбур) широко распространен почти во всех играх ААА-класса.

Трассировка против классических карт теней: разница не так уж разительна

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

Что предлагают Microsoft и Nvidia

Под стать подходу Pixar, Microsoft DirectX Raytracing (DXR) и NVIDIA RTX не предлагают «трассировать» всю сцену. Решение использует гибридный подход, когда какие-то элементы кадра считаются классическим способом растеризации (грубо говоря — обманом), а какие-то элементы, вроде отражений и некоторых теней, отрабатывает трассировка лучей.

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

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

Пример игрового освещения с почти полной утилизацией трассировки. Это концепт. Играм на текущем витке таких отражений не светит.

Адекватная поддержка DXR (трассировка работает на всех DX 12.1 видеокартах, но медленно) появится лишь начиная с архитектуры NVIDIA Volta. Это автоматически отметает большинство современных карт, хотя мы все ещё ждём новости на тему DXR от AMD. Тем более мы знаем, что NVIDIA планирует реализовать RTX и в открытом API Vulkan.

Впечатляющее демо с Капитаном Фазмой просчитывали четыре профессиональных ускорителя на базе NVIDIA Volta. У самой NVIDIA Volta до сих пор нет ни одной анонсированной потребительской версии, так что уже заявленные возможности DXR/RTX в Metro: Exodus увидят единицы.

С другой стороны, DXR уже поддерживают самые популярные игровые движки — Unreal Engine и Unity. Это вне всякого сомнения существенно ускорит интеграцию технологий трассировки в современные игры, включая даже инди-проекты.

Так что в будущем

Если трассировка лучей и вправду «Святой Грааль» графики в реальном времени, то сегодня всем сопричастным удалось прикоснуться к нему лишь на пару мгновений. От полноценного воплощения мечты о честном освещении в играх нас отделяют многие годы и не меньшее количество терафлопс. Такова реальность и её прекрасно осознают и те, кто пытается продвинуть DXR/RTX.

Однако грустить тоже не стоит. На наших глазах ведётся большая и системная работа, которая через одно-два поколения видеокарт может приблизить картинку игр к недосягаемым доселе вершинам. Разве это плохо?

#графика #технологии

Статьи по теме
NVIDIA представила видеокарту Quadro GV100 с поддержкой технологии трассировки лучей
Технодемо Metro Exodus с трассировкой лучей от NVIDIA
Трассировка лучей на примере штурмовиков из «Звёздных войн» и цифровой Энди Сёркис: технодемо Epic Games с GDС 2018
Microsoft и NVIDIA объявили о сотрудничестве в рамках работы над технологией трассировки лучей для DirectX 12
{ "author_name": "Максим Ханукецкий", "author_type": "editor", "tags": ["\u0433\u0440\u0430\u0444\u0438\u043a\u0430","\u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438"], "comments": 120, "likes": 213, "favorites": 60, "is_advertisement": false, "subsite_label": "flood", "id": 17900, "is_wide": true }
{ "id": 17900, "author_id": 8396, "diff_limit": 1000, "urls": {"diff":"\/comments\/17900\/get","add":"\/comments\/17900\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/17900"}, "attach_limit": 2, "max_comment_text_length": 5000 }

120 комментариев 120 комм.

Популярные

По порядку

Написать комментарий...
110

На мой взгляд давно пора снизить темпы развития графона и обратить свой взгляд на анимацию. Когда в Far Cry 5 анимация плавания на уровне первого Far Cry это стыдоба. Какой толк от реалистичной картинки, если все живые объекты в сцене двигаются как болванчики?

Ответить
41

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

Ответить
25

Uncharted, bloodborne, deus ex, witcher, assassin creed, far cry, dishonored, prey - у вас правда не падает челюсть от видов и дизайна, правда считаете что с бюджетом в 10 тыщ полигонов на кадр было бы лучше?)

Ответить
0

В первую Ларку играли и треугольными сиськами и ничего, было круто. Были классные загадки, тайники, атмосфера. А теперь высокополигональное кинцо, где надо нажать кнопку в нужный момент.

Ответить
21

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

Ответить
1

Morrowind, overhaul

Ответить
28

может для начала хотя бы избавимся от клиппинга одежды и волос сквозь модели?

Ответить
11

На фоне общей топорности движений персонажей на такие мелочи уже не обращаешь внимание. Хотя такая проблема тоже есть во всех играх.

Ответить
0

Тоже не простая проблема - вот последняя работа на тему от Frostbite: https://twitter.com/Magnadiver/status/978445247607795712

Ответить
8

А тут разве технологические проблемы?
Я всегда думал. что анимации это косяки аниматоров больше

Ответить
8

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

Ответить
12

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

Ответить
23

Что там говорить, сами рокстар не стали ее использовать на полную катушку в гта5. На фоне гта4 в гта5 сильно упрощённая версия.

Ответить
4

Я не понимаю почему до сих по никто не реализовал это в виде отдельного субдвижка и не начал продавать, как тот же Хавок в свое время. Либо пока не хватает мощностей, либо нет запросов на такую технологию.

Ответить
12

Был материал по этому поводу на DTF, почитайте, если интересно https://dtf.ru/4409-kuda-propala-euphoria-prichiny-ischeznoveniya-dinamichnoy-animacii-personazhey

Ответить
1

Спасибо! Примерно такую штуку я и имел в виду. Each result is unique and interactive.

Ответить
3

потому что в любом сложном проекте система анимаций практически уникальная штука. есть какие-то переносимые основы - но дальше каждый пляшет сам

Ответить
18

да вроде есть технологии на нейронной сети которая обучается

Ответить
0

Да, очень похоже на то что я имел в виду.

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
2

Не совсем косяки, послушайте подкаст как делают игры, про анимацию. Там все очень сложно, на порядок сложнее чем эти рейтрейсинги.

Ответить
1

Ну когда есть ограничения на количество костей/полигонов/всякие технологии, то будь ты хоть бог от анимации - рамки есть рамки.

Ответить
0

Ну. с этим спорить не буду

Ответить
4

Да, часто бывает диссонанс между красивой картинкой и ужасной анимацией.

Ответить
34

Кто сказал The Elder Scrolls?!

Ответить
1

И то правда. Окружение и природа нынче в играх почти как в кино, а персонажи до сих пор полигональны и стоит им начать что-то делать, как начинаются проскальзывания, потянутости и прочее. Даже в блокбастерах. На фоне реалистичной воды и света выглядит как мда. Моя личная боль - это поведение тканей в играх - вот уж где ждать не дождаться прорыва. Даже волосы уже делают приемлемо, а ткань как была г так и осталась, что на персонажах, что в окружении. Толкового взаимодействия так до сих пор нигде нет.

Ответить
2

Вот именно, проблемы аниматоров а не технологии. Вспомнить тот же 4 Mass Effect.

Ответить
7

Там то как раз технология налажала. Или ты серьезно думаешь что аниматоры рисовали каждый диалог в МЕ?

Ответить
0

А как Вы считаете, кто должен за этим следить?

Ответить
0

Следят за этим тестеры и отдел qc. Все вопросы к ним на каком этапе отпал модуль.

Ответить
2

Поддерживаю. С приходом новых консолей общее качество анимации улучшилось, но все-равно есть куда двигаться. Очень понравились анимации в Dragon Age Inquisition. Анимации боя, каста, как персонажи идут в гору. А потом как вспомнишь анимации от третьего вида в Oblivion, Fallout 3 и становится плохо. Перепройти тот же Morrowind отпугивает не устаревшая картинка, а устаревшая и совершенно топорная анимация.
В анимациях сейчас нужно больше взаимодействия с окружающим миром, чтобы персонаж взаимодействовал со всеми неровностями поверхности, с преградами и прочим.

Ответить
1

Сейчас бы сравнивать 14 год с 6, 8 и 1 годами.

Ответить
0

Как будто в Фоллаче 4 анимация намного лучше Скайрима.

Ответить
2

Всё будет.

Ответить
1

Недавно отцу показывал Horizon Zero Down, офигел от графона, но сразу сказал что анимации сильно ниже уровнем.

Ответить
0

Этим занимаются разные люди, так что одно другому не мешает.
А развитие технологий графона и железа позволит меньше заниматься костыльной свистопляской с оптимизацией, когда нужно честный «красивый» результат сначала портить, а потом изобретать супер-хитрости, как его другими методами вернуть к прежнему виду. Лучше на творческие задачи это время потратить, потому что сроки, к сожалению, не особо проапгрейдишь:)

Ответить
0

В целом Вы правы, но все таки рендер и анимации разные технологии и с большой вероятностью разрабатываются разными специалистами, как следствие снижение темпов развития "графона" не особо поможет анимации.

Ответить
0

Ну в конечном то счете все равно все упирается в деньги. Следовательно, если потратить меньше денег на развитие технологии X, то останется больше денег для развития технологии Y.

Ответить
0

Так те-же зелёные предложили использовать глубокое обучение для облегчения создания анимации...

Ответить
0

В любой ситуации можно использовать нейронные сети https://youtu.be/pgaEE27nsQw

Ответить
0

Игроделы разрываются между выбором: заменить болванчиков на "живых" - снятых актёров (потому как моделирование ещё только подходит к подобному реализму через помощь ИИ), а т.к. много с актёрами не на снимаешь, это значит превращать игры в мало интерактивное кино (как метко выразился один человек: "God of War, это где в перерывах между кином нам дают помахать топором?"), или же в угоду большей геймплейности пока продолжать показывать игрокам анимированых "буратин".

Ответить
27

Осторожно шутка.

Ответить
0

Но тут ведь на пека тоже есть мыло, хотя и в отражениях =)

Ответить
4

В убогих портах с холопских консолей - есть)

Ответить
23

С лучами кстати в браузере побаловаться можно: https://benedikt-bitterli.me/tantalum/tantalum.html

Ответить
0

Что-то у меня после такого балования ноут сплавился D:

Ответить
16

Поддержка DXR появится лишь начиная с архитектуры NVIDIA Volta.

Так, давайте не будем путать. DXR - функционал DX12 и будет поддерживаться на любой видеокарте, которая поддерживает DX12, через обычные Compute-шейдеры. Собственно, уже есть семплы, которые можно собрать и посмотреть на красивый отрейтрейсеный треугольник на любой видеокарте
https://cdn1.savepice.ru/uploads/2018/3/21/2af6c44a94f38058ef899bb0de79d0f1-full.png
RTX - отдельная фича Нвидии, которая будет DXR хардварно ускорять. Это важная разница: запускаться DXR будет на всём, просто начиная с Вольты работать будет быстрее.

В демке Метро не просто так трейсят только АО и непрямой свет (даже отражения, которыми все вокруг кичатся, там скринспейсовые). Чтобы игра сносно работала и на видюхах без хардверной поддержки этого дела.

Ответить
7

Цели запутать не было, просто я не стал уточнять этот момент. Немного расширил, спасибо за фидбек.

Ответить
13

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

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

Ответить
9

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

Ответить
–1

Т.е. программисты станут еще более рукожопыми, когда технология все будет делать сама.

Ответить
2

Охуеть вывод. Хотя, с дивана виднее конечно

Ответить
2

железячным компаниям надо продавать ЖЕЛЕЗО, проблемы разработчиков для них вторичны. а с текущими видеокартами людям сложно объяснить причины для апгрейда

так что технология, которая в перспективе обещает прорыв (рейтрейсинг - обещает) и требует много свежего GPU будет пропихиваться до победного

Ответить
3

как и любая другая технология, что уж там

Ответить
2

а с текущими видеокартами людям сложно объяснить причины для апгрейда

Причины для апргрейда сложно объяснить из-за существования консолей. Все крупные игры, которые планируют выйти на консолях, должны без проблем работать на железе, которое вышло 4 года назад, и даже тогда оно не было топовым.
Появление видеокарт с хорошей реализацией трассировки лучей дает повод разрабам рендеров начать их использовать) А им, поверь на слово, новые железки и технологии всегда в радость. Спустя какое-то время подтянется геймдев.
Многоядерные процессоры первые лет 10 в геймдеве вообще были никому не нужны. Но что-то я не видел сейчас людей, которые бы жаловались на то, многоядерность нужна не им, а продавцам железа. Та же история с перекладыванием расчета физики на видеокарты

Ответить
11

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

Ответить
1

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

Ответить
8

Через 15 лет каждая дискретная карта будет маломальски в реалтайм считать трассировку лучей и тогда разрабы вспомнят о ещё более качественной технологии "трассировка фотонов" и опять из каждого утюга....

Ответить
3

разрабы вспомнят о

Дифракции, интерференции, поляризации волн)

Ответить
10

Воу, воу, полегче.

Ответить
2

Такими темпами до квантовых видеокарт дойдёшь.

Ответить
4

Срочно патентуй словосочетания "квантовые видеокарты" ) Через десяток лет сможешь жить на деньги от продажи патента.

Ответить
4

Мне кто-нибудь объяснит почему в дюке или анриле первом были ок отражения, а тут вдруг нельзя стало, тяжело.

Ответить
9

тебе попроще или посложнее?

Ответить
23

Про Дюка:
Движок там обсчитывал зеркала при помощи простой трассировки лучей. Очень упрощенной, потому в игре "идеальные зеркала". Т.е. которые отражают все без потерь и дополнительных отражений. Повесишь два зеркала друг напротив друга - и игра зависнет, так как лучи будут бесконечно отражаться между них. Также, так как игра реально 2D, там нет у моделей врагов и героев поверхностей и геометрии, которую надо было бы учитывать при трассировке.
У реальных зеркал идет частичное поглощение энергии лучей (остается примерно 0.7-0.8 после отражения), плюс двойное отражение (сначала от поверхности стекла, потом от отражающей поверхности). И еще доп.рассеивание на всех участках переходов между разными средами. Потому настоящие зеркала искажают цвета, приглушая их. Плюс лучи при честной трассировке еще будут отражаться от поверхностей героев, врагов, предметов (да еще и с разными коэффициентами, например, очки дюка, одежда, пот, металлические пуговицы). Также дополнительные источники света, увеличение разрешения картинки влияет на количество лучей, которые надо обработать

Ответить
17

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

Ответить
6

Также трассировка поможет упростить реализацию света разных видов источников. Вв физическом смысле разных - люминесцентная лампа, лампа накаливания или ксеноновая по разному окрашивают предметы, все дело в длинах волн. Вот в этой книжке были хорошие примеры
https://www.ozon.ru/context/detail/id/21469934/

Ответить
6

Про Unreal, честно говоря, не помню точно, но был раньше популярный подход - создание пространства позади зеркала, которое копирует все, что находится перед ним (даже в Duke было такое, кстати, правда, не знаю, зачем). И соответственно, двойное обсчитывание всего, что творится в игре. Иногда пространство находилось буквально позади зеркала, иногда - в другом месте, а на месте зеркала вешался портал.
Так же, кажется, сделаны видеозаписи в последнем Prey.
Минусы такого подхода - все становится очень плохо, если требуется считать сложную физику в сцене. Ну и вот такие уровни в принципе невозможно построить, с любым из таких подходов

Ответить
1

В целом получается, что задача решаемая, но не всегда с ней разработчики хотят заморачиваться. Но для игрока такая ситуация выглядит регрессом, например, в Mafia II зеркала работают, в Mafia III они показывают сильно размытое отражение комнаты и не показывают героя.

Ответить
6

Главная фишка трассировки - если железо будет ее тянуть, не придется строить хаки для всего на свете, как сейчас. Стекла, матовые стекла, цветные витражи, зеркальные поверхности, туман, жидкости, "односторонние зеркала" - все будет работать из коробки.
Но для игрока такая ситуация выглядит регрессом,

Только для неразборчивого игрока. Можно говорить, что "в max payne были зеркала", но они раньше выглядели круто, сейчас заметен обман. Просто сейчас есть, с чем сравнивать

Ответить
5

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

Ответить
0

Кстати, на каком железе играли в M3? Разработчики иногда "прячут" зеркала за настройками графики

Ответить
1

Я увидел некое странное дерьмо. Похоже, зеркала в игре все же прятались за настройками, или они в патчах заменили их на мутные картинки.

Ответить
0

Как разработчику идея хороша, как игроку - нафига мне, собсна, эта честность, если с хаками игра чуть менее красива, а производительность несоразмерно лучше? Особенно сейчас такое заметно с мобильными крупными играми - тот графон, что тянулся на Adreno 220, сейчас, пожалуй, может требовать тегру какую-нибудь. Или пресловутый PUBG без хаков (оптимизация же туда входит, верно?) ) как-то тяжело идет. Я конечно, придираюсь, но все же расслабляться и лениться тоже не стоит, даже с такими технологиями.

Ответить
0

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

Это верно, но не все разработчики - Naughty Dog или Blizzard, которые могут позволить себе лишние пару лет разработки, и могут держать в штате отличных разработчиков. Причем с наймом дело не только в "может ли компания платить столько программисту", но и "а захочет ли он у нас работать?".

Ответить
0

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

Ответить
0

если с хаками игра чуть менее красива

И, забыл сказать, учти, что примеры, где игра "чуть менее красива" наверняка специально так подобраны. В динамике, да с более сложными материалами и источниками света разница будет сильнее заметна.
А при желании, и знании алгоритмов работы хаков, можно подобрать скрины, где вылезут артефакты.

Ответить
1

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

Ответить
5

К вопросу о том, что хаки буквально ДЛЯ ВСЕГО

Ответить
1

Мне еще нравится (про порталы), как в Prey можно "заглянуть за угол" в видеозаписях) Сразу Quake 3 вспомнился

Ответить
0

Так то ж Кармак. Чего вы ещё от него ждали? Он же мастер такой оптимизации. ;)

Ответить
2

Как получится, если что зададим вопросы. Мне внезапно тоже интересно стало.

Ответить
1

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

Ответить
2

Вот только ограничений у такого подхода ну слишком много. Зеркала такие в открытых пространствах не поставишь.

Ответить
1

Тоже вариант, ну скорость работы просто будет медленная, если зеркало будет не одно. тем более отражать должны не только зеркала .

Ответить
0

Я, честно говоря, вообще не особо понимаю, зачем в играх настолько морочиться с зеркалами. Чисто ради графики? Геймплейное применение зеркала сходу могу вспомнить только в Silent Hill 3 в больнице. Вот там да, всем применениям применение.

Ответить
1

так не ради зеркал вроде. а ради отражение. Отражают не только зеркала ведь. Да и сейчас графон во главу угла поставлен, а не геймплей

Ответить
0

Да и сейчас графон во главу угла поставлен, а не геймплей.

И это печально..

Ответить
0

Они обычно так и реализуются.
Только через отзеркаливание координат против плоскости зеркала и стенсил маску.

Ответить

Комментарий удален

2

Алгоритмами отрисовки занимаются рендеринг-инженеры, если что

Ответить

Комментарий удален

1

Зачастую артисты вообще не вдупляют, что под капотом происходит. Поверь, по своему опыту знаю

Ответить
0

технические артисты вполне вдупляют, занимаются настройкой освещения и шейдеров. Да и нормальные 3d артисты тоже кое что шарят

Ответить
0

Значит, Вам повезло иметь дело с хорошими специалистами)

Ответить
1

Все что угодно сделают, чтобы затормозить ввод 120гц/фпс гейминга как стандарта.

Ответить
0

Мерзкие производители матриц?

Ответить
0

Насчет мониторов - что мешает сделать 144гц IPS монитор с диагональю 24" и fullhd. Других размеров и разрешений 144гц IPS есть.

Ответить
0

Если вкратце - мешает технология производства самих матриц.

Ответить
0

А почему им ничего не мешает делать 3440x1440 144hz ips, 34", да и еще изогнутую.

Ответить
1

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

Ответить
1

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

Ответить
1

Занятно, когда мы видим на картинке крутую, высокотехнологичную трассировку лучей для классного освещения и съехавшие текстуры, угловатые цилиндры и прочую оптимизацию. Все равно, что старый запорожец с антигравитационной установкой вместо колес, но все с тем же старым чахлым движком на 65 лс.

Ответить
0

В Crysis 3 не плохо были реализованы отражения.
До сих пор передергивает, когда в играх в качестве отражения используется просто обычная текстура под стиль текущей карты. И обычна эта текстура не имеет ничего общего с тем, что сейчас перед тобой. Я так понял это и есть cubemap и это убого.

Ответить
0

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

Ответить
0

Может не совсем правильно выразился. Но например взять Star Wars The Old Republic, не совсем технологичный пример, но там явно видна эта проблема. Суть в том, что в каждой локации просто статичная текстура, которая накладывается на отражаемую поверхность. И получается бегаешь ты в локации с горами, и на всех поверхностях будет текстура с горой, не важно, внутри помещения ты, под землей или в лесу.

Ответить
0

Краеугольный камень всей игровой графики это реалистичные тени... он прямо через все новые технологии красной нитью идет.. все ради теней

Ответить
0

Максим Ханукецкий, я рад что мы с тобой на одной волне ;)

Ответить
0

Появится еще один показатель % использования рейтрейсинга рядом с счетчиком FPS. Дело в том, что технофилов уже не удивляет показатель фпс+разрешение, современные GPU перестают "будоражить" и стимулировать ожидание. А с поддержкой параметра RTX в качестве бенчмарка, задает новую планку в гонке за производительность и подчеркивает разницу в поколениях GPU.

Ответить
0

Никто вам честный % показать не захочет. ;)

Ответить
0

Ответ неверный.

Ответить
0

Честный % это как?

Ответить
0

Это, даже если "заставят" отображать - то ждите "конечно же 100%" (другое заявление и на продажах ведь сказаться может). ;))
Аналогичная история: уж поверьте мне, что я столько в последнее время доказываю многим про далеко уже не честное 3д во многих последних играх (потому что имею 3д очки), но мне "с пеной у рта" продолжают... ну, да чёрт с ними - с теми, кто не услышал мой посыл...

Ответить
0

То, что маркетиг впереди на голову реальных возможностей технологий это и так понятно. Речь о том, что технология рейтресинга это черная дыра для утилизации "лишней" производительности и отличная площадка для спекуляций.

Ответить
0

Ждем Death Stranding Кодзима покажет вам что такое рейтрейсинг

Ответить
0

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

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
Хидео Кодзима оказался алгоритмом
машинного обучения
Подписаться на push-уведомления