Vulkan
Vulkan is een application programming interface (API) die is ontworpen voor het renderen van 3D-afbeeldingen in toepassingen en videogames. Hiermee krijgen ontwikkelaars directere toegang tot de GPU van een computer dan met oudere API's, wat de efficiëntie en 3D-prestaties kan verbeteren. Vulkan is een platformonafhankelijke API die wordt ondersteund door computers en mobiele apparaten. Vulkan is ontwikkeld door de Khronos Group, een industriegroep die zich richt op open standaarden voor 3D-afbeeldingen, en werd voor het eerst geïntroduceerd in 2016.
Net als andere API's voor 3D-afbeeldingen helpt Vulkan gameontwikkelaars om de GPU van een computer te vertellen hoe deze 3D-modellen en omgevingen moet tekenen en animeren. Het biedt een gestandaardiseerde manier om opdrachten naar de GPU te sturen, zoals hoe een 3D-vorm uit polygonen moet worden opgebouwd, hoe textures erop moeten worden geplaatst en hoe vormen tot een 3D-omgeving moeten worden gecombineerd.
In tegenstelling tot oudere API's is Vulkan echter een low-level API die ontwikkelaars directe toegang geeft tot de hardware van de GPU. High-level API's, zoals OpenGL, bieden een bibliotheek met functies die games kunnen aanroepen om 3D-objecten te bewerken. Hierdoor ontstaat via een stuurprogramma een abstractielaag tussen gamessoftware en de GPU, en moet de CPU API-aanroepen vertalen naar instructies voor de GPU. Vulkan verwijdert het grootste deel van die abstractie door directere toegang tot de GPU en VRAM te bieden. Gameontwikkelaars moeten meer functies in hun broncode schrijven of importeren, waardoor die ingewikkelder wordt, maar hierdoor kunnen ze hun games optimaliseren voor betere 3D-prestaties en tegelijkertijd het werk van de CPU verminderen.
Omdat Vulkan platformonafhankelijk is, kunnen gameontwikkelaars dezelfde grafische code gebruiken in verschillende versies van hun game. Windows, Linux en Android ondersteunen de Vulkan API rechtstreeks, terwijl macOS en iOS deze ondersteunen via een wrapper die Vulkan-opdrachten vertaalt naar Apple's Metal API.
Test je kennis