Как работает трассировка лучей RX реального времени от Nvidia

Как работает трассировка лучей RX реального времени от Nvidia

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

Благодаря новому семейству GPU Turing, Nvidia стремится изменить все это благодаря развертыванию улучшенной поддержки в реальном времени RTX - высокопроизводительной библиотеки трассировки лучей, которая может выставлять подробные сцены по достойным игрокам кадрам. Мы углубимся в то, что сильно искажает трассировку лучей, что делает особенность NVidia RTX особенной, и как ее архитектура Turing еще больше ускоряет ее.

Как луч каста превращается в трассировку лучей

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

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

Генеральный директор Nvidia Джен-Хсун Хуан объясняет, как легкая выпечка использовалась как более эффективная альтернатива некоторым возможностям, доступным при трассировке лучей.
Генеральный директор Nvidia Джен-Хсун Хуан объясняет, как легкая выпечка использовалась как более эффективная альтернатива некоторым возможностям, доступным при трассировке лучей.

Ray Casting Massively Processor Intensive

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

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

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

Как работает трассировка лучей RX реального времени от Nvidia

RTX также полагается на новый новый модуль шумоподавления. Denoising очень важна при трассировке лучей, потому что вы можете использовать только ограниченное количество лучей из каждого пикселя в виртуальной камере. Поэтому, если вы не оставите трассировщик лучей достаточно длинным, чтобы заполнить сцену, у вас появилось много неприятных «лысинок» или «шум». Есть несколько отличных исследовательских проектов, которые помогают оптимизировать, какие лучи подаются, но вы все еще с большим шумом. Если этот шум может быть уменьшен отдельно, вы можете производить качественный вывод намного быстрее, чем если бы вам нужно было решить проблему, отправив это еще много лучей. Nvidia использует этот метод, чтобы быстрее создавать кадры. Вероятно, эта возможность основывается на работе Nvidia, работающей на AI, представленной на SIGGRAPH в прошлом году, так как ее выполнение в реальном времени в значительной степени зависит от тензорных ядер «AI» на своих графических процессорах Turing.

Пользовательские ядра RT облегчают трассировку лучей в реальном времени

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

Чтобы помочь решить эту проблему, Nvidia разработала специально созданные RT-ядра как часть своей архитектуры Тьюринга. Информация о них не так много, но, в частности, они позволяют намного быстрее вычислять пересечение луча с объектами, хранящимися в иерархии ограничения объема (BVH), популярной структурой данных для представления объектов в лучевых индикаторах ,

RTX подходит для потребительских графических процессоров с новыми картами Turing 20xx

Как работает трассировка лучей RX реального времени от Nvidia

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

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

Читать далее

Modder Wires Iconic 1970 TV Up для современного ПК, консольные игры

Моддеру удалось подключить JVC Videosphere до последних консолей от Sony, Microsoft и Nintendo.

Город в штате Нью-Йорк в Нью-Йорке обсуждает временный запрет на биткойн-майнинг

Шахтеры стекались в маленький город в северной части штата Нью-Йорк, но теперь местное правительство хлопает по тормозам.

Как работает трассировка лучей RX реального времени от Nvidia

Трассировка лучей - это идеальный способ создания реалистичных сцен, генерируемых компьютером, и до 10 часов на каждый кадр для рендеринга, до сих пор он в основном ограничивался фильмами и рекламой. Nvidia продемонстрировала трассировку лучей в реальном времени, используя свой новый RTX, работающий на своих графических процессорах Volta.

FTC обещает юридическое действие, если в течение долгого времени не будут зафиксированы гарантийные наклейки

FTC предоставил компаниям 30 дней для соблюдения закона, или агентство будет преследовать «законные действия».