Спикеры Richard Cowgill (разработчик компьютерных игр) и Allen Bourgoyne (менеджер профессионального подразделения Quadro в NVIDIA) отвечают на самые популярные вопросы, касающиеся трассировки лучей в реальном времени, создания правдоподобной иллюминации, обработки теней и т. д.
В чем разница между NVIDIA GeForce, TITAN и Quadro RTX, если мы говорим об использовании технологии Ray tracing?
Видеокарты GeForce и TITAN созданы для ПК, а устройства Quadro — для рабочих станций. Все RTX-версии адаптеров обеспечивают высокую производительность в задачах, связанных с трассировкой лучей в реальном времени. Разница лишь в мощности GPU и объёме RAM. У TITAN RTX в активе 24 Гбайт памяти, это значит, что она способна работать с более объемными «рендерами», нежели GeForce’ы.
Каковы преимущества функции Ray tracing по сравнению с обычной графикой?
Трассировка лучей используется для создания фотореалистичных изображений. До появления этой технологии применялись стандартные графические методы для эмуляции (имитации) теней и отражений, однако у них есть ряд ограничений.
Например, тени и отражения выглядят не совсем так, как в реальном мире. С помощью опции трассировки лучей мы фактически отслеживаем путь прохождения света через сцену, поэтому результат максимально точный (как в жизни).
Все компоненты сцены (отражения, прозрачные объекты и тени) выглядят естественно. Трассировка лучей обеспечивает такой уровень реализма в графике, который был просто невозможен при использовании традиционных технических методов.
Сколько памяти требуется для «начальной» RTX разработки?
Это зависит от сложности сцены. Технология Ray tracing требует двух новых «ассигнований памяти»: Top Level Acceleration Structure (TLAS) и Bottom Level Acceleration Structure BLAS. Если кратко, то BLAS содержит в себе необработанные данные, загруженные в память, которые трассировка лучей должна будет рассмотреть (подобная информация обычно занимает сотни мегабайт). Структура TLAS меньше по объему (5 Мбайт). Потребление памяти TLAS/BLAS можно промониторить через консольную команду “stat d3d12raytracing”.
Я использую UE4 для создания полнометражного фильма, у меня в системе установлена карта GeForce RTX 2080 Ti. Могу ли я присоединиться к NVIDIA Developer Program и получить доступ к DLSS2?
Да. Любой желающий может стать частью программы и получить доступ к инструментам и новым функциям.
Посоветуйте хороший технический ресурс для новичков (для тех, кто только начинает постигать основы RTX), чтобы понимать как все устроено.
В профильном UE4 руководстве объясняются базовые принципы и сама концепция трассировки лучей без привязки к игровым движкам (что работает, а что — нет). Есть также гайд по RTX на сайте NVIDIA и описание фундаментальных принципов Ray tracing на канале разработчиков.
Существуют ли ограничения на количество источников света, используемых технологией RTX? Большинство демонстраций, которые я видел, используют один глобальный источник света. Они основаны на открытой естественной среде без искусственного освещения, однако городские декорации нуждаются в гораздо большем количестве огней.
Никаких лимитов нет.
Растеризация с большим количеством источников света против трассировки лучей. Есть ли разница в производительности?
Разница невелика. Если мы говорим о динамическом освещении без теней, UE4 способен «отрендерить» множество подобных сценариев (без существенной нагрузки). И неважно, говорим мы о растровой сцене или о «трассированной» лучами, ведь освещение «без теней» обрабатывается одинаково («стоимость» данных операций будет скромной). Но когда в дело вступают тени, ситуация меняется. Здесь все будет зависеть от нескольких факторов. На какие объекты падает свет? Сложная ли структура у этих объектов? Посыл в любом случае состоит в том, что сколько бы света вы ни обрабатывали в «растре», вы можете «отрендерить» такое же количество с активной трассировкой лучей.
Появятся ли когда-нибудь игры, которые будут использовать только светоизлучающие объекты, то есть без «света» (как сейчас)?
Хороший вопрос. Если вы обратите внимание на текущие разработки, то поймете, что определенные успехи в данной области уже есть. Речь о двух значимых технологиях: RTXDI (прямое освещение) и RTXGI (глобальное освещение). RTXGI доберется до UE4 весьма скоро. RTXDI появится позже, но этот как раз то, о чем вы и спрашивали. RTXDI способен визуализировать миллионы огней от излучающих свет поверхностей и отобразить достоверные/мягкие тени от каждой из них.