Vulkan

**Vulkan** on vähese ressursikuluga, mitmel platvormil töötav 3D-graafika- ja arvutusrakendusliides.

Vulkani sihtmärgiks on suure jõudlusega, reaalajas töötavad 3D-graafika programmid, näiteks mängud ja muu interaktiivne meedia. Võrreldes OpenGLi, Metali ja Direct3Diga üritab Vulkan pakkuda suuremat jõudlust ja suuremat tasakaalu GPU ja CPU kasutamise vahel.

Vulkan kuulutati välja Khronos Groupi poolt 2015. aasta GDC konverentsil. Algselt nimetati Vulkan OpenGLi järgmiseks põlvkonnaks ja talle pandi nimeks "OpenGL next", kuid selle nime kasutamine lõppes pärast Vulkani väljakuulutamist. Vulkan on tuletatud ja ehitatud AMD Mantle'i rakendusliidese baasil, mille AMD annetas Khronosele lootes, et nad suudavad selle baasil luua rakendusliidese, mida saaks kasutada uue standardina, nagu selleks oli olnud OpenGL.

## Omadused
Vulkan loodi kavatsustega pakkuda eeliseid võrreldes teiste rakendusliideste ja tema enda eelkäija OpenGL-iga. Vulkan kasutab vähem arvutiressurssi, kuid annab suurema kontrolli GPU üle ja väiksema CPU kasutuse.

Vulkani eelised vanema põlvkonna rakendusliideste ees:
* rakendusliides Vulkan sobib hästi kokku nutiseadmete ja kõrge taseme graafikakaartidega;
* võrreldes Direct3Dga on Vulkan saadaval paljudel tänapäeva arvutite ja nutiseadmete OS-idel, kuid ei ole ühelegi neist lukustatud. Tänu sellele on Vulkanit võimalik kasutada Androidil, Linuxil, Tizenil ja Windowsitel alates Windows 7-st. Vulkanit on võimalik kasutada ka Apple OS-idel, kuid seda võimalust Khronos Group ise ei paku;
* vähendab draiverite ressursikasutust ja CPU koormust;
* parem skaleerimine mitmetuumalistel CPUdel. Vanemad rakendusliidesed olid loodud töötama ühetuumalistel CPUdel ja hiljem uuendatud, et nad saaks ka mitut tuuma korraga kasutada;
* ühendatud arvutuskernelite ja graafika varjutajate haldamine, tänu millele pole vaja kasutada eraldi arvutamis- ja graafikarakendusliideseid.

### Planeeritud omadused
2016. aasta SIGGRAPH konverentsil kuulutas Khronos Group, et Vulkan hakkab toetama automaatse multi-GPU omadusi nagu ka Direct3D 12. Multi-GPU toetamine rakendusliideses tähendab, et kadus vajadus SLI ja Crossfire järele, mis nõuavad, et korraga mitme graafikakaardi kasutamisel tuleb kasutada sama graafikakaardi mudelit. Tänu sellele saab rakendusliides jagada töökoormust mitme täiesti erineva graafikakaardi vahel. Näiteks CPU-sse integreeritud GPU-d saaksid aidata palju võimsamaid GPU-sid ja arvuti jõudlust natuke suurendada.

## Ajalugu
Khronos Group alustas uue generatsiooni graafika rakendusliidese loomise projekti kohtumisega Valve'i peakorteris. Avalikult kuulutati projekt välja 2014. aasta SIGGRAPH-i konverentsil.

Vulkani kaubamärk registreeriti 19. veebruaril 2015 ja kuulutati välja sama aasta GDC konverentsil.

### 2015

2015. aasta alguses arendas LunarG Linuxi draiveri Inteli jaoks, millega loodi Vulkani ühilduvus HD 4000 sarja integreeritud graafikakaartidega vaatamata sellele, et avaliku lähtekoodiga Mesa draiverid ei ühildunud siis veel täielikult OpenGL 4.0-ga.

10. augustil teatas Google, et kõik tulevased Androidi versioonid toetavad Vulkanit. Android 7.x Nougat sai selle toetuse 22. augustil 2016 ja ka Android 8.0 Oreo.

18. detsembril teatas Khronos Group, et Vulkani 1.0 versiooni tehniline kirjeldus on peaaegu valmis ja see avaldatakse kohe, kui vastavad draiverid on olemas. Tehniline kirjeldus ja Vulkan SDK avalik lähtekood avaldati 16. veebruar 2016.

### 2016
15. detsembril teatas Unity Technologies, et alates versioonist 5.6 toetab nende videomängu mootor Unity Vulkani rakendusliidest.

### 2017
9. veebruaril teatas Croteam et nad hakkavad kasutama Vulkani rakendusliidest oma mängudes, et kasutada ära selle platvormidevahelist töövõimet.

19. märtsil teatas Cloud Imperium Games, et nende mäng "Star Citizen" võtab Direct3D asemel kasutusele Vulkani rakendusliidese.

25. juulil avaldas Crytek eelvaade oma videomängu mootoris CryEngine 5.4, millele oli Vulkani toetuse beetaversioon.

### 2018
26. veebruaril teatas Khronos Group, et rakendusliides Vulkan saab macOS-ile ja iOS-ile tänu MoltenVK-le, mis võimaldab Vulkanil töötada koos Metaliga. Enne seda oli MoltenVK omandiõigusega kaubanduslikult litsentseeritud lahendus, kuid Valve jõudis selle arendajaga kokkuleppele, tänu millele MoltenVK muutus avaliku lähtekoodi lahenduseks. Samal päeval teatas Valve, et nende mäng "Dota 2" hakkab kasutama MoltenVK-d macOS-il.

7. märtsil tuli välja Vulkani versioon 1.1

## Ühilduvus

## Viited