Трассировка лучей делает картинку лучше и реалистичнее, но не всегда это критически важно
Трассировка лучей делает картинку лучше и реалистичнее, но не всегда это критически важно

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

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

Ray Tracing поддерживают почти все современные видеокарты, но иногда не требуется даже их присутствие. Например, новые компьютеры Apple на базе процессоров M3 и новее поддерживают RT на уровне встроенного видеочипа.

Основы Ray Tracing: что дает трассировка лучей

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

  • Первичные лучи (primary rays)

  • Теневые лучи (shadow rays)

  • Вторичные лучи (secondary rays), включая отражение и преломление

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

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

Как работает трассировка лучей

С глубинной точки зрения трассировка ближе к физике, чем к творчеству
С глубинной точки зрения трассировка ближе к физике, чем к творчеству

Процесс трассировки лучей можно разделить на несколько ключевых этапов:

  1. Генерация лучей:

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

  • Направление лучей определяется в соответствии с полем зрения камеры и разрешением изображения.

  • Дополнительные лучи могут быть сгенерированы для сглаживания (антиалиасинга) или расчета эффектов глубины резкости.

  1. Поиск пересечений:

  • Каждый луч проверяется на пересечение с объектами 3D-сцены.

  • В точке пересечения луча и объекта вычисляются параметры: координаты, нормаль поверхности, материал и т.д.

  1. Расчет освещения:

  • В точке пересечения определяется освещенность поверхности на основе свойств материала и источников света.

  • Для этого могут использоваться локальные модели освещения (например, модель Фонга) или глобальные методы (например, фотонные карты).

  • Учитываются эффекты прямого освещения, отражений, преломлений и затенения.

  1. Вторичные лучи:

  • Для симуляции отражений и преломлений света генерируются вторичные лучи из точек пересечения.

  • Направление вторичных лучей определяется законами отражения и преломления света.

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

  1. Затенение и освещение:

  • Для расчета теней испускаются тестовые лучи из точки пересечения к источникам света.

  • Если тестовый луч блокируется другими объектами сцены, точка считается затененной.

  • Мягкие тени достигаются путем испускания множества тестовых лучей к площадным источникам света.

  1. Интеграция цвета:

  • Финальный цвет пикселя вычисляется путем интеграции (усреднения) цветовых вкладов всех лучей, прошедших через этот пиксель.

  • При необходимости применяются пост-эффекты, такие как тональная компрессия, размытие или глубина резкости.

Аппаратная поддержка трассировки лучей

Что такое трассировка лучей и какие эффекты она дает

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

Аппаратное ускорение преодолевает ограничения производительности трассировки лучей несколькими способами:

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

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

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

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

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

Кино

В киноиндустрии трассировка лучей внесла значительные изменения в процесс создания визуальных эффектов. Один из примеров — фильм "Мстители: Война бесконечности", где данная технология использовалась для визуализации Таноса. Трассировка лучей позволила создать высокодетализированные и реалистичные отражения на его броне и коже, а также точно воссоздать игру света и теней на его лице и фигуре в различных сценах. Это значительно усилило визуальное восприятие персонажа и повысило эмоциональное воздействие его присутствия в фильме.

Видеоигры

Внедрение трассировки лучей в игровые движки, такие как Unreal Engine и Unity, позволило достичь беспрецедентного уровня реалистичности геймплея. Примером могут служить игры Watch Dogs: Legion и Cyberpunk 2077, где использование трассировки лучей значительно улучшило качество освещения, теней и отражений, делая игровой мир по-настоящему вовлекающим.

Тут трассировка лучей включена
Тут трассировка лучей включена
А здесь выключена
А здесь выключена

Архитектурная визуализация

С трассировкой лучей проект выглядит визуально красивее
С трассировкой лучей проект выглядит визуально красивее

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

Дизайн

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

Какие видеокарты поддерживают аппаратную трассировку лучей

На современном рынке дискретных GPU консьюмерского уровня три основных производителя — Nvidia, AMD и Intel — предлагают решения с поддержкой Ray Tracing. Несмотря на общность технологии, не везде она реализована одинаково, отчего результативность видеокарт при отработке трассировки лучей может отличаться.

Nvidia является признанным лидером отрасли, который предложил выделенные RT-ядра в своих видеокартах, построенных на базе архитектуры Turing (серия RTX 20) в 2018 году. К настоящему времени было выпущено еще два поколения видеокарт, где технология трассировки лучей стала еще более зрелой, а также получила широкую оптимизацию под игры и приложения.

Принадлежность видеокарт к одному поколению и единая графическая архитектура не означают, что трассировка лучей в их случае работает одинаково. Например, RTX 4090 является одной из самых мощных моделей в линейке Nvidia, использующей архитектуру Ada Lovelace. Она обладает значительно большим количеством ядер RT (Ray Tracing) третьего поколения, чем, скажем, RTX 4060. Это позволяет старшей карточке обрабатывать трассировку лучей на высоких настройках графики в режиме реального времени без значительной потери в частоте кадров даже в самых требовательных играх и приложениях.

RTX в названии видеокарт Nvidia указывает на поддержку аппаратной трассировки лучей
RTX в названии видеокарт Nvidia указывает на поддержку аппаратной трассировки лучей

RTX 4060, хотя и принадлежит к тому же семейству Ada Lovelace, является более бюджетной моделью с меньшим количеством RT- и CUDA-ядер. Хотя она поддерживает трассировку лучей на аппаратном уровне и способна грамотно использовать ее потенциал в совместимых играх и приложениях, эффект от этого будет заметно ниже. По сравнению с RTX 4090 модели RTX 4060 может потребоваться снижение настроек графики или разрешения для поддержания высокой частоты кадров при включенной трассировке лучей.

У видеокарт AMD поддержка трассировки лучей появилась с переходом на архитектуру RDNA 2 с серии RX 6000. У них, в отличие от решений Nvidia, нет выделенных RT-ядер, только унифицированные вычислительные блоки. Из-за этого они вынуждены использовать больше ресурсов GPU, что может приводить к снижению производительности. Несмотря на значительные улучшения, которые произошли с картами AMD за последние годы, Nvidia все еще превосходит их в эффективности трассировки лучей.

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

Видеокарты Intel, вышедшие на рынок позже всех остальных, тоже предлагает аппаратную поддержку трассировки лучей. Это стало возможно благодаря архитектуре Xe HPG в Arc-серии, которая дебютировала в 2022 году. Как и карты Nvidia, линейка Intel Arc обладает выделенными RT-блоками. 

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

При выборе видеокарты для трассировки лучей следует учитывать бюджет и целевые характеристики, такие как разрешение и частота кадров. Высокопроизводительные карты обеспечат лучший результат в 4K, но будут стоить дороже. Также важно проверять совместимость с конкретными играми и приложениями и учитывать, что для профессионалов в области графики и визуализации есть специализированные видеокарты, такие как Nvidia Quadro или AMD Radeon Pro.

Нужна ли трассировка лучей в играх

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

Если не видеть рядом картинку с трассировкой лучей, можно подумать, что так и надо
Если не видеть рядом картинку с трассировкой лучей, можно подумать, что так и надо

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

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

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

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

Комментарии (16)


  1. GennPen
    18.06.2024 11:04
    +8

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

    Hidden text


    1. ZirakZigil
      18.06.2024 11:04

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

      На лучшие сравнения можно посмотреть тут: https://www.techpowerup.com/review/cyberpunk-2077-phantom-liberty-benchmark-test-performance-analysis/4.html — с одной стороны выбирайте pathtracing ("флагманская" технология), в другом ultra.


      1. GennPen
        18.06.2024 11:04

        Спасибо, сразу не нашел такое сравнение "в лоб".

        С pathtracing конечно смысла нет сравнивать. А вот Ultra с обычным RT Medium/Ultra приходится искать отличия. Но, скорее всего это заслуга разработчиков игры, что "прилизали" так картинку.


        1. 1CHer
          18.06.2024 11:04

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


        1. DontHappyBeWorry
          18.06.2024 11:04

          Я советую пощупать ведьмака 3 после нового патча с включенным RТХ. В этой игре очень много времени проводишь на природе, и именно она с RTХ ощущается по-настоящему, объемной и живой, даже без PT. Я сравнивал самостоятельно, эффект был гораздо сильней, чем искать разницу в видео чужих или на чужих скринах. Сравнивал новый патч на rx6800хt, после этого захотел видеокарту от зелёных, чтобы с более комфортным фпс перепройти игру с rtx :) Ну и ещё следует учитывать, что люди чуть разные, у них разные предпочтения и качественно разные органы чувств, например, у кого-то лучше слух и он больше любит музыку, и ему нужны наушники получше и подороже, чтобы насладиться музыкой, а кому-то хватит и затычек за 100 рублей с бубнящим звуком. В видеоиграх похожая ситуация, кто-то "чувствителен" к картинке и ему хочется все выкрутить на ультра, а кому-то все равно на rtx и он может спокойно играть на средне-минимальных. Отчасти еще поэтому для кого-то разница между rtx on/off есть, а для кого-то ее нет, это нормально.

          P.s. автору статьи огромное спасибо.


      1. GennPen
        18.06.2024 11:04

        del


      1. Chaos_Optima
        18.06.2024 11:04

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


        1. ZirakZigil
          18.06.2024 11:04

          Pathtracing считает в том числе рассеяние и переотражения, а не только пересечения основного луча.


    1. RusikR2D2
      18.06.2024 11:04

      уже ответили


    1. Sing303
      18.06.2024 11:04
      +1

      Рекомендую глянуть видео "Поясняю за трассировку лучей в играх" (канал GodRay) на youtube, там довольно много хороших примеров и сравнение с классическими методами работы с освещением


      1. GennPen
        18.06.2024 11:04

        Спасибо за рекомендацию. Очень познавательное видео.


  1. AWRDev
    18.06.2024 11:04
    +2

    В фильмах трассировка лучей мне кажется всегда была, просто в отличии от игр там не требуется считать лучи в реальном времени от 30 кадров в секунду


  1. dopusteam
    18.06.2024 11:04
    +2

    С трассировкой лучей проект выглядит визуально красив
    С трассировкой лучей проект выглядит визуально красив

    Картинка вообще неудачная, левая часть освещена солнцем, правая - в тени.


    1. exTvr
      18.06.2024 11:04
      +1

      Картинка вообще неудачная, левая часть освещена солнцем, правая - в тени.

      Классика же


  1. molnij
    18.06.2024 11:04
    +1

    Внедрение трассировки лучей в игровые движки, такие как Unreal Engine и Unity, позволило достичь беспрецедентного уровня реалистичности геймплея. Примером могут служить игры Watch Dogs: Legion и Cyberpunk 2077, где использование трассировки лучей значительно улучшило качество освещения, теней и отражений, делая игровой мир по-настоящему вовлекающим.

    Как обычно, ученый насиловал журналиста? И в легионе и в киберпанке свои собственные движки.


  1. leffmanowar
    18.06.2024 11:04

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