Wat is Vulkan?
Vulkan is een grafische API (Application Programming Interface) ontwikkeld door Khronos Group, een consortium bestaande uit meer dan 160 bedrijven. Het doel van Vulkan was om een open-standaard alternatief te bieden voor DirectX en OpenGL op Windows, macOS en Linux-platforms.
Geschiedenis
De geschiedenis van Vulkan begint in de vroege jaren 2010. Op https://vulkan-casino.nl/ dat moment was het duidelijk dat DirectX11 de standaard grafische API werd onder Windows, terwijl OpenGL op andere platforms populair bleef. Khronos Group had al een vergelijkbare initiatief voor mobiel en webgebaseerde graphics ontwikkeld met GL ES. Met de ontwikkeling van Vulkan wilde men het mogelijk maken om één standaard grafische API te gebruiken, zowel op Windows als op andere platforms.
Vulkan werd aangekondigd in oktober 2015 en voor het eerst beschikbaar gemaakt met de eerste officiële SDK in februari 2016. Sindsdien is Vulkan een belangrijk onderdeel geworden van zowel het ontwikkelaars- als consumentenlandschap.
Hoe werkt Vulkan?
Vulkan kan op verschillende manieren worden beschreven, maar allemaal samenhangt de basis met de abstractie van hardware. Vulkan geeft programmeurs de mogelijkheid om een bepaald proces te definiëren dat bestaat uit twee stadia: de preparatie en de gebruikstijd.
Tijdens het voorbereidende stadium worden alle gegevens verzameld die later in de runtime gebruikt zullen worden, zoals opgevraagde textures of buffers. De programmer kan hiervoor verschillende pipeline-stagen definiëren om zaken als schaalbaarheid en kwaliteit te optimaliseren.
Tijdens de gebruikstijd wordt door het systeem alle verzamelde gegevens vanuit één buffer in meerdere kleinere buffers verdiverigd en kan vervolgens worden gelezen of bewerkt. Het is een erg complex proces, maar dankzij Vulkan kunnen programmeurs dit op verschillende manieren aanpassen om hun toepassing optimaal te laten functioneren.
Types van pipelines
Binnen het framework zijn twee soorten pipeline-stagen: de graphics-pipeline (GP) en de compute-pipeline (CP). De GP wordt gebruikt voor alle grafische taken, zoals bewerking van teksturen, zonering, lighting enz. Deze pipeline heeft verschillende stadia waarbij de programmer kan bepalen wanneer data beschikbaar is.
De CP-pipe (Compute-Pipeline) daarentegen, werd ontworpen specifiek voor computergestuurde taken in software. Hierdoor kunnen programmeurs een bepaalde taak op basis van een algoritme uitvoeren aan de hand van enkele basismatrices die naar behoefte worden toegevoegd. Vulkan geeft hierdoor developers de mogelijkheid om elke berekening met hun eigen stijl te combineren.
Types of implementatie
Vulkan ondersteunt diverse platforms, waaronder Windows, macOS en Linux. Elk platform heeft echter een unieke manier van werken wanneer het gaat om hardwareondersteuning voor graphics API’s zoals Vulkan. Op elk systeem zullen de specificaties hiervan ongeveer gelijkaardig zijn maar hierin kunnen ook verschillen ontstaan.
Legal en regio context
Er is niet veel juridische discussie geweest over het onderdeel van hardwareondersteuning, tenzij je rekening wil houden met bepaalde bestaande software. Vulkan maakt deze ondersteunende mogelijkheden echter wel beschikbaar voor een algemene en snellere implementatie.
Overeenkomsten en verschillen tussen real money mode versus freeplay
Dit is vaak de situatie in games waarin er twee modus-opties zijn om spelers te vermijden dat ze niet eens beseffen hoe het werkt. Bijvoorbeeld een demo-versie met beperkte mogelijkheden, wat ook wel als proefmodus wordt beschouwd.
Voor- en nadelen van Vulkan
Vulkan heeft verschillende voordelen ten opzichte van traditionele API’s zoals DirectX en OpenGL:
- Flexibiliteit : Vulkan is een open standaard en kan dus door alle programmeurs worden gebruikt. Een grote groep ontwikkelaars werkt momenteel aan de beschikbaarheid voor platformen andere dan diegene waarop dit al van kracht was, zoals de Apple iOS of Android.
- Groeimogelijkheden : Vulkan ondersteunt een breed scala aan hardware en besturingssystemen. Er is dus altijd ruimte voor groei als er nog meer software beschikbaar wordt gemaakt die met deze API optimaal werkt.
Risico’s en verantwoordelijke overwegingen
Net zoals bij elk product of proces, moeten bepaalde aandachtspunten in rekening genomen worden wanneer men de vulkan gebruikt. Vulkan is een grafische API wat betekent dat het slechts beschikbaar is op machines die voldoende hardware hebben om te voorkomen dat het programma niet kan draaien.
Tot slot
In deze uitleg konden we de basis van de grafische interface voor computers en smartphones verkennen. Vulkan biedt een enorm scala aan opties, zowel inzichtelijk als implementatie-technisch. Het heeft tenminste al één maal duidelijk bewezen dat het in staat is om hardware-ondersteuning op verschillende platforms te realiseren.

