multi_user.png
calendar04.05.2023

Что такое трассировка лучей?

Что нужно знать об играх и технологии трассировки лучей

Трассировка лучей – это технология рендеринга компьютерной графики, которая создаёт изображение путём отслеживания траектории лучей через визуализируемое трёхмерное пространство. Лучи могут взаимодействовать с объектами в пространстве, отражаться от них, и приобретать такие свойства, как цвет.

Трассировка лучей: основы

Трассировка лучей имитирует реальное освещение. Свет, который мы видим, – это фотоны, которые испускаются источниками энергии, например, солнцем. При столкновении с объектами фотоны могут отталкиваться и рассеиваться. Чтобы увидеть это в действии, вы можете посмотреть в зеркало. Свет, падающий на зеркало, создаёт отражение.

1.webp

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

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

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

Трассировка лучей VS. растеризация (или 3D-графика)

2.webp

Вам всё ещё может быть не до конца понятно, даже если вы поняли объяснение. Отражения присутствовали в прошлых играх, даже в тех, которым уже несколько десятилетий. В чём отличие трассировки лучей?

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

Давайте вернёмся к примеру с зеркалом. Окружение игрока и его персонаж не видны игроку (по крайней мере, в игре от первого лица). При растеризации зеркалу нечего отражать.

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

Отражения в пространстве экрана – технология, используемая в популярных движках 3D-игр, для создания отражения использует экранные данные. Эта технология идеально подходит для отражающих поверхностей, расположенных под углом к ракурсу игрока, таких как вода. Однако, если отражённый элемент перемещается за пределы экрана, отражаемые объекты исчезают.

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

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

Какое оборудование требуется для трассировки лучей?

3.webp

Трассировка лучей – идея не новая. Программисты экспериментировали с трассировкой лучей в начале 1980-х годов, создавая статичные изображения с реалистичным освещением, отражениями и тенями. К сожалению, на рендеринг уходило несколько часов.

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

Трассировка лучей RTX от Nvidia основана на чипе, который называется тензорным ядром. Тензорные ядра встречаются только в видеокартах RTX. Видеокарты Nvidia GTX могут рендерить игру с помощью трассировки лучей, поскольку, как уже говорилось, для трассировки лучей не требуется специальный чип. Однако, по сравнению с картами RTX производительность у них очень слабая. А для некоторых игр, таких как Minecraft с трассировкой лучей RTX, требуется видеокарта RTX из-за особого способа, которым они включают трассировку лучей.

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

PlayStation 5, Xbox Series X и S от Sony оснащены графическим оборудованием от AMD, которое может ускорить трассировку лучей. Однако наличие такой функции зависит от разработчиков, и во многих играх её нет. Ярким примером является Cyberpunk 2077, которая при запуске поддерживала трассировку лучей RTX на ПК, но не поддерживала трассировку лучей на консолях следующего поколения. Эту функцию обещают включить в консоли следующего поколения в будущем патче.

Источник: https://www.lifewire.com/what-is-ray-tracing-5097484

© ООО "ИБИК"
Использование материалов проекта разрешается только при указании ссылки на ресурс.