Vulkan
Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från
versionen som granskades den 1 september 2022; kontroller kräver
11 redigeringar .
Vulkan |
---|
|
|
Sorts |
API |
Författare |
Khronos Group |
Utvecklaren |
Khronos Group |
Skrivet i |
C |
Operativ system |
Linux , Android , Microsoft Windows , Fuchsia , BSD Unix [1] , QNX [2] , MacOS , IOS , Nintendo Switch [3]
[4]
[5] , Raspberry Pi [6] , Tizen [7]
[8]
[9] , Stadia , vxWorks [10] |
Första upplagan |
16 februari 2016 |
Hårdvaruplattform |
plattformsoberoende |
senaste versionen |
1.3.233 (3 november 2022) |
stat |
Faktisk |
Licens |
Apache-licens |
Hemsida |
www.vulkan.org |
Mediafiler på Wikimedia Commons |
Vulkan ( rus. Vulkan ) är ett plattformsoberoende API för 2D- och 3D-grafik , som först presenterades av Khronos Group vid GDC - konferensen 2015 [11] [12] .
Vulkan API var ursprungligen känt som "nästa generation av OpenGL " eller helt enkelt "glNext", men efter tillkännagivandet släppte företaget dessa namn till förmån för namnet Vulkan [13] . Precis som OpenGL tillåter Vulkan realtidsrendering av olika 3D-grafikapplikationer som spel eller iBooks på alla plattformar med hög prestanda, och ger även högre prestanda och mindre CPU-användning , liknande Direct3D 12 , Metal och Mantle . Vulkan är baserad på AMD -teknologier i Mantle [14] [15] [16] [17] [18] .
Översikt
Vulkans mål var att överträffa andra API :er , inklusive dess föregångare OpenGL , när det gäller lägre overhead, mer direkt kontroll över GPU :n och mindre CPU -overhead . Vulkan har påstådda fördelar:
- OpenGL använder ett högnivåspråk för att skriva GLSL shaders . Detta tvingar varje OpenGL- drivrutinsleverantör att implementera sin egen kompilator för GLSL, som körs vid körning av grafikapplikationen och kompilerar skuggningsprogram till körbar kod för målplattformen . Vulkan erbjuder istället ett mellanliggande binärt format som kallas SPIR-V , som liknar det binära formatet som HLSL- shaders på Direct3D -plattformen kompilerar till . Detta tar bort bördan för drivrutinsleverantörer genom att tillåta shaders att kompileras vid designtillfället. Tillåter också applikationsutvecklare att skriva shaders på andra språk än GLSL.
- Det plattformsoberoende API stöds på mobila enheter och avancerade grafikkort .
- Förbättrat stöd för moderna system som använder multithreading .
- Minska belastningen på CPU:n i situationer där den underpresterar, vilket gör att du kan uppnå högre genomströmning för GPU-beräkning och visualisering.
- En allvarlig fördel med Vulkan framför Direct3D 12 var en gång möjligheten att köra moderna 3D-spel inte bara i Windows 10 -miljön utan även på datorer som kör Windows 7 och Windows 8.1 [19] [20] .
För att förenkla utvecklingen av applikationer på Vulkan släppte AMD 2018 ett hjälpskal V-EZ , som tar på sig många hjälpfunktioner under utvecklingen, så att utvecklaren inte behöver ta itu med alla krångligheterna i Vulkan API [21] [ 22] .
Historik
Sommaren 2014 startade Khronos Group ett projekt för att skapa nästa generations grafik- API . 2014 tillkännagavs projektet offentligt på SIGGRAPH med en uppmaning till deltagande.
Enligt US Patent and Trademark Office registrerades varumärket "Vulkan" den 19 februari 2015 [23] .
Vulkan namngavs och tillkännagavs officiellt på Game Developers Conference 2015, även om spekulationer och rykten kring det nya API :et fanns i förväg. Ett av namnen var "glNext" [24] .
Den 3 mars 2015 tillkännagav Valve Source 2 , en spelmotor med stöd för Vulkans grafik- API [25] [26] .
I början av 2015 utvecklade och introducerade LunarG (finansierat av Valve ) en Linux- drivrutin för Intel , vilket gjorde att Vulkan kunde vara kompatibel med HD 4000-seriens integrerade grafiksystem, som, trots den öppna Mesa - drivrutinen , inte är fullt kompatibel med OpenGL 4.0 [ 27] [28] . Det finns också möjligheten [29] till Ivy Bridge- stöd eftersom det stöder Direct3D 11 .
Den 10 augusti 2015 tillkännagav Google en framtida version av Android med Vulkan-stöd [30] .
Den 18 december 2015 meddelade Khronos Group att Vulkan 1.0-versionsspecifikationen är nästan komplett och kommer att släppas när kompatibla drivrutiner blir tillgängliga .
Den 16 februari 2016 släpptes Vulkan 1.0 offentliga specifikation [31] och experimentella drivrutiner för AMD och Nvidia grafikkort .
Den 26 februari 2018 släppte Khronos, som en del av The Vulkan® Portability Initiative-specifikationen, den offentliga versionen av Vulkan 1.0 SDK för macOS- och iOS-plattformar [32] .
Den 7 mars 2018 släpptes den offentliga specifikationen för Vulkan 1.1 [33] .
Den 15 januari 2020 släpptes den offentliga specifikationen för Vulkan 1.2 [34] .
Den 15 januari 2020 meddelade Khronos Group att Microsofts HLSL - kompilator nu stöder översättning till SPIR-V . HLSL är nu officiellt shader-programmeringsspråket för Vulkan , tillsammans med GLSL [35] .
Stöd för strålspårning lades till den 17 mars 2020 [36] .
Den 22 januari 2022 släpptes den offentliga specifikationen för Vulkan 1.3 [37] .
1 september 2022 Släppte tillägget VK_EXT_mesh_shader [38] för att stödja mesh shaders [39] .
Använder Vulkan
Spel
- The Talos Principle är det första spelet från det kroatiska företaget Croteam som använder denna teknik i praktiken. [40]
- Dota 2 - Experimentellt stöd för Vulkan lades till den 23 mars 2016 och släpptes i maj 2016. [41]
- Doom - Den 11 juli 2016 släppte Id Software en patch för spelet Doom (2016) , där renderingen av grafik och beräkningen av fysiska interaktioner gjordes om från OpenGL till Vulkan. [42] [43] [44]
- Doom Eternal - använder naturligt Vulkan API.
- Rage 2 – använder naturligt Vulkan API.
- vkQuake - Vulkan hamn Quake släpptes i juli 2016. [45] [46]
- Den officiella återutgivningen av Quake, som släpptes den 19 augusti 2021, använder Vulkan som standard.
- Need for Speed: No Limits , Vainglory and Heroes of Incredible Tales - I juni 2016 tillkännagav Samsung stöd för portering av spel från OpenGL ES till Vulkan för Samsung Galaxy S7- smarttelefonen . [47]
- Mad Max (spel, 2015) - Den 30 mars 2017 testades en Linux-version av spelet med Vulkan i beta.
- Olympus Rising - Support lades till den 20 augusti 2016.
- Rust – Support lagts till den 13 januari 2017.
- Destinationer – Support lades till 22 februari 2017.
- Wolfenstein II: The New Colossus - Support lagt till 27 oktober 2017. [48]
- Flykten från Tarkov - Framtida stöd tillkännages. [49]
- X4 Foundations - Vulkan-stöd meddelas. [femtio]
- Star Citizen - Vulkan-stöd meddelas. [51]
- No Man's Sky - Stöd lagt till i patch 1.77.
- World War Z - Använder naturligt Vulkan API.
- Red Dead Redemption 2 - Använder naturligt Vulkan API. Spelet stöder två API:er - Vulkan och DirectX 12, men enligt spelarfeedback och recensioner är prestanda bättre när man använder Vulkan [52] .
- Detroit: Become Human - använder Vulkan API .
- Tom Clancy's Rainbow Six Siege och Tom Clancy's Ghost Recon Breakpoint - Experimentellt stöd för Vulkan API lades till den 28 januari 2020
- X-Plane 11 – Den 3 april 2020 släppte utvecklarstudion bakom flygsimuleringsspelet uppdatering 11.50, som inkluderar Vulkan API.
- Path of Exile - Update 3.10.2 släpptes den 28 maj 2020 för att stödja betaversionen av den Vulkan-baserade renderaren. [53]
- Baldur's Gate III - använder naturligt Vulkan API. Spelet stöder två API:er - Vulkan och DirectX 11.
- War Thunder - Vulkan-stöd lades till i OpenGL, för närvarande är Vulkan standard på åtminstone Linux-versionen av klienten.
- PUBG: New State - Mobilspel med Vulkan GUI och OpenGL ES Support vid lansering (11/04/2021)
- Counter-Strike: Global Offensive – Lade till stöd den 11 december 2021. DXVK (DirectX Vulkan)
- Brawl Stars - Mobilt plattformsspel. Support lades till den 16 december 2021. Spelet stödde tidigare OpenGL.
Spelmotorer
- Källa 2 - I mars 2015 tillkännagav Valve Corporation källa 2, som fick stöd från Vulkan.
- Serious Engine 4 - I februari 2016 tillkännagav Croteam stöd för Vulkan i Serious Engine.
- Unreal Engine 4 – I februari 2016 tillkännagav Epic Games Unreal Engine 4 med Vulkan-stöd.
- Unreal Engine 5 – Eftersom motorn är en fortsättning på Unreal Engine 4 hade den redan Vulkan från början.
- Torque 3D - I april 2016 meddelade utvecklarna att de lade till stöd för Vulkan.
- Quake Engine - Vulkan-stöd lades till i juni 2016.
- id Tech 3 - Vulkan-stöd lades till i maj 2017.
- id Tech 4 - Vulkan-stöd lades till i augusti 2017.
- id Tech 6 - I maj 2016 meddelade id Software att Doom som drivs av id Tech 6 kommer att stödja Vulkan.
- id Tech 7 - I juni 2018 tillkännagav id Software id Tech 7-motorn som körs exklusivt på Vulkan.
- Xenko - I juli 2016 tillkom stöd för Vulkan.
- Unity - Stöd för Vulkan dök upp i version 5.6.
- CryEngine - Vulkan-stöd dök upp i version 5.4.
- Intrinsic är en gratis och öppen källkod för plattformsoberoende spelmotor som stöder Vulkan.
- Unigine - I april 2017 tillkännagav Unigine Corp Vulkan-stöd för deras Unigine-motor.
- Abyss Engine – I maj 2017 släppte Deep Silver Galaxy on Fire 3 Manticore på Android med Vulkan-stöd.
- Banshee 3D är en gratis och öppen källkod för plattformsoberoende spelmotor som stöder Vulkan.
- Godot Engine - Support lades till i version 4.0. [54]
- Turbo Engine (Leadwerks 5.0) är en betalmotor från Leadwerks Technologies.
Omslagsbibliotek
Kompatibilitet
Den initiala specifikationen säger att Vulkan kommer att köras på hårdvara som för närvarande stöder OpenGL ES 3.1 eller OpenGL 4.x och högre [63] . Vulkan kommer att kräva nya grafikdrivrutiner som stöd , men det betyder inte nödvändigtvis att alla befintliga enheter som stöder OpenGL ES 3.1 eller OpenGL 4.x kommer att ha Vulkan-aktiverade
drivrutiner tillgängliga.
Se även
Anteckningar
- ↑ Vulkan på FreeBSD . Vulkan GPU-information (1 juni 2021). Hämtad 22 maj 2022. Arkiverad från originalet 14 mars 2022. (obestämd)
- ↑ Vulkan på QNX . www.khronos.org (14 juli 2021). Hämtad 14 juli 2021. Arkiverad från originalet 14 juli 2021. (obestämd)
- ↑ Nintendo Switch listad som Vulkan och OpenGL Conformant - My Nintendo News . Mina Nintendo-nyheter . Excite Global Media (19 december 2016). Hämtad 14 juli 2021. Arkiverad från originalet 14 juli 2021. (obestämd)
- ↑ Palumbo, Alessio Nintendo Switch stöder officiellt Vulkan, OpenGL 4.5 & OpenGL ES . WCCF Tech (19 december 2016). Hämtad 14 juli 2021. Arkiverad från originalet 14 juli 2021. (obestämd)
- ↑ Konforma produkter . chronos.org . Khronos-gruppen (28 april 2018). Hämtad 28 februari 2018. Arkiverad från originalet 28 januari 2017. (obestämd)
- ↑ Vulkan på Raspberry Pi . www.raspberrypi.org (14 juli 2021). Hämtad 14 juli 2021. Arkiverad från originalet 20 juli 2021. (obestämd)
- ↑ Vulkan nu officiell, med 1.0 API-version och AMD-drivrutin [Uppdaterad ] . Ars Technica . Conde Nast (16 februari 2016). Hämtad 18 februari 2016. Arkiverad från originalet 14 juli 2021. (obestämd)
- ↑ Valich, Theo Mantle Cycle är komplett när Khronos släpper Vulkan 1.0 . VR World (17 februari 2016). Hämtad 19 februari 2016. Arkiverad från originalet 11 maj 2022. (obestämd)
- ↑ GitHub - KhronosGroup/MoltenVK: MoltenVK är en implementering av den högpresterande, industristandarden Vulkan-grafik och beräknings-API, som körs på Apples ramverk för metallgrafik, vilket för Vulkan till iOS och macOS. . Hämtad 12 september 2019. Arkiverad från originalet 19 juli 2021. (obestämd)
- ↑ VxWorks erbjuder stöd för många standardgrafiska bibliotek, som ... och Vulkan . WinDriver . Hämtad 8 november 2021. Arkiverad från originalet 8 november 2021. (obestämd)
- ↑ Vulkan: Graphics and compute Belong Together (PDF). Khronos.org (mars 2015). Hämtad 5 mars 2015. Arkiverad från originalet 18 december 2016. (obestämd)
- ↑ Vulkan - Grafik och beräkning hör ihop . Khronos.org. Hämtad 5 mars 2015. Arkiverad från originalet 9 maj 2021. (obestämd)
- ↑ glNext avslöjas som Vulkan graphics API . Hämtad 27 mars 2015. Arkiverad från originalet 14 oktober 2016. (obestämd)
- ↑ Mantle är en Vulkan: AMD:s döda grafik-API reser sig ur askan i OpenGL:s efterträdare | PCworld . Hämtad 27 mars 2015. Arkiverad från originalet 7 november 2016. (obestämd)
- ↑ AMD Gaming: One of Mantle's Futures: Vulkan | AMD-bloggar (inte tillgänglig länk) . community.amd.com. Tillträdesdatum: 5 mars 2015. Arkiverad från originalet 6 mars 2015. (obestämd)
- ↑ Inte död än: AMD:s Mantle driver nya Vulkan API, VR-ansträngningar . extremetech. Hämtad 5 mars 2015. Arkiverad från originalet 22 april 2016. (obestämd)
- ↑ AMD:s mantel lever vidare i Vulkan - lägger grunden för nästa OpenGL . Wccftech.com (20 juni 2014). Hämtad 5 mars 2015. Arkiverad från originalet 19 augusti 2020. (obestämd)
- ↑ Kirsch, Nathan Är AMD Mantle Dead som vi har känt det? Vulkan API använder Mantle Technology för OpenGL . legitima recensioner. Hämtad 5 mars 2015. Arkiverad från originalet 26 juni 2015. (obestämd)
- ↑ Vulkan™ API | AMD . Hämtad 24 november 2019. Arkiverad från originalet 14 juli 2019. (obestämd)
- ↑ Vulkan API stöder officiellt multi-GPU på Windows 10, Windows 7, Windows 8.1 och Linux . Playground.ru. Hämtad: 24 november 2019. (ryska)
- ↑ AMD öppen källkod V-EZ, ett omslag för plattformsoberoende, lågnivå Vulkan API . Hämtad 28 augusti 2018. Arkiverad från originalet 28 augusti 2018. (obestämd)
- ↑ GitHub - GPUOpen-LibrariesAndSDKs/V-EZ . Hämtad 28 augusti 2018. Arkiverad från originalet 29 augusti 2018. (obestämd)
- ↑ Varumärkesstatus och dokumenthämtning . tsdr.uspto.gov. Hämtad 9 november 2015. Arkiverad från originalet 11 maj 2013. (obestämd)
- ↑ glNext avslöjas som Vulkan graphics API . www.develop-online.net. Hämtad 9 november 2015. Arkiverad från originalet 14 oktober 2016. (obestämd)
- ↑ Valve tillkännager Source 2-motor, gratis för utvecklare . Polygon. Hämtad 9 november 2015. Arkiverad från originalet 5 mars 2015. (obestämd)
- ↑ GDC 2015: Valve tillkännager Source 2 Engine - IGN . IGN. Hämtad 9 november 2015. Arkiverad från originalet 4 mars 2015. (obestämd)
- ↑ Valve utvecklade en Intel Linux Vulkan GPU-drivrutin - Phoronix . www.phoronix.com. Tillträdesdatum: 9 november 2015. Arkiverad från originalet 24 september 2015. (obestämd)
- ↑ Lär dig mer om Intel Vulkan-drivrutinen, Linux Vulkan-planer - Phoronix . www.phoronix.com. Tillträdesdatum: 9 november 2015. Arkiverad från originalet 24 september 2015. (obestämd)
- ↑ Evan Odabashian på Twitter . Twitter. Hämtad 9 november 2015. Arkiverad från originalet 19 augusti 2020. (obestämd)
- ↑ Reto Meier. Låg-overhead-rendering med Vulkan | Blogg för Android-utvecklare . Låg-overhead-rendering med Vulkan | Android Developers Blog (10 augusti 2015). Hämtad 9 november 2015. Arkiverad från originalet 8 mars 2016. (obestämd)
- ↑ Khronos Vulkan-registret . www.khronos.org. Hämtad 9 mars 2018. Arkiverad från originalet 10 mars 2018. (obestämd)
- ↑ Vulkan-applikationer aktiverade på Apple-plattformar . www.khronos.org. Datum för åtkomst: 28 februari 2018. Arkiverad från originalet 28 februari 2018. (obestämd)
- ↑ Khronos Group släpper Vulkan 1.1 . www.khronos.org. Hämtad 9 mars 2018. Arkiverad från originalet 14 april 2022. (obestämd)
- ↑ Khronos Group släpper Vulkan 1.2 . www.khronos.org. Hämtad 15 januari 2020. Arkiverad från originalet 11 maj 2022. (obestämd)
- ↑ HLSL som ett förstklassigt Vulkanskuggspråk . www.khronos.org. Hämtad 15 januari 2020. Arkiverad från originalet 15 januari 2020. (obestämd)
- ↑ Khronos Group släpper Vulkan Ray Tracing . www.khronos.org. Hämtad 17 mars 2020. Arkiverad från originalet 17 mars 2020. (obestämd)
- ↑ Khronos stärker Vulkans ekosystem med lanseringen av Vulkan 1.3, offentlig färdplan och profiler . www.khronos.org. Hämtad 25 januari 2022. Arkiverad från originalet 25 januari 2022. (obestämd)
- ↑ VK_EXT_mesh_shader . (obestämd)
- ↑ Mesh Shading för Vulkan . (obestämd)
- ↑ Quick Look: Vulkan Performance on The Talos Principle , Anandtech (17 februari 2016). Arkiverad från originalet den 15 maj 2022. Hämtad 19 februari 2016.
- ↑ Dota 2-uppdatering - 23 maj 2016 . store.steampowered.com . Ventil. Hämtad 24 maj 2016. Arkiverad från originalet 8 november 2020. (obestämd)
- ↑ Vulkan Support Now Live - FAQ ( 11 juli 2016). Arkiverad från originalet den 17 juni 2017. Hämtad 1 april 2017.
- ↑ DOOM blev det första storsäljande spelet som stödde Vulkan API (ryska) , OSZone (11 juli 2016). Arkiverad från originalet den 14 juli 2016. Hämtad 11 juli 2016.
- ↑ DOOM - Vulkan Support Now Live . bethesda.net . Hämtad 11 juli 2016. Arkiverad från originalet 6 augusti 2019. (obestämd)
- ↑ Papadopoulos, John Här är din första titt på den första Quake som återskapas i Unreal Engine 4 (fanprojekt) . Dark Side of Gaming (21 juli 2016). Hämtad 26 augusti 2016. Arkiverad från originalet 12 april 2022. (obestämd)
- ↑ Larabel, Michael Quake 1 portad att köras på Vulkan . Phoronix . Phoronix Media (25 juli 2016). Hämtad 26 augusti 2016. Arkiverad från originalet 11 maj 2022. (obestämd)
- ↑ Se hur Vulkan API och Galaxy S7 skapar fler uppslukande spelupplevelser , 2016-06-28. Arkiverad från originalet den 24 februari 2017. Hämtad 1 april 2017.
- ↑ Tiago Sousa tweet 06/12/2017 . Hämtad 19 juni 2017. Arkiverad från originalet 30 maj 2019. (obestämd)
- ↑ Forum: Vulkan API-stöd? . Hämtad 19 juni 2017. Arkiverad från originalet 22 juli 2017. (obestämd)
- ↑ X4 Foundations: neue 3D-Engine auf Basis von Vulkan wegen VR (tyska) , PC Games Hardware . Arkiverad från originalet den 14 november 2017. Hämtad 14 november 2017.
- ↑ forums.robertsspaceindustries.com (nedlänk) . Arkiverad från originalet den 1 maj 2017. (obestämd)
- ↑ Benchmarks för grafikkort Red Dead Redemption 2 . Överklockare.ua. Hämtad 24 november 2019. Arkiverad från originalet 19 december 2019. (ryska)
- ↑ Uppdatera 3.10.2 med en betaversion av den Vulkan-baserade renderaren (ryska) , Path of Exile (28 maj 2020). Hämtad 28 maj 2020.
- ↑ Godot Engine. Godot Engine - Godot 3.1 är ute, vilket förbättrar användbarheten och funktionerna . godoengine.org. Hämtad 17 mars 2019. Arkiverad från originalet 18 mars 2019. (obestämd)
- ↑ Anvil-projekt på GitHub
- ↑ GLOVE-projekt på GitHub
- ↑ MoltenVK-projekt på GitHub
- ↑ V-EZ-projekt på GitHub
- ↑ KhronosGroup/Vulkan-Hpp . — 2020-12-07. Arkiverad 15 december 2020.
- ↑ Vulkano-projekt på GitHub
- ↑ PasVulkan-projekt på GitHub
- ↑ NVK-projekt på GitHub
- ↑ Vulcan översikt . Khronos-gruppen. Hämtad 5 juli 2016. Arkiverad från originalet 8 december 2015. (obestämd)
Litteratur
- Säljare G. Vulkan. Utvecklarguide = Vulkan. programmeringsguide. - DMK Press , 2017. - 394 sid. - ISBN 978-5-97060-486-1 .