Programmez! #239 PDF pour nos abonnés papier

Abonnés papier : en raison de la situation due au coronavirus, des retards sont à prévoir en ce qui concerne la distribution de Programmez! #239 par La Poste. C'est pourquoi nous mettons Programmez! #239 PDF à disposition dans votre compte utilisateur sous un onglet dédié en attendant. Pour y accéder, il vous suffit de saisir votre n° d'abonné (ou éventuellement le ressaisir comme pour l'accès aux archives) dans votre compte utilisateur, si ce n'est pas déjà fait. Si vous ne connaissez par votre numéro d'abonné, vous pouvez l'obtenir à cette page.

En cas de difficultés, contactez le webmaster à partir du formulaire de contact de ce site.

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.