
Ces programmes doivent être écrits dans un langage de programmation spécifique. Pour DirectX, il s’agit de HLSL, mais ces programmes ne sont pas directement utilisables avec OpenGL, qui préfère GLSL (ou ESSL pour OpenGL ES)… sans oublier Apple, qui décide de jouer dans une autre cour avec MSL pour Metal. Shader Conductor vise à réduire la charge de travail des développeurs, en traduisant les programmes HLSL vers les autres langages (on peut donc parler d’un transpilateur).
Ce n’est pas le premier projet du genre. On peut citer Cg, un langage que NVIDIA proposait jusqu’en 2012, avec une transpilation vers HLSL et GLSL. Depuis lors, Khronos (à l’œuvre derrière la normalisation d’OpenGL et d’OpenCL, notamment) a développé SPIR-V, une représentation intermédiaire du code à exécuter sur un processeur graphique. Elle était à l’origine prévue pour OpenCL (donc pour effectuer du calcul sur processeur graphique), mais a été assez vite étendue à Vulkan (la nouvelle API de Khronos pour l’affichage, de plus bas niveau qu’OpenGL).
Shader Conductor n’est pas un très gros projet : il se base sur DirectX Shader Compiler, le compilateur HLSL que Microsoft a libéré l’année dernière, pour lire les fichiers HLSL, ainsi que sur SPIRV-Cross, le projet de Khronos pour la transpilation du code SPIR-V vers d’autres langages (avec un code efficace et lisible). De la sorte, Shader Conductor se “limite” à transformer le code HLSL en SPIR-V. L’objectif visé est probablement que les développeurs travaillent d’abord sur Windows, puis seulement s’intéressent à d’autres plateformes.
Le projet n’est pas encore très avancé, même si la génération de code SPIR-V est déjà assez complète (le premier commit est arrivé il y a moins de deux semaines, le code il y a cinq jours). Notamment, il n’est utilisable que sous Windows, mais Linux et macOS devraient “rapidement” faire leur apparition.
Vous avez lu gratuitement 1 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.