Найти в Дзене
BITE-CODE - IT & Видеоигры

Почему за RTX будущее и как работают отражения

Оглавление

Сейчас у всех на слуху технология ray tracing, в преддверии выхода 3000 серии видеокарт от Nvidia. Это уже второе поколение с рейтрейсингом, и ни у кого не возникает вопросов, как сейчас работают отражения. Но ведь они были и раньше, правда? Если честно, не совсем были и не совсем отражения. Насчёт первого, вы наверняка помните, сколько в играх бывает разбитых, мутных, грязных и поцарапанных зеркал, поэтому и “не совсем были”. А второе, потому что ни одно из них не воссоздавало принцип работы зеркал, как это делает рейтрейсинг. Получается отражения были, но технически их не было. Чиво? Поехали по истории развития отражений, коротко и ясно.

обложка
обложка

Первые отражения

Одно из первых “зеркал” появилось в 1996 году в Duke Nukem 3D. Это было стекло, за ним находилась отражённая комната, в которой находился персонаж, повторяющий движения игрока. Но как вы понимаете, в этом случае движку приходится рендерить 2 помещения, а левел дизайнерам оставлять места под эти помещения. Сейчас в играх это не используется, на смену пришла более современная технология Planar Reflections. Тут уже не нужна вторая комната, необходимо “всего лишь” отрендерить локацию с двух ракурсов. Эта технология сильно грузит систему, поэтому часто при дополнительном рендеринге снижают разрешение, ставят зеркала в тёмные или лаконичные комнаты.

Применение технологии в Duke Nukem Forever
Применение технологии в Duke Nukem Forever

Прорыв от Nvidia

В 1999 году Nvidia вместе с новой видеокартой представила революционную технологию CubeMap. По сути, из определённой точки локации делалось 6 “фото”, так чтобы получился куб. Далее грани сглаживаются до формы шара. И это “чудо” натягивается на отражающий объект. Получается игровая реинкарнация выражения “натянуть сову на глобус”. Конечно, отражения выходят неточными и в низком качестве, но они всё ещё подходят для луж, глянцевых поверхностей или стёкл. Эта технология не была идеальна: отражения при изменении позиции игрока смещались не достоверно. Тут на сцене появляется Parallax Corrected CubeMap, как коренные англичане уже поняли, эти кубы умеют подстраиваться под камеру игрока, растягиваясь и сжимаясь. Это до сих пор используется, всё отрендерено заранее во время разработки игры, следовательно, не сильно бьёт по производительности. Единственный минус - это невозможность “отражать” движущиеся объекты.

cube mapping - a technique that has been widely used e.g. in video games, offering reflection approximation that's mostly sufficient to the eye, but lacking self-reflections and requiring prerendering of the environment map.
Cube map в действии
Cube map в действии

Подарок от Crysis

В 2011 году в Crysis добавили шейдеры с “упрощённым рейтрейсингом SSR (Screan Space Reflection). Он использовал уже отрендеренные объекты и текстуры для отрисовки отражений. Это всё ещё большая нагрузка на систему, но меньше чем дополнительный рендеринг. Главный минус - если объект не в кадре, то и отражения у него не будет.

Screen space reflections - a more expensive technique that traces reflection rays in screen space (as opposed to world space in e.g. ray tracing). This is done for each rendered pixel of the reflected surface, using the surface normal and scene depth.
Скриншот из Crysis
Скриншот из Crysis

Комбинации

Часто методы комбинируют. Например, город, отражённый в лужах - это CubeMap, а прохожие в тех же лужах - это SSR. Hitman 2 в пределах 1 локации совмещает все 3 вида отражений. Каждая студия сама подбирает комбинации для определённых мест и проектов, всё упирается в производительность и оптимизацию. Сейчас вы, зная особенности, и сами можете определить, что используется в той или иной ситуации.

Ля какой Hitman
Ля какой Hitman

RTX

В 2018 году Nvidia представила новое поколение видеокарт, Тьюринг. В них были выделены отдельные вычислительные ядра под трассировку лучей. По сути, это просто просчёт фотонов света и их отражения. Для RTX видеокарты это не очень сложно (можем сделать статью почему, и как видеокарта отличается от процессора, пишите в комментарии). Для не RTX видеокарт это огромная нагрузка, именно поэтому 5-10 лет назад использовались вышеуказанные методы.

Хоть кто-то ждет эту игру?
Хоть кто-то ждет эту игру?

Поддельный RTX

IRAY - это упрощённый, костыльный и порезанный RTX для видеокарт серии Паскаль. В играх он почти не использовался, ведь сильно грузил графическое ядро. В 95% случаев его применяли в 3D моделирование и создании локаций для тех же игр. Про принцип работы известно крайне мало, но кого это волнует?

Итог

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

Если вам понравилась статья поблагодарите автора лайком на статью и подпиской на канал.

Стоят ли качественные отражения переплаты за RTX? Пишите в комментариях.