De Khronos Group heeft de definitieve Vulkan Raytracing-specificatie uitgebracht. Deze open standaard kan door ontwikkelaars kosteloos gebruikt worden om raytracing toe te voegen aan Vulkan-games. Medio december volgt daarvoor een software development kit.
De definitieve release staat inmiddels op GitHub. Khronos meldt nu dat Vulkan Raytracing 'vertrouwd zal zijn voor iedereen die DirectX Raytracing heeft gebruikt'. Tegelijkertijd introduceert Khronos enkele nieuwe functies. Zo kan de cpu van een systeem gebruikt worden om raytracing setup-operations uit te voeren, meldt het consortium.
Khronos bracht in maart al vroege versies van de Vulkan-raytracingextensies uit, maar maakte toen niet bekend wanneer de definitieve specificatie uit zou komen. Het consortium deelde toen al wel verschillende details over de extensies. Vulkan Raytracing is een open standaard, die cross-vendor is en 'hardware-agnostisch' werkt. Dat wil zeggen dat de standaard in theorie werkt op videokaarten van alle fabrikanten.
De standaard kan ook op gpu's zonder losse raytracinghardware functioneren, hoewel ondersteuning door fabrikanten moet worden toegevoegd via gpu-drivers. AMD, Intel en Nvidia hebben al toegezegd dat ze Vulkan Raytracing in enige mate gaan ondersteunen. Op termijn moet Vulkan Raytracing zelfs ondersteund worden op mobiele platforms, zo meldt Khronos.
Khronos heeft sinds maart verschillende veranderingen in de specificatie doorgevoerd, waarop het consortium uitgebreid ingaat in zijn aankondigingsblog. Waar de vroege versie van Vulkan Raytracing-uitbreiding bijvoorbeeld bestond uit een enkele extensie, is dit in de uiteindelijke release opgesplitst in drie verschillende extensies. Respectievelijk gaat dat om losse uitbreidingen voor raytracing-queries, -pipelines, en -acceleration. Dit deed het consortium na feedback, waaruit bleek dat 'bepaalde markten' graag raytracing-queries willen ondersteunen zonder pipelines.
Met de uiteindelijke release kunnen ontwikkelaars er dan ook voor kiezen om deze queries- of pipelines-uitbreidingen gezamenlijk of afzonderlijk te ondersteunen. De acceleration-extensie is overigens niet optioneel: "De query- en pipeline-uitbreidingen zijn afhankelijk van de VK_KHR_acceleration_structure
-extensie om een gemeenschappelijke basis te bieden voor het beheer van de versnellingsstructuur."
Verder zijn de dependencies voor alle extensies aangepast; Vulkan 1.1 en SPIR-V 1.4 zijn nu vereisten, zo meldt Khronos. Ook worden de versnellingsstructuur en deferred host operations aangepast, en worden er minder ingrijpende wijzigingen gemaakt in de raytracing pipelines en ray queries zelf.
Naast de definitieve specificatie, publiceert Khronos ook een blogpost waarin de implementatie van 'hybrid rendering' wordt besproken, waarbij raytracing in beperkte mate wordt gebruikt, in combinatie met het meer traditionele rasterization. In deze blog wordt Wolfenstein: Youngblood als voorbeeld genoemd. Die game maakt momenteel nog gebruik van een gesloten raytracingstandaard van Nvidia, waarop Vulkan Raytracing is gebaseerd. Het is niet duidelijk of Youngblood op termijn ook ondersteuning krijgt voor de nieuwe, open standaard.