Начните вводить название своего города или выберите из списка ниже.

Выберите вариант или продолжайте ввод

Поясняем за RayTracing: великий обман, или великая технология?

Поясняем за RayTracing: великий обман, или великая технология? Немногие знают, что на самом деле технология трассировки лучей совсем не нова. Появилась она ещё в 60-е годы прошлого столетия, и постепенно стала использоваться в кино, анимации, играх и другой графике. Долгое время возможности были весьма ограничены в связи с низкой производительностью первых компьютеров.
Поясняем за RayTracing: великий обман, или великая технология? Внимание широкой общественности трассировка привлекла в 2018 году, когда компания NVIDIA презентовала линейку видеокарт 20-й серии с поддержкой RayTracing. С тех пор склоки, споры и обсуждения не утихают. Пользователи говорят, что технология бесполезна, снижает производительность, не добавляет ничего нового в игровой процесс. Но так ли это на самом деле?

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

Освещение и тени

Поясняем за RayTracing: великий обман, или великая технология? Поясняем за RayTracing: великий обман, или великая технология? Поясняем за RayTracing: великий обман, или великая технология? При создании игр объекты моделируются в трехмерном пространстве. Каждая точка в нём имеет три координаты (x, y, z). Все объёмные объекты соcтоят из треугольников потому, что именно три точки, три вершины задают плоскость. Такие треугольники называются полигонами. Чем больше полигонов, тем точнее моделируется объект.
Поясняем за RayTracing: великий обман, или великая технология? Поясняем за RayTracing: великий обман, или великая технология? Так создаются 3D-объекты, но смотрят люди на них через 2D-мониторы. Важная техническая задача – передать ощущение объёма через плоский экран. Основные инструменты для решения – перспектива и светотень.
Поясняем за RayTracing: великий обман, или великая технология? С перспективой всё относительно просто. Объекты, которое отдалены от зрителя, должны быть меньше объектов, которые находятся близко. А вот со светотенью всё посложнее.

Пиксели и растеризация

Поясняем за RayTracing: великий обман, или великая технология? Поясняем за RayTracing: великий обман, или великая технология? Поясняем за RayTracing: великий обман, или великая технология? 3D-графика состоит из треугольников, а изображение на мониторе из квадратов – пикселей. Для передачи изображения нужно треугольники описать квадратами. Делается это условно. Чем больше используется пикcелей, тем точнее будет изображение. Такой процесс трансформации называется растеризация.
Поясняем за RayTracing: великий обман, или великая технология? Поясняем за RayTracing: великий обман, или великая технология? При растеризации нужно передать силуэт предмета, его цвет, свет в сцене, тени и отражения. Задача это довольно сложная.
Поясняем за RayTracing: великий обман, или великая технология? При создании сцены игроделы расставляют в ней световые источники. Программа подсказывает, на какие участки изображения они будут влиять. Направление света указывает, какие пиксели должны быть затемнены, а какие высветлены.

Поясняем за RayTracing: великий обман, или великая технология?
Поясняем за RayTracing: великий обман, или великая технология? Пример некорректной обработки источников света. Разница между скринами секунда

Как правило, участок обозначается довольно условно. И передача света получается нереалистичной.

Как работает RayTracing

Поясняем за RayTracing: великий обман, или великая технология? Поясняем за RayTracing: великий обман, или великая технология? Вот тут то с двух ног влетает технология RTX. Разница в том, что с помощью RayTracing имитируется поведение света из обычной жизни. Испускаемый свет представляет собой не условный столб света, собранный из квадратиков, а пучок лучей. При этом поведение каждого луча рассчитывается отдельно. Столб только проецируется на поверхность, меняя её тон, а луч отражается, поглощается и преломляется. И происходит это постоянно.
Поясняем за RayTracing: великий обман, или великая технология? Поясняем за RayTracing: великий обман, или великая технология? Луч продолжает движение, сталкивается с новыми поверхностями и взаимодействует с ними. Поэтому свет при трассировке кажется более реалистичным. На один пиксель на экране могут влиять тысячи сгенерированных лучей.
Поясняем за RayTracing: великий обман, или великая технология? Важный неразделимый партнёр света – тень. При трассировке лучей свет распределяется согласно условным законам физики, и тени получаются автоматически.

Поясняем за RayTracing: великий обман, или великая технология? Примерно так выглядит карта теней

При растеризации их нужно задавать вручную – создать карту теней для конкретной сцены. Разработчики заранее добавляют тени для объектов и рендерят их. Так получается статичная картинка, которая не меняется в процессе игры и не зависит от положения персонажа.
Поясняем за RayTracing: великий обман, или великая технология? С таким подходом для каждого предмета приходится создавать свой рисунок тени. Это сложный, кропотливый труд, поэтому часто разработчики делают их только для основных, больших объектов. Получается забавная картинка: часть теней просто отсутствует в кадре.
Поясняем за RayTracing: великий обман, или великая технология?

Поясняем за RayTracing: великий обман, или великая технология? Пример некорректной обработки источников света. Разница между скринами секунда

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

Поясняем за RayTracing: великий обман, или великая технология? Пример жёстких теней

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

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

Отражения

Поясняем за RayTracing: великий обман, или великая технология? Поясняем за RayTracing: великий обман, или великая технология? Самая большая проблема, с которой сталкивается растеризация – создание отражений и рефлектов (бликов, которые появляются на объекте от соседних предметов).
Поясняем за RayTracing: великий обман, или великая технология? Многие локации имеют зеркальные поверхности: стёкла, лужи, хромированные элементы и т.д. Для реалистичности нужно создавать проекцию предмета напротив. Для каждого объекта приходится делать это вручную. Например, чтобы создать отражение улицы в витрине магазина, требовалось создать кадр улицы, обработать и наложить на плоскость в качестве текстуры.
Поясняем за RayTracing: великий обман, или великая технология? Поясняем за RayTracing: великий обман, или великая технология? Первые такие попытки выглядят статично и убого. Позже в них добавилась динамика. Они начали меняться в зависимости от того, с какого ракурса игрок смотрел на них. Правда, изображение было очень нереалистичным.

Если статичную улицу можно было создать на этапе разработки игры, один раз срендерить и сохранить, то передвигающихся персонажей заранее в отражения добавить было нельзя.
Поясняем за RayTracing: великий обман, или великая технология? Чтобы это исправить, придумали другой подход к созданию отражений. Xтобы главный герой отражался в зеркале, за зеркалом разработчик должен был выставить камеру, направленную на него. Изображение с неё транслировалось на поверхность зеркала. Это уже выглядело более реалистично, но всё ещё не точно и часто сопровождалось багами.
Поясняем за RayTracing: великий обман, или великая технология? Поясняем за RayTracing: великий обман, или великая технология? Современная трассировка лучей создает отражения автоматически. При чём даже для малейших отражающих поверхностей, что не может не удивлять. Разработчики при растеризации не могут позволить себе тратить время на такие мелкие детали. Иначе одна игра будет создаваться вечно.
Поясняем за RayTracing: великий обман, или великая технология? Поясняем за RayTracing: великий обман, или великая технология? Ещё одна магия трассировки – цветные рефлекты. Если белый свет сталкивается с красной поверхностью, его отражение приобретает красный оттенок. Именно так, как и в реальной жизни. Продумывать такие мелкие нюансы самостоятельно задача невыполнимая.

Что даёт трассировка?

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

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

Недостатки RayTracing

Основная претензия к RayTracing – потеря производительности и FPS при использовании. И она действительно обоснована. Правда, важно отметить, что компания NVIDIA это понимает и работает над оптимизацией технологии.
Поясняем за RayTracing: великий обман, или великая технология? Для этого, во-первых, карты получили специальные вычислительные блоки – RT- и Tensor-ядра.
Поясняем за RayTracing: великий обман, или великая технология? Во-вторых, компания старается снизить вычислительную нагрузку на графический процессор. Например, свет в реальной жизни состоит из миллионов лучей, производители для расчета ограничивают их число. Снижают нагрузку, стараясь сохранить прежний визуальный результат.
Поясняем за RayTracing: великий обман, или великая технология? В-третьих, компания ищет программные улучшения, привлекает ИИ. Новая технология DLSS искусственно добавляет лучи уже после расчетов и сглаживает картинку, позволяя получать лучшее качество изображения из исходников в низком разрешении.
Все эти меры дают свои плоды, и потери в производительности снижаются.

Итоги

Поясняем за RayTracing: великий обман, или великая технология? Итак, мы рассмотрели, какие преимущества имеет трассировка лучей. Весьма вероятно, что многих из них преувеличены маркетологами, но полностью отрицать их глупо. Любые технологии могут подвергаться критике, особенно от тех, кто даже не попытался разобраться в теме. Это не должно останавливать прогресс. Со временем многие разработки становятся стабильнее, доступнее и дешевле, а значит ещё больше людей смогут получить ещё больше удовольствия от игрового процесса. И это самое важное.

Как известно, все процессы время поворачивает вспять. Когда-то топовые видеокарты «нагибал» переход в 3D. Потом PhysX, потом тесселяция, потом продвинутые методы сглаживания. Тогда тоже ходили разговоры, мол всё это от лукавого. Но со временем эти технологии стали стандартом индустрии, видеокарты адаптировались и теряют в быстродействии незначительно. Возможно, пройдёт ещё 3-5 лет, и RayTracing тоже станет стандартом?

Также у этого материала есть видеоверсия.

348  просмотров

Также будет интересно

Разбираемся с типами матриц мониторов. IPS всему голова?

Разбираемся с типами матриц мониторов. IPS всему голова?

Разберемся, какие матрицы существуют у современных игровых мониторов. Какую выбрать, на...

Читать дальше

75334  просмотров
Всё, что нужно знать про корпусные вентиляторы и их расстановку

Всё, что нужно знать про корпусные вентиляторы и их расстановку

В этом материале расскажем про корпусные вентиляторы, какие они бывают, зачем нужны, им...

Читать дальше

56566  просмотров