Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

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


API Vulkan (ликбез).

API Vulkan (ликбез).

API Vulkan - «новое поколение OpenGL» или просто «glNext», Vulkan - это графический и вычислительный API нового поколения, который обеспечивает высокопроизводительный кросс-платформенный доступ к современным графическим процессорам, используемым в самых разных устройствах от ПК и консолей до мобильных телефонов и встроенных платформ. Vulkan API изначально был известен как «новое поколение OpenGL» или просто «glNext», но после анонса компания отказалась от этих названий в пользу названия Vulkan. Спецификация Vulkan 1.1 уже была запущена 7 марта 2018 года, чтобы расширить основные функциональные возможности Vulkan с функциями, запрошенными разработчиками, такими как операции с подгруппами, а также интегрировать широкий спектр проверенных расширений от Vulkan 1.0. 2018 год для игровой индустрии положил начало внедрению трассировки лучей в реальном времени: многие крупные компании и разработчики активно трудятся над решением этой проблемы (в том числе и NVIDIA). Очередным шагом NVIDIA в этой области стала работа над расширением для API Vulkan, которое, по аналогии с RTX для DXR, позволит использовать в играх трассировку лучей. NVIDIA осуществила перенос своей технологии RTX в Vulkan через расширение VK_NV_raytracing, которое хорошо совместимо с этим открытым графическим API. Компания предложила свой метод группе Khronos и стремится к стандартизации технологии трассировки лучей в реальном времени в рамках Vulkan. В перспективе такой метод сможет работать как на ускорителях GeForce, так и на Radeon и даже Intel Graphics (если будут достаточно мощные решения). NVIDIA подчёркивает, что структура близка к Microsoft DXR, что упростит жизнь разработчикам (DXR - это расширение программного интерфейса DirectX 12 новым компонентом DirectX Raytracing API (DXR). Благодаря данным технологиям разработчики смогут применять трассировку лучей в реальном времени для создания реалистичных графических эффектов в играх (Raytracing - трассировка лучей).

Еще 20.03.2018 компания Nvidia официально представила технологию трассировки лучей RTX. Microsoft анонсировала расширение программного интерфейса DirectX 12 новым компонентом DirectX Raytracing API (DXR). Благодаря данным технологиям разработчики смогут применять трассировку лучей в реальном времени для создания реалистичных графических эффектов в играх. Что касается Nvidia RTX, то на аппаратном уровне технология будет поддерживаться только графическими решениями Volta (на рынке присутствует представитель данной архитектуры в лице профессионального графического ускорителя Nvidia Titan V с рекомендованным ценником $3000).

Для осуществления возможности расчета трассировки лучей на остальных видеокартах Microsoft предлагает так называемый режим совместимости DXR, который будет реализован с помощью компонента DirectCompute. Напомним, интерфейс программирования приложений DirectCompute предназначен для выполнения вычислений общего назначения на графических процессорах и является частью API DirectX.

Архитектуру Turing называют самым главным продуктом компании Nvidia за последние 10 лет. Основной упор новой платформы для видеокарт делается на возможности в трассировке лучей в режиме реального времени — это такой метод построения объемного изображения. Благодаря новой архитектуре процесс обработки графики с использованием трассировки лучей ускорится в 6 раз. В основе новой архитектуры лежит чип Turing GPU с 18,6 миллиардами транзисторов. Он первым в линейке компании получил поддержку памяти GDDR6 с 256- и 384-разрядной шиной. Самая топовая карта Quadro RTX 8000 получила сразу 48 ГБ памяти нового поколения.

В линейке видеокарт на архитектуре Turing есть три модели — Quadro RTX 5000, 6000 и 8000. Все они поддерживают технологию NVLink, благодаря чему несколько видеокарт можно объединять в один массив для наращивания производительности. Таким образом можно достичь пропускной способности в 100 ГБ/с. Видеокарты на базе Turing появились в конце 2018 года. Топовая карта Quadro RTX 8000 стоит $10 тысяч или почти 700 тысяч рублей.

NVIDIA активно трудится, чтобы предоставить потенциальным клиентам готовое ПО, умеющее задействовать преимущества её новых GPU и технологии трассировки лучей RTX. Хотя речь идёт только о первых шагах в этой области, компания уже заручилась поддержкой таких влиятельных компаний, как Autodesk, Adobe, Chaos Group, Dassault Systиmes и, конечно же, Epic Games (среди прочих), чтобы поддержать технологию аппаратной трассировки лучей в том или ином виде.

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

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

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

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

 


Лицензия