-
Подобрать компьютерШаг 1 из 3. Цели и пожелания01. Цели и пожелания02. Сроки и бюджет03. КонтактыМожно выбрать несколько вариантовЦели использованияПожеланияСвой вариант
-
Подобрать компьютерШаг 2 из 3. Сроки и бюджет01. Цели и пожелания02. Сроки и бюджет03. КонтактыМожно выбрать только один вариантСрокиБюджет
-
Подобрать компьютерШаг 3 из 3. Контакты01. Цели и пожелания02. Сроки и бюджет03. Контакты* — обязательное поле
Мы запускаем крупнейший розыгрыш в истории HYPERPC с призовым фондом более 1 000 000 рублей!
УчаствоватьКомпания NVIDIA шокировала всех в августе 2018 года, представив линейку видеокарт GeForce RTX с поддержкой технологии трассировки лучей. Сегодня мы расскажем, что это такое, для чего нужна разработка и почему без нее не обойтись в современных играх.
Зачем нужна трассировка лучей в играх
В реальной жизни источники света испускают миллиарды лучей, которые преломляются, переотражаются, накладываются друга на друга, смешиваются с другими лучами и только потом попадают на наши глаза. Лучший способ освещать сцены в компьютерной графике – просто скопировать поведение света из реальной жизни. В конце 1960-х годов ученые представили первый алгоритм, который успешно это делал. Он получил название «Трассировка лучей».
Трассировка лучей – это метод освещения в компьютерной графике, который работает по тому же принципу, что и свет в реальной жизни, когда от источников света испускаются лучи. В играх эта технология используется для создания:
- теней;
- отражений;
- глобальных затенений;
- глобальных освещений.
Технология оказалась превосходной. Она позволяла очень качественно освещать трехмерные сцены без багов, ошибок и артефактов. У разработки был всего один недостаток – производительность. Мощности процессоров ужасно не хватало для быстрой и стабильной работы трассировки лучей. Поэтому на долгие годы об этой технологии забыли, и графические инженеры начали создавать другие алгоритмы, которые не требовали много мощности.
Недостатки других методов освещения
Графическим инженерам удалось создать много технологий, которые имитируют поведение света из реальной жизни, но все они обладают серьезными недостатками:
- Баги. При освещении трехмерных сцен появляется множество багов и артефактов. Художники тратят много сил, чтобы избавится от них.
- Время. Расставлять лайтмапы, запекать тени и рисовать отражения очень долго. На освещение всего одной комнаты у художника уходит целый рабочий день.
- Качество. Алгоритмы, которые имитируют поведение света, не физически корректны. Они сильно проигрывают трассировке лучей в качестве работы.
- Сложность. Для освещения трехмерных сцен нужны знания и опыт. В игровой индустрии есть даже отдельные специалисты, которые занимаются только искусственным освещением трехмерных локаций.
Трассировка лучей не имеет перечисленных недостатков. Она работает физически корректно и без артефактов. Также она легко добавляется в проект и не требует особых знаний для использования.
Почему поддержку трассировки лучей добавили только сейчас
Потому что только недавно мощности графических процессоров стало хватать для работы этой технологии. Причем современным ГПУ все равно сложно, и им помогают отдельные вычислительные блоки, которые называются RT и тензорные ядра. Они стали главной архитектурной особенностью видеокарт NVIDIA GeForce RTX.
RT ядра
Эти блоки ускоряют выполнение операций с трассировкой лучей, что значительно повышает FPS в играх. Например, если сравнивать GeForce GTX 1080 Ti и GeForce RTX 2080, то при включении трассировки лучей частота кадров на второй карте будет выше в 1,5-2 раза. Это происходит потому, что у RTX 2080 есть RT ядра, а у GTX 1080 Ti их нет.
Тензорные ядра
На ускорителях NVIDIA эффекты освещения с Ray Traced получаются очень шумными. Карты создают много «шершавости» и зернистости.
Для их устранения инженеры NVIDIA планировали использовать графические процессоры видеокарт, но это приводило к значительному снижению FPS в играх.
Чтобы избежать падения производительности, инженеры создали тензорные ядра – специальные вычислительные блоки, которые устраняют шумы от эффектов трассировки лучей. Они разгружают ГПУ и сильно экономят производительность видеокарт.
Помимо устранения шумов, тензорные ядра используются для работы:
- DLSS – умного сглаживания на основе работы искусственного интеллекта;
- Генерации кадров – технологии по созданию промежуточных кадров в играх;
- Реконструкции лучей – технологии, повышающей четкость трассировки лучей.
Как трассировку лучей оптимизируют для видеоигр
Даже с RT и тензорными ядрами метод трассировки лучей сильно снижает частоту кадров в играх. Чтобы решить эту проблему, графические инженеры разработали несколько способов по оптимизации технологии. Далее мы расскажем о самых распространенных.
Обратная трассировка лучей и трассировка пути
Почти во всех играх используется не полноценная версия трассировки лучей, а оптимизированная. Она получила название «Обратная трассировка лучей».
Лучи в обратной трассировке испускаются не от источников света, а из камеры игрока. Это позволяет снизить количество вычислений и значительно повысить FPS в играх.
Полноценная версия трассировки лучей получила название «Трассировка пути» (Path Tracing). Она очень требовательна и используется только в некоторых играх:
- Quake II RTX;
- Minecraft RTX;
- Portal with RTX;
- Cyberpunk 2077.
Использование трассировки лучей с другими методами освещения
Разработчики комбинируют трассировку лучей с другими технологиями освещения. Например, в Shadow of The Tomb Raider трассировка используется только для построения теней. В Battlefield 5 – для просчета отражений. В Metro Exodus – для создания глобального освещения и так далее. Все остальные эффекты освещения строятся при помощи других алгоритмов. Такой подход позволяет значительно повысить производительность.
Как трассировка лучей используется в видеоиграх
Мы уже говорили, что рейтрейсинг в играх используется для создания теней, отражений, глобального освещения и глобального затенения. Далее поговорим об этом подробнее.
Тени
С трассировкой лучей никакие дополнительные алгоритмы не нужны. Рейтрейсинг и так создает мягкие тени, которые добавляют реализм в играх.
Отражения
Современные игры очень масштабные, и у разработчиков нет времени, чтобы вручную рисовать отражения для каждой лужи. Поэтому художники используют алгоритмы, которые автоматически создают отражения. Самые распространенные из них:
- кубические карты (Cube Maps);
- отражения в экранном пространстве (Screen Space Reflections или SSR).
Оба алгоритма имеют серьезные недостатки. Кубические карты создают отражения очень низкого качества, а SSR работает только в экранном пространстве. Если объекты пропадут из области камеры игрока, то отражаться они перестанут. Также эти алгоритмы создают отражения только для статичных объектов. То есть машины, NPC и любые другие трехмерные модели в движении отражаться не будут.
Трассировка лучей не имеет этих недостатков. Отражения получаются очень качественными и реалистичными. Также трассировка позволяет отражать не только статичные, но и динамичные объекты. Еще одно преимущество технологии – возможность работы с полупрозрачными материалами, такими как стекла.
Глобальное затенение
Глобальное затенение – это тени в местах под непрямым освещением. Например, в углах помещений или под машинами.
В видеоиграх для создания затенений используются такие алгоритмы, как SSAO и HBAO. Проблема в том, что они работают нереалистично. Затенения, которые создают эти алгоритмы, очень далеки от тех, что в реальной жизни.
Для создания качественной картинки художникам приходится вручную затенять локации. На это уходит очень много времени и сил. В проектах с большим открытым миром это и вовсе невозможно, так как у игровых студий просто нет нужно количества сотрудников.
Трассировка изображения полностью решает перечисленные проблемы. С этой технологией затенять локации очень легко. Причем результат получается очень качественным, почти как в реальной жизни.
Глобальное освещение
Глобальное освещение – это свет от таких источников, как солнце или луна.
Графические инженеры создали очень много алгоритмов по созданию глобального освещения. Самый продвинутый из них – зонды. Это такие маленькие невидимые точки, которые собирают данные об освещении вокруг себя. Кстати, именно они главная причина высоких системных требований в таких играх, как Control и Cyberpunk 2077.
Насколько сильно трассировка лучей снижает FPS в играх
Это зависит от конкретной игры и видеокарты, но в большинстве случаев влияние на производительность следующее:
- Тени. FPS почти не снижается;
- Отражения. FPS может снижаться на 20-30%;
- Глобальное затенение. FPS может снижаться на 10-20%;
Это влияние на частоту кадров приблизительное. То есть всегда есть проекты, которые будут снижать FPS по-другому. Например, при включении отражений с трассировкой лучей в Far Cry 6 частота кадров на видеокарте NVIDIA GeForce RTX 3060 Ti снижается всего на 10%. Такое низкое влияние на FPS – это большая заслуга разработчиков.
Трассировка лучей на видеокартах AMD
Видеокарты AMD тоже поддерживают технологию Ray Tracing, но они это делают намного хуже графических ускорителей NVIDIA. На это есть две причины:
- низкая мощность RT ядер;
- отсутствие тензорных ядер.
При включении трассировки лучей на картах AMD частота кадров снижается очень сильно. Инженеры «красных» не знают, как повысить мощность RT ядер. Также в графических процессорах AMD нет места для тензорных ядер, поэтому устранением шумов занимается сам видеочип. Это дополнительно снижает FPS в играх.
Итоги
Трассировка лучей – это революционная технология, которая выводит освещение в компьютерной графике на качественно новый уровень. Однако сам алгоритм больше нужен не геймерам, а разработчикам, чтобы создавать освещение в играх было проще.
Также очевидно, что за трассировкой лучей будущее. С каждым годом все больше игр поддерживает ее, а некоторые проекты, такие как Avatar: Frontiers of Pandora, и вовсе используют освещение только методами RayTrace.
Выбирая между термопастой или жидким металлом, пользователи по-прежнему отдают предпочтение термопасте. Несмотря на более плохую теплопроводность, она имеет целый ряд преимуществ, перед жидким металлом:
- низкая стоимость;
- простота нанесения и удаления;
- возможность использования с любыми системами охлаждения.
Компьютеры HYPERPC с поддержкой трассировки лучей
Все геймерские компьютеры HYPERPC строятся на базе видеокарт NVIDIA, которые поддерживают технологию трассировки лучей. С нашими ПК вы можете наслаждаться самыми современными графическими технологиями в играх.