Microsoft Shader Conductor : un transpiler de shaders HLSL

Par:
fredericmazue

mer, 14/11/2018 - 12:02

Les shaders sont des programmes écrit par les développeurs d'applications 3D pour rendre des éléments tels que pixels, sommets, éclairages, transformations, ainsi que des éléments non graphiques tels que la simulation physique, afin de profiter de l'accélération fournie par les GPU.

Le langage utilisé pour programmer les shaders dépend de la plate-forme utilisée. Avec DirectX, ce langage est HLSL.

Se pose évidemment le problème du portage des shaders vers d'autres plates-formes.

Pour résoudre ce problème, Microsoft propose Shader Conducteur, un transpileur qui permet de transformer du code HLSL en code GLSL pour cibler OpenGL, en code ESSL pour cibler OpenGS ES, ou encore MSL pour cibler Metal.

Shader Conductor se base sur DirectX Shader Compiler, le compilateur HLSL de Microsoft ainsi que sur SPIRV-Cross, l'outil proposé par le Khronos Group pour transpiler du code SPIR-V vers d’autres langages. Concrètement, Shader Conductor transforme le code HLSL en code SPIR-V.

Shader Conductor est un logiciel libre sous licence MIT, disponible sur GitHub.