Трассировка лучей что это кратко

Обновлено: 05.07.2024

С самого первого своего публичного явления на Gamescom 2018 архитектура Nvidia Turing стала предметом всеобщего обсуждения. Этот метод рендеринга уже давно был недостижимой мечтой графических технологий и вот, наконец, видеокарты вроде Nvidia GeForce RTX 2080 научились с ним работать с приемлемой производительностью.

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

В наши дни трассировка уже доступна на ПК, хотя пока лишь самые крупные тайтлы рискуют пользоваться ей, и то в ограниченном виде, довольствуясь лишь реалистичными отражениями или тенями. Игр, созданных при полной поддержке ray tracing, еще не существует.

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

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

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

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

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

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

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

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

Игры с поддержкой трассировки лучей

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

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

Трассировка лучей. Современные возможности видеокарт

Технология построения реалистичных сцен методом трассировки лучей (ray tracing) известна уже несколько десятков лет, но только пару последних лет она полноправно заявляет свои права в сфере компьютерных игр. Тем самым переставая быть инструментом, применяемым сугубо в профессиональной сфере, постепенно становясь ближе простому обывателю.

Виртуальные фотоны

Технологии в сфере графики обычно сложно объяснить и максимально доступно разложить по полочкам, но в случае с трассировкой лучей — все довольно просто. Сама идея построения картинки, можно сказать, взята из реальной жизни, а в ее основе лежат процессы из школьного курса физики. Суть идеи — просчет поведения луча света при преломлении и отражении от моделируемого объекта. При этом в расчет берутся, как интенсивность виртуального луча (его освещенность), так и его взаимодействие с другими объектами, другими виртуальными лучами и источниками света. В результате чего, пользователь на экране монитора наблюдает изображение, максимально приближенное к тому, что он привык видеть в реальной жизни.


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


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


Главная идея при продвижении трассировки лучей в массы, заключалась в том, что для качественного скачка необходимо было разработать алгоритм, который по сильно зашумленной картинке, полученной в результате всего нескольких проходов (итераций) определял основные параметры создаваемого изображения. А именно: характеристики освещенности сцены, расположение теней и отражений объектов. И, исходя из имеющихся данных, дорисовывал ее до удобоваримого вида.


Это и было ключевым новшеством. Все остальное — уже давно известно визуализаторам. Существует огромнее количество различных программ и плагинов к ним, ориентированных на удаление методом аппроксимации посторонних шумов изображения. Главное в технологии — определение начальных параметров сцены.


Трассировка лучей в игровом контенте

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

Отражения

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

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


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

Battlefield V — яркий представитель такого игрового контента. Пользователь во всей красе наблюдает отражения войск и техники на воде, отражение местности на плоскостях пролетающих самолетов, ​​отражение вспышек от взрывов на поверхностях игрового мира.


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

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


Наиболее интересно реализовать динамику и реализм теней на данный момент удалось разработчикам компьютерной игры Shadow of the Tomb Raider.


Освещенность


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

Пока еще в редких играх используется полная трассировка лучей для просчета глобального освещения всей сцены. Это самый дорогой в вычислительном отношении способ. Для эффективной работы он нуждается в самой мощной из доступных в данный момент видеокарт. А вот результат вполне может разочаровать, поскольку топовая видеокарта справится с такой задачей в разрешении Full HD, хотя ей вполне по силам без использования рейтрейсинга выводить на экраны изображение 4К. Metro Exodus — пожалуй, единственная игрушка, использующая трассировку лучей для построения всей сцены, хотя в некоторых моментах ее реализация оставляет желать лучшего.

Аппаратная часть

Наиболее удачливой в коммерческом использовании технологии оказалась компания NVIDIA. Ее серия графических адаптеров GeForce RTX — безоговорочный лидер в работе с виртуальными фотонами. Ведь она была специально разработана для решения задач по трассировке лучей.

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

Краткие итоги

Несколько месяцев назад компания Nvidia практически в одиночку решила расширить внедрение технологии Ray Tracing, после чего некоторые разработчики игр и игровых движков решили поддержать развитие данной технологии. Недавнее обновление драйвера для GTX видеокарт позволяет использовать Ray Tracing миллионам новых пользователей и некоторые, самые производительные карты смогут пополнить ряды приверженцев новой технологии. Вместе с тем и сама технология трассировки лучей находит все большее применение в игровой индустрии.

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

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

Краткий экскурс в компьютерную графику и растеризацию

Создание виртуальной симуляции окружающего нас мира – это крайне сложная задача. Настолько сложная, что никто по-настоящему даже не пытался достичь этого в играх. Забудьте на мгновение о гравитации и физике, просто подумайте о том, как мы видим мир вокруг нас. Бесконечное число фотонов ( пучков света ) движется вокруг, отражаясь и проходя сквозь объекты. И все это основано на молекулярных свойствах каждого объекта.

Этот процесс называется растеризацией. Вместо того чтобы рассматривать бесконечное количество объектов, поверхностей и фотонов он начинается с полигонов – в частности, треугольников. Игры перешли от использования сотен полигонов к миллионам, а растеризация превращает все эти данные в 2D фреймы ( кадры ) на ваших мониторах.

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

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

Что такое Ray Tracing?

Трассировка лучей включает в себя отслеживание пути луча ( света ) в 3D сцене. Необходимо спроецировать луч на один пиксель в 3D сцене, чтобы узнать на какой конкретно полигон он попадает, а затем следует раскрасить этот полигон в соответствующий цвет. На практике необходимо рассчитать намного больше лучей на один пиксель, чтобы получить хороший результат, поскольку, как только луч достигает объекта необходимо просчитать источники освещения, которые могут достичь этой точки полигона ( дополнительные лучи ), и вместе с тем просчитать дополнительные лучи основываясь на свойствах полигона ( его способность к отражениям, цвет материала, форму и т.д. ).

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

В качестве примера Nvidia использует модель кролика, которую пересекает луч. На самом верхнем уровне BVH блок содержит в себе всю модель кролика и вычисления определяют, что луч пересек этот блок. Если же блок пересечен не был, то и никакой работы над этим блоком/объектом/BVH производить не требуется. Поскольку в нашем случае пересечение было установлено, BVH алгоритм получает набор меньших блоков для пересекаемого объекта и в конечном итоге находит точку, расположенную на голове кролика. Дополнительные BVH пересечения происходят до тех пор, пока алгоритм не получит фактический список полигонов, которые он затем может проверить, чтобы определить с каким полигоном пересекается луч.

Эти BVH вычисления могут быть выполнены при помощи программного обеспечения как на ЦПУ, так и на ГПУ, однако выделенное оборудование может ускорить этот процесс на порядок. RT ядра карт Nvidia RTX циклически выполняют всю работу связанную с лучом и BVH структурой, а затем выдают желаемый результат – полигон, который был пересечен лучом.

Это недетерминированная операция, что означает, что невозможно точно сказать насколько много лучей может быть просчитано в секунду, поскольку это зависит от сложности сцены и структуры BVH. Важно отметить, что Nvidia RT ядра могут обрабатывать BVH алгоритм примерно в 10 раз быстрее ядер CUDA, что в свою очередь примерно в 10 раз или более быстрее, чем выполнение просчетов на ЦПУ ( в основном это связано с количеством ГПУ ядер в сравнении с ЦПУ ядрами ).

Несмотря на сложность, почти каждый крупный фильм в наши дни использует трассировку лучей ( или трассировку путей ) для создания высокодетализированных компьютерных изображений. Полнометражный 90-минутный фильм, 60 кадров в секунду потребует примерно 324 000 кадров, и обработка каждого кадра может занять целые часы вычислительного времени. Как игры могут делать все это в режиме реального времени на одном графическом процессоре? Ответ кроется в том, что получаемые кадры будут иметь меньшее разрешение и качество, чем в голливудских фильмах.

Часть 2

Благодаря развитию графических процессоров, примером чему является новейшая серия NVIDIA RTX, трассировка лучей со временем будет применяться во всем большем количестве игр. До этого момента 3D-рендеринг в основном осуществляется методом растеризации, который является более простым (впрочем, сам процесс рендеринга все равно остается достаточно сложным).

Что такое растеризация?



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

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


При рендеринге методом трассировки лучей изображение получается путем отслеживания пути, который луч света проходит от окна просмотра (т.е. монитора) до каждого объекта, от которого он отражается, вплоть до источника этого луча. Во время отслеживания траектории лучей компьютер будет способен симулировать все эффекты их взаимодействия с различными поверхностями. Отражение, рефракция, тени на различных текстурах (гладких, грубых, прозрачных, цветных) – все это принимается в расчет. Результат – гораздо более реалистичное отображение света и тени по сравнению с растеризацией. Хотя существует множество приемов, которые применяются для искусственного повышения реализма игровых сцен, трассировка лучей продолжает оставаться самым полноценным решением.

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


Трассировка лучей вот уже много лет используется во множестве областей, включая киноиндустрию, архитектуру, дизайн интерьеров. Если вы – геймер, то, вероятно, обратили на нее внимание лишь после выпуска новейших видеокарт NVIDIA серии RTX, в которых реализована поддержка этого метода. С развитием видеокарт мы будем видеть все больше игр, использующих трассировку лучей для создания реалистичного изображения.
Для тех, кто желает получить максимум уже сегодня, самое время приобщиться самим к этой тенденции, ведь будущее технологии трассировки лучей выглядит очень перспективно. Компания MSI уже выпустила несколько мощных видеокарт с процессорами серии RTX, с помощью которых вы сможете поднять свою игру и качество изображения на новый уровень. Загляните на страницу-описание серии RTX , чтобы узнать больше о ее особенностях.

Мониторы для технологии трассировки лучей
Трассировка лучей – это свет и тени. Когда активируется данная технология, в игре часто возникают сцены с очень яркими и очень темными фрагментами, как в реальной жизни. Однако для монитора может оказаться затруднительным передать столь сильный контраст. Монитор с низкой динамической контрастностью зачастую жертвует детализацией темных участков, чтобы лучше отобразить самые яркие, и в результате вся сцена может выглядеть так, словно ее покрыли слоем серой краски, сделав все цвета менее сочными. Чтобы полностью раскрыть потенциал трассировки лучей, необходим монитор с отличной контрастностью. И это определяется исключительно типом его ЖК-панели.
Для производства мониторов сейчас используются панели трех типов: VA, IPS и TN. Наилучшей контрастностью обладают VA-панели, в то время как IPS- и TN-панели попросту уничтожают все преимущества технологии трассировки лучей по отображению света и тени, выводя на экран сероватую картинку без глубокого черного цвета. Кроме того, VA-панели предлагают другие важные для игр преимущества, в том числе низкое время отклика (1 мс), широкие углы обзора и отличную цветопередачу. Они доступны в виде мониторов с эргономичным изогнутым экраном. Поэтому, чтобы испытать все преимущества технологии трассировки лучей, мы настоятельно рекомендуем вам приобрести монитор именно с VA-панелью.

Будучи по-настоящему геймерской компанией, MSI выбирает для своих игровых мониторов VA-панели. Познакомиться с ними можно здесь . Войдите в эру трассировки лучей с помощью изогнутого игрового монитора MSI – вам гарантировано улучшенное качество изображения, о котором вы не смели и мечтать!

Читайте также: