Vulkan
Логотип программы Vulkan
Скриншот программы Vulkan
Тип API
Автор Khronos Group
Разработчик Khronos Group
Написана на C
Операционные системы
Первый выпуск 16 февраля 2016 г.
Аппаратная платформа кроссплатформенность
Последняя версия 1.3.278 (16 февраля 2024)
Репозиторий github.com/KhronosGroup/…
Состояние Актуальное
Лицензия Лицензия Apache
Сайт khronos.org/vulkan/
Логотип Викисклада Медиафайлы на Викискладе

Vulkan (рус. Вулкан) — кроссплатформенный API для 2D- и 3D-графики, впервые представленный Khronos Group в рамках конференции GDC 2015[11][12].

Vulkan API изначально был известен как «новое поколение OpenGL» или просто «glNext», но после анонса компания отказалась от этих названий в пользу названия Vulkan[13]. Как и OpenGL, Vulkan позволяет с высокой производительностью отображать в реальном времени различные приложения с 3D-графикой, такие как игры или интерактивные книги на всех платформах, а также обеспечивает более высокую производительность и меньшую нагрузку на процессор, аналогично Direct3D 12, Metal[en] и Mantle. Vulkan основан на технологиях AMD в Mantle[14][15][16][17][18].

Обзор

Целью Vulkan было превзойти другие API, включая его предшественника OpenGL, в части снижения накладных расходов, повышения степени прямого контроля над GPU и уменьшения нагрузки на CPU. Vulkan имеет предполагаемые преимущества:

Для упрощения разработки приложений на Vulkan в 2018 году AMD выпустила вспомогательную оболочку V-EZ, которая берёт на себя многие вспомогательные функции при разработке, так что разработчику необязательно сразу разбираться со всеми тонкостями работы Vulkan API[21][22].

История

Летом 2014 года Khronos Group начала проект по созданию следующего поколения графического API. В 2014 году на SIGGRAPH проект был публично анонсирован с призывом к участию.

Согласно ведомству США по патентам и товарным знакам, фирменный знак «Vulkan» был зарегистрирован 19 февраля 2015 года[23].

Vulkan был официально назван и анонсирован на Game Developers Conference 2015, хотя домыслы и слухи вокруг нового API существовали заранее. Один из вариантов названий был «glNext»[24].

3 марта 2015 года Valve анонсировала Source 2, игровой движок с поддержкой графического API Vulkan[25][26].

В начале 2015 года LunarG (финансируется Valve) разработан и представлен драйвер Linux для Intel, который позволил Vulkan иметь совместимость с интегрированной графической системой HD 4000 серии, которая, несмотря на открытый драйвер Mesa, не полностью совместима с OpenGL 4.0[27][28]. Существует ещё возможность[29] поддержки Ivy Bridge, так как он поддерживает Direct3D 11.

10 августа 2015 года Google объявила о будущей версии Android с поддержкой Vulkan[30].

18 декабря 2015 года Khronos Group объявила о том, что спецификация версии Vulkan 1.0 практически завершена и будет выпущена, когда будут доступны совместимые драйверы.

16 февраля 2016 года выпущена публичная спецификация версии Vulkan 1.0[31] и экспериментальные драйверы для видеокарт AMD и Nvidia.

26 февраля 2018 года Khronos в рамках спецификации The Vulkan® Portability Initiative выпустили общедоступную версию Vulkan 1.0 SDK для работы на платформах macOS и iOS[32].

7 марта 2018 года выпущена публичная спецификация версии Vulkan 1.1[33].

15 января 2020 года выпущена публичная спецификация версии Vulkan 1.2[34].

15 января 2020 года Khronos Group объявила что HLSL-компилятор от Microsoft теперь поддерживает трансляцию в SPIR-V[en]. Теперь HLSL наряду с GLSL официально является языком программирования шейдеров для Vulkan[35].

17 марта 2020 года была добавлена поддержка трассировки лучей[36].

22 января 2022 года выпущена публичная спецификация версии Vulkan 1.3[37].

1 сентября 2022 выпущено расширение VK_EXT_mesh_shader[38] для поддержки меш шейдеров[39].

Использование Vulkan

Игры

Игровые движки

Библиотеки обёртки

Совместимость

Начальная спецификация утверждает, что Vulkan будет работать на оборудовании, которое в настоящее время поддерживает OpenGL ES 3.1 или OpenGL 4.x и выше[63]. В качестве поддержки Vulkan потребует новых графических драйверов, но это не обязательно означает, что все существующие устройства, которые поддерживают OpenGL ES 3.1 или OpenGL 4.x будут иметь доступные драйверы с поддержкой Vulkan.

См. также

Примечания

  1. Vulkan on FreeBSD. Vulkan GPU info (1 июня 2021). Дата обращения: 22 мая 2022. Архивировано 14 марта 2022 года.
  2. Vulkan on QNX. www.khronos.org (14 июля 2021). Дата обращения: 14 июля 2021. Архивировано 14 июля 2021 года.
  3. Nintendo Switch Listed as Vulkan and OpenGL Conformant - My Nintendo News. My Nintendo News. Excite Global Media (19 декабря 2016). Дата обращения: 14 июля 2021. Архивировано 14 июля 2021 года.
  4. Palumbo, Alessio Nintendo Switch Officially Supports Vulkan, OpenGL 4.5 & OpenGL ES. WCCF Tech (19 декабря 2016). Дата обращения: 14 июля 2021. Архивировано 14 июля 2021 года.
  5. Conformant Products. khronos.org. The Khronos Group (28 апреля 2018). Дата обращения: 28 февраля 2018. Архивировано 28 января 2017 года.
  6. Vulkan on Raspberry Pi. www.raspberrypi.org (14 июля 2021). Дата обращения: 14 июля 2021. Архивировано 20 июля 2021 года.
  7. Vulkan now official, with 1.0 API release and AMD driver [Updated]. Ars Technica. Condé Nast (16 февраля 2016). Дата обращения: 18 февраля 2016. Архивировано 14 июля 2021 года.
  8. Valich, Theo Mantle Cycle is Complete as Khronos Releases Vulkan 1.0. VR World (17 февраля 2016). Дата обращения: 19 февраля 2016. Архивировано 11 мая 2022 года.
  9. GitHub - KhronosGroup/MoltenVK: MoltenVK is an implementation of the high-performance, industry-standard Vulkan graphics and compute API, that runs on Apple's Metal graphics framework, bringing Vulkan to iOS and macOS. Дата обращения: 12 сентября 2019. Архивировано 19 июля 2021 года.
  10. VxWorks offers support for many standard graphic libraries, such as ..., and Vulkan. WinDriver. Дата обращения: 8 ноября 2021. Архивировано 8 ноября 2021 года.
  11. Vulkan : Graphics and compute Belong Together (PDF). Khronos.org (март 2015). Дата обращения: 5 марта 2015. Архивировано 18 декабря 2016 года.
  12. Vulkan - Graphics and compute belong together. Khronos.org. Дата обращения: 5 марта 2015. Архивировано 9 мая 2021 года.
  13. glNext revealed as Vulkan graphics API. Дата обращения: 27 марта 2015. Архивировано 14 октября 2016 года.
  14. Mantle is a Vulkan: AMD’s dead graphics API rises from the ashes in OpenGL’s successor | PCWorld. Дата обращения: 27 марта 2015. Архивировано 7 ноября 2016 года.
  15. AMD Gaming: One of Mantle's Futures: Vulkan | AMD Blogs. Community.amd.com. Дата обращения: 5 марта 2015. Архивировано из оригинала 6 марта 2015 года.
  16. Not dead yet: AMD’s Mantle powers new Vulkan API, VR efforts. ExtremeTech. Дата обращения: 5 марта 2015. Архивировано 22 апреля 2016 года.
  17. AMD's Mantle Lives On In Vulkan - Lays The Foundation For The Next OpenGL. Wccftech.com (20 июня 2014). Дата обращения: 5 марта 2015. Архивировано 19 августа 2020 года.
  18. Kirsch, Nathan Is AMD Mantle Dead As We Have Known It? Vulkan API Uses Mantle Technology for OpenGL. Legit Reviews. Дата обращения: 5 марта 2015. Архивировано 26 июня 2015 года.
  19. Программный интерфейс Vulkan™ | AMD. Дата обращения: 24 ноября 2019. Архивировано 14 июля 2019 года.
  20. Vulkan API официально поддерживает multi-GPU на Windows 10, Windows 7, Windows 8.1 и Linux. PlayGround.ru. Дата обращения: 24 ноября 2019.
  21. AMD открыла исходный код V-EZ, оболочки кроссплатформенного низкоуровневого Vulkan API. Дата обращения: 28 августа 2018. Архивировано 28 августа 2018 года.
  22. GitHub - GPUOpen-LibrariesAndSDKs/V-EZ. Дата обращения: 28 августа 2018. Архивировано 29 августа 2018 года.
  23. Trademark Status & Document Retrieval. tsdr.uspto.gov. Дата обращения: 9 ноября 2015. Архивировано 11 мая 2013 года.
  24. glNext revealed as Vulkan graphics API. www.develop-online.net. Дата обращения: 9 ноября 2015. Архивировано 14 октября 2016 года.
  25. Valve announces Source 2 engine, free for developers. Polygon. Дата обращения: 9 ноября 2015. Архивировано 5 марта 2015 года.
  26. GDC 2015: Valve Announces Source 2 Engine - IGN. IGN. Дата обращения: 9 ноября 2015. Архивировано 4 марта 2015 года.
  27. Valve Developed An Intel Linux Vulkan GPU Driver - Phoronix. www.phoronix.com. Дата обращения: 9 ноября 2015. Архивировано 24 сентября 2015 года.
  28. Learning More About The Intel Vulkan Driver, Linux Vulkan Plans - Phoronix. www.phoronix.com. Дата обращения: 9 ноября 2015. Архивировано 24 сентября 2015 года.
  29. Evan Odabashian on Twitter. Twitter. Дата обращения: 9 ноября 2015. Архивировано 19 августа 2020 года.
  30. Reto Meier. Low-overhead rendering with Vulkan | Android Developers Blog. Low-overhead rendering with Vulkan | Android Developers Blog (10 августа 2015). Дата обращения: 9 ноября 2015. Архивировано 8 марта 2016 года.
  31. Khronos Vulkan Registry. www.khronos.org. Дата обращения: 9 марта 2018. Архивировано 10 марта 2018 года.
  32. Vulkan Applications Enabled on Apple Platforms. www.khronos.org. Дата обращения: 28 февраля 2018. Архивировано 28 февраля 2018 года.
  33. Khronos Group Releases Vulkan 1.1. www.khronos.org. Дата обращения: 9 марта 2018. Архивировано 14 апреля 2022 года.
  34. Khronos Group Releases Vulkan 1.2. www.khronos.org. Дата обращения: 15 января 2020. Архивировано 11 мая 2022 года.
  35. HLSL as a First Class Vulkan Shading Language. www.khronos.org. Дата обращения: 15 января 2020. Архивировано 15 января 2020 года.
  36. Khronos Group Releases Vulkan Ray Tracing. www.khronos.org. Дата обращения: 17 марта 2020. Архивировано 17 марта 2020 года.
  37. Khronos Strengthens Vulkan Ecosystem with Release of Vulkan 1.3, Public Roadmap and Profiles. www.khronos.org. Дата обращения: 25 января 2022. Архивировано 25 января 2022 года.
  38. VK_EXT_mesh_shader. Дата обращения: 8 сентября 2022. Архивировано 8 сентября 2022 года.
  39. Mesh Shading for Vulkan. Дата обращения: 8 сентября 2022. Архивировано 8 сентября 2022 года.
  40. Williams, Daniel; Smith, Ryan (2016-02-17). "Quick Look: Vulkan Performance on The Talos Principle". Anandtech. Архивировано из оригинала 15 мая 2022. Дата обращения: 19 февраля 2016.
  41. Dota 2 Update - May 23rd 2016. store.steampowered.com. Valve. Дата обращения: 24 мая 2016. Архивировано 8 ноября 2020 года.
  42. "Vulkan Support Now Live - FAQ" (англ.). 2016-07-11. Архивировано из оригинала 17 июня 2017. Дата обращения: 1 апреля 2017.
  43. "DOOM стала первой игрой-блокбастером с поддержкой Vulkan API". OSZone. 2016-07-11. Архивировано из оригинала 14 июля 2016. Дата обращения: 11 июля 2016.
  44. DOOM – Vulkan Support Now Live. bethesda.net. Дата обращения: 11 июля 2016. Архивировано 6 августа 2019 года.
  45. Papadopoulos, John Here is your first look at the first Quake being recreated in Unreal Engine 4 (fan project). Dark Side of Gaming (21 июля 2016). Дата обращения: 26 августа 2016. Архивировано 12 апреля 2022 года.
  46. Larabel, Michael Quake 1 Ported To Run On Vulkan. Phoronix. Phoronix Media (25 июля 2016). Дата обращения: 26 августа 2016. Архивировано 11 мая 2022 года.
  47. "See How Vulkan API and Galaxy S7 Create More Immersive Gaming Experiences" (англ.). 2016-06-28. Архивировано из оригинала 24 февраля 2017. Дата обращения: 1 апреля 2017.
  48. Твит Tiago Sousa 12.06.2017. Дата обращения: 19 июня 2017. Архивировано 30 мая 2019 года.
  49. Forum: Vulkan API Support? Дата обращения: 19 июня 2017. Архивировано 22 июля 2017 года.
  50. "X4 Foundations: neue 3D-Engine auf Basis von Vulkan wegen VR". PC Games Hardware (нем.). Архивировано из оригинала 14 ноября 2017. Дата обращения: 14 ноября 2017.
  51. forums.robertsspaceindustries.com. Архивировано из оригинала 1 мая 2017 года.
  52. Red Dead Redemption 2. Сравнительное тестирование видеокарт. Overclockers.ua. Дата обращения: 24 ноября 2019. Архивировано 19 декабря 2019 года.
  53. "Обновление 3.10.2 с бета-версией отрисовщика на базе Vulkan". Path of Exile. 2020-05-28. Дата обращения: 28 мая 2020.
  54. Godot Engine. Godot Engine - Godot 3.1 is out, improving usability and features. godotengine.org. Дата обращения: 17 марта 2019. Архивировано 18 марта 2019 года.
  55. Проект Anvil на сайте GitHub
  56. Проект GLOVE на сайте GitHub
  57. Проект MoltenVK на сайте GitHub
  58. Проект V-EZ на сайте GitHub
  59. KhronosGroup/Vulkan-Hpp. — 2020-12-07. Архивировано 15 декабря 2020 года.
  60. Проект Vulkano на сайте GitHub
  61. Проект PasVulkan на сайте GitHub
  62. Проект NVK на сайте GitHub
  63. Vulkan Overview. The Khronos Group. Дата обращения: 5 июля 2016. Архивировано 8 декабря 2015 года.

Литература