Vulkan biedt nu ondersteuning voor ray tracing. Khronos heeft de definitieve specificaties gepubliceerd van Vulkan Ray Tracing, het ontwikkelingsraamwerk dat de versnelling van ray tracing-functies in deze open-source standaard voor de ontwikkeling van videogames en 3D-applicaties mogelijk maakt.
Raytracing is een representatietechniek die op realistische wijze simuleert hoe lichtstralen elkaar kruisen en interageren met de geometrie van scènes, materialen en lichtbronnen om fotorealistische beelden te genereren. Het wordt veel gebruikt om films en andere videoproducties weer te geven, het wordt ook gebruikt in videogames en het begint ook in andere soorten toepassingen te worden gebruikt.
Tot nu toe was dit type straalversnellingsfunctie beperkt tot speciale NVIDIA RTX-graphics en DirectX 12 Ultimate-bibliotheken. De komst van Vulkan Ray Tracing kan het gebruik ervan openen voor andere soorten hardware, voor elke ontwikkelaar en voor alle software die gebruikmaakt van 3D-beelden.
Onthoud dat Vulkan een reeks open-sourcebibliotheken is die toegang op laag niveau bieden, waardoor programmeurs de hardwareprestaties kunnen maximaliseren. Een open, gratis, multi-platform API die de afgelopen jaren continu is verbeterd en het enige alternatief is geworden voor Microsoft DirectX.
Khronos heeft de definitieve specificaties van de set specificaties gepubliceerd die hardwareversnelling van bliksemtracering mogelijk maken. Dit is belangrijk omdat het de eerste open standaard is die dit type functie mogelijk maakt.
Vulkan Ray Tracing integreert een consistent ray tracing-raamwerk in de Vulkan API, waardoor rastering en ray tracing-versnelling flexibel kunnen worden samengevoegd. Vulkan-raytracing is hardware-onafhankelijk ontworpen en kan daarom worden versneld op zowel bestaande GPU-computing als speciale raytracing-kernen, indien beschikbaar.
De algehele architectuur van deze bibliotheken zal bekend zijn bij gebruikers van bestaande ray tracing API’s, waardoor directe portabiliteit van bestaande ray tracing content mogelijk is, maar dit raamwerk introduceert ook nieuwe functionaliteit en flexibiliteit bij de implementatie.
Vulkan Ray Tracing bestaat uit een reeks Vulkan-, SPIR-V- en GLSL-extensies, waarvan sommige optioneel zijn. De primaire extensie VK_KHR_ray_tracing biedt ondersteuning voor de constructie en het beheer van versnellingsstructuren, ray tracing-stadia en shading pipes, en intrinsieke query’s voor alle shader-stadia.
Een andere belangrijke uitbreiding is VK_KHR_pipeline_library, die een set shaders biedt die efficiënt kunnen worden gekoppeld aan ray tracing-buizen, terwijl VK_KHR_deferred_host_operations intensieve controllerbewerkingen mogelijk maakt, inclusief ray tracing-compilatie of CPU-gebaseerde acceleratiestructuurconstructie, om te downloaden naar de threadgroepen die worden beheerd door de toepassing.
Al deze functies zijn al gedefinieerd in de definitieve versie van de specificaties, hoewel hun implementatieproces niet automatisch is en door elke ontwikkelaar voor elke game of applicatie moet worden gedefinieerd. Vulkan kan profiteren van een breed scala aan hardware. Theoretisch zou elke GPU Vulkan RT kunnen draaien met behulp van bestaande “GPU computing” -kernen, hoewel de prestaties waarschijnlijk niet de hoogst mogelijke zullen zijn.
Het goede nieuws is dat Vulkan wordt geconsolideerd als een geweldig alternatief voor het monopolie van Microsoft met DirectX en in alle soorten functies, inclusief ray tracing, dat een van de referentietechnieken is geworden. Khronos heeft een groot aantal fabrikanten die hen ondersteunen (AMD, Intel, NVIDIA, Qualcomm, Imagination, ARM…) en grafische-engine-providers zoals iDTech, Unreal, Unity, Frostbite of CryEngine. Het zal niet moeilijk zijn om Vulkan Ray Tracing binnenkort in geweldige games te zien.