Vulkan propose désormais une prise en charge du lancer de rayons. Khronos a publié les spécifications finales de Vulkan Ray Tracing, le cadre de développement qui permet l’accélération des fonctions de lancer de rayons dans ce standard open-source pour le développement de jeux vidéo et d’applications 3D.
Le lancer de rayons est une technique de représentation qui simule de manière réaliste la façon dont les rayons lumineux se croisent et interagissent avec la géométrie des scènes, des matériaux et des sources de lumière pour générer des images photoréalistes. Il est largement utilisé pour le rendu de films et d’autres productions vidéo.Il est également utilisé dans les jeux vidéo et commence également à être utilisé dans d’autres types d’applications.
Jusqu’à présent, ce type de fonction d’accélération des rayons était limité aux graphiques NVIDIA RTX dédiés et aux bibliothèques DirectX 12 Ultimate. L’arrivée de Vulkan Ray Tracing peut ouvrir son utilisation à d’autres types de matériel, par tout développeur et pour tout logiciel utilisant des images 3D.
Il ne faut pas oublier que Vulkan est un ensemble de bibliothèques open-source qui fournissent un accès de bas niveau permettant aux programmeurs de maximiser les performances matérielles. Une API ouverte, gratuite et multiplateforme qui a été continuellement améliorée au cours des dernières années et est devenue la seule alternative à DirectX de Microsoft.
Khronos a publié les spécifications finales de l’ensemble des spécifications qui permettront l’accélération matérielle de la trace de foudre. Ceci est important car c’est le premier standard ouvert qui autorise ce type de fonction.
Vulkan Ray Tracing intègre un cadre de traçage de rayons cohérent dans l’API Vulkan, permettant la fusion flexible de la rastérisation et de l’accélération du lancer de rayons. Le traçage de rayons Vulkan est conçu pour être indépendant du matériel et peut donc être accéléré à la fois sur le calcul GPU existant et les cœurs de traçage de rayons dédiés, si disponibles.
L’architecture globale de ces bibliothèques sera familière aux utilisateurs des API de traçage de rayons existantes, permettant la portabilité directe du contenu de traçage de rayons existant, mais ce cadre introduit également de nouvelles fonctionnalités et de la flexibilité dans la mise en œuvre.
Vulkan Ray Tracing consiste en une série d’extensions Vulkan, SPIR-V et GLSL, dont certaines sont facultatives. L’extension principale VK_KHR_ray_tracing prend en charge la construction et la gestion des structures d’accélération, des étapes de lancer de rayons et des tubes d’ombrage, ainsi que des requêtes intrinsèques pour toutes les étapes de shader.
Une autre extension importante est VK_KHR_pipeline_library, fournissant un ensemble de shaders qui peuvent être efficacement liés dans des tubes de lancer de rayons, tandis que VK_KHR_deferred_host_operations permet de télécharger des opérations intensives de contrôleur, y compris la compilation de lancer de rayons ou la construction de structure d’accélération basée sur le processeur, à télécharger vers les groupes de threads gérés par le application.
Toutes ces fonctions sont déjà définies dans la version finale des spécifications, même si leur processus de mise en œuvre n’est pas automatique et doit être défini par chaque développeur pour chaque jeu ou application. Vulkan peut tirer parti d’une grande variété de matériel. Théoriquement, n’importe quel GPU pourrait exécuter Vulkan RT en utilisant des cœurs de «calcul GPU» existants, bien que les performances ne soient probablement pas les maximales possibles.
La bonne nouvelle est que Vulkan est consolidé comme une excellente alternative au monopole de Microsoft avec DirectX et dans tous les types de fonctions, y compris le lancer de rayons qui est devenu l’une des techniques de représentation de référence. Khronos compte un grand nombre de fabricants qui les supportent (AMD, Intel, NVIDIA, Qualcomm, Imagination, ARM…) et de fournisseurs de moteurs graphiques tels que iDTech, Unreal, Unity, Frostbite ou CryEngine. Il ne sera pas difficile de voir Vulkan Ray Tracing bientôt dans de grands jeux.