Грубо говоря чтобы нарисовать +/- фотореалистичное освещение в игре раньше можно было включить трассировку лучей например, накатив соответствующий мод на Кваку и всё, а растеризация (искусственные эффекты, имитирующие свойства света) не показывала такой же реалистичности. Сегодня же ситуация такова, что трассировка по принципу своей работы почти не изменившаяся с момента изобретения (это очень простая технология, но очень ресурсозатратная) от топовой растеризации почти не отличается, зато жрёт в 3-5 раз больше хардверных ресурсов (даже только в рамках видимого кадра) для достижения аналогичного качества по методам современной растеризации, совершенствующейся постоянно. Например при должном уровне знаний и усердия, все до одного эффекты, продемонстрированные DICE с рейтрейсингом в последнем демо можно симулировать на современном наборе шейдерных моделей, но это потребует не мало времени работы хороших специалистов в 3D-моделировании. Очень важно понимать что для всех нас, конечных потребителей, игроков, главное в этом вопросе - финальный результат, итоговое изображение, а не то, какими методами оно достигается.
Так то же освещение в Uncharted 4 или Unreal Paris как достигается? Я так понимаю, сперва рассчитывается с помощью той же трассировки, а потом запекается в лайтмапы, которые по сути дополнительные текстуры с данными об освещенности, только во первых они статичны, во вторых чем лучше их качество, тем больше они жрут памяти, вот и получается, что они подходят в основном только для коридорных игр (Uncharted 4, The Order: 1886), а для динамического освещения и для игр с открытым миром нужно дополнительно применять другие методы, которые дают худший результат. А трассировка в перспективе позволит выдавать натуральное статическое и, главное, динамическое освещение, вне зависимости от размеров сцены.
Лучше пустить высвободившиеся ресурсы на иные аспекты картинки, например поднять детализацию или дальность прорисовки.
Опять же, насколько я понимаю, для чистой трассировки вообще не важна сложность сцены, в отличии от растеризации, так что, опять же, в перспективе, при ее использовании можно будет существенно увеличивать детализацию без особого ущерба производительности.
вынуждающая людей отдавать многие десятки тысяч честно заработанных рублей за потенциально сопоставимый (в руках толковых разработчиков) результат.
Забавно звучит "вынуждающая", будто бы кто-то с пистолетом у виска стоит и заставляет покупать новые карты, когда старые еще справляются неплохо, к тому же эту трассировку никто включать не заставляет.
Это всё будет работать так.
-- Мы добавили трассировку лучей! Ура! Теперь везде честный рефлекшн!
-- Но в реальном мире практически ничего не отражает свет? Кроме зеркал. Да и PBR + HDR + HD Textures + Reflection Probes работает нормально.
-- Новую карту купил! Жива!!!!
Анчартед не корридор
Сложность сцены все так же важна. Во первых, количество переотражений можно варьировать от количества поглощаемой материалом энергии, потому что переотражения от черных предметов сразу или почти сразу дают нулевой вклад в цвет пикселя, а от белых и зеркальных может луч долго переотражаться со слабыми потерями энергии. Да, можно поставить везде фиксированное число взаимодействий, но тогда в неоднородной сцене половина лучей будет зазря тратить ресурсы карты, а вторая половина будет давать некорректный цвет. Во вторых, все равно нужно считать пересечения лучей с объектами сцены, даже если они распиханы по ускоряющим структурам, зависимость от размеров и детализированности сцены остается, просто она менее тривиально выражена.
Угу, вот как эта моделька Porshe, казалось бы, браузер, а откуда такая красивая картинка?
Так там заранее всё просчитано и оптимизировано под конкретные условия, захочешь сменить освещение, так всё сразу начнёт выглядеть ужасно, никакой динамичности.
Комментарий недоступен
все конечно верно...НО а как вы представляете себе переход о растеризации к рейстрейсингу, который рано или поздно бы случился?
типа выпускают карты без какой-либо оптимизации по рейтрей, рейтрей фичи не вводят в API и потом резко так в один день "мы рады вам видеокарту, которая тянет в 4к 60фпс фул рейтрей без растреризации вообще, а так же разработчики перенесли все новинки на фулрейтрей с растеризации и в них сможете поиграть уже завтра".
смешно же, ну.
а вот то что я вижу сейчас со стороны нвидии(и других) -это вполне логичные действия. начинаем потихоньку внедрять поддержку RT как в железо, так и в софт, причем с каждым годом степень внедрения будет увеличиваться и в один прекрасный момент RT появится на консолях, возможно даже выйдут игры, юзающие рейтрей на всю катушку.