- PVSM.RU - https://www.pvsm.ru -
Vulkan API — это низкоуровневые кроссплатформенные программные интерфейсы, которые выдают более высокую производительность 3D-графики за счёт снижения издержек по сравнению с другими API типа OpenGL, особенно при наличии специальных функций GPU (API подходит также для рендеринга 2D). При грамотной реализации Vulcan обеспечивает «от маргинального до полиномиального повышения скорости по сравнению с другими API на том же оборудовании».
Разработчик Khronos Group представил Vulkan API в рамках конференции GDC 2015, а первый релиз состоялся в феврале 2016 года. Первоначально Vulkan API носили название «следующее поколение OpenGL» или просто glNext, но потом название сменили на Vulkan.
Многие с нетерпением ждали выхода этой революционной технологии, которая сильно ускоряет 3D-графику и снижает нагрузку на процессор по примеру Direct3D 12, Metal и Mantle. Но проблема была в том, что Vulkan API требует от разработчика гораздо больше усилий, в то время как API более высокого уровня, как OpenGL и DirectX 11 упрощают многие вещи, например, управление памятью. Чтобы помочь работать с Vulkan, компания AMD разработала обёртку (враппер) и слой абстракции V-EZ, а теперь опубликовала исходный код этого инструмента под свободной лицензией MIT (репозиторий на GitHub [1]).
Изначально V-EZ вышел в марте 2018 года с закрытыми исходниками, теперь это ограничение снято.
Vulkan API
V-EZ — это промежуточный уровень (middlware), который берёт на себя многие вспомогательные функции при разработке, так что разработчику необязательно сразу знать и вручную разбираться со всеми тонкостями Vulkan, многие вещи V-EZ сделает сам. Вспомогательная оболочка использует ту же семантику, что и Vulkan API, то есть может использоваться как в своём роде обучающий инструмент. Начав с V-EZ, разработчики могут постепенно освоиться — и в конечном итоге перейти к использованию Vulkan напрямую. Это также означает, что во многих случаях документация Vulkan применима к V-EZ.
Преимущества Vulkan перед API предыдущего поколения:
Промежуточный слой V-EZ
Хотя создателем Vulkan API является Khronos Group, но технология основана на Mantle API, которую компания AMD безвозмездно передала Khronos Group. Идея была в создании более совершенной технологии, не привязанной к конкретному производителю, чтобы её можно было принять в качестве общепризнанного отраслевого стандарта, как OpenGL. Поэтому AMD сейчас помогает в продвижении Vulkan API и создаёт вспомогательные инструменты, такие как V-EZ.
V-EZ не привязана к определённому вендору и должна работать на оборудовании не-AMD.
Создатели V-EZ надеются, что публикация исходного кода под свободной лицензией способствует большей популярности оболочки V-EZ, а, следовательно, и новых низкоуровневых программных интерфейсов. В свою очередь, это поможет разработчикам принять новые API, что приведёт к лучшей производительности игр и большему количеству кроссплатформенных игр.
В данный момент Vulkan поддерживается рядом игровых движков, в том числе Source 2, Serious Engine 4, Unreal Engine 4, Torque 3D, id Tech 3, id Tech 4, id Tech 6, Xenko, Unity, CryEngine, Intrinsic, Unigine, Abyss Engine, Banshee 3D и Godot.
Автор: alizar
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/open-source/290506
Ссылки в тексте:
[1] репозиторий на GitHub: https://github.com/GPUOpen-LibrariesAndSDKs/V-EZ
[2] Источник: https://habr.com/post/421361/?utm_campaign=421361
Нажмите здесь для печати.