IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DirectX Discussion :

Microsoft Shader Conductor transpile des shaders à partir de HLSL


Sujet :

DirectX

  1. #1
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 591
    Points
    188 591
    Par défaut Microsoft Shader Conductor transpile des shaders à partir de HLSL
    Microsoft s’ouvre de plus en plus vers le logiciel libre, comme le montre sa dernière contribution : Shader Conductor. Il se destine au monde de la 3D, notamment des jeux. Pour obtenir un rendu précis, les processeurs graphiques peuvent exécuter du code (shader) à plusieurs niveaux : pixel (effets en 2D), sommets (transformation et éclairage), calculs non graphiques (par exemple, simulation physique), géométrie (transformation des résultats des calculs en objets affichables), pavage (augmentation du niveau de détail) ou, plus récemment, lancer de rayons.

    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 souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  2. #2
    Membre chevronné Avatar de FatAgnus
    Homme Profil pro
    Troufion de base
    Inscrit en
    Août 2015
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Troufion de base

    Informations forums :
    Inscription : Août 2015
    Messages : 360
    Points : 2 102
    Points
    2 102
    Par défaut Microsoft fait de l'open source pas du logiciel libre.
    La phrase « Microsoft s’ouvre de plus en plus vers le logiciel libre » m'a beaucoup amusé. Je ne pense pas que Microsoft s'ouvre aux idées de la Free Software Foundation et de Richard Stallman ! L'idée principale du logiciel libre et que l'utilisateur final ait le contrôle de ses logiciels en pouvant avoir accès au code source des ces derniers, publiés sous une licence libre. Les utilisateurs des produits Microsoft ont-il la liberté d'étudier et de modifier le code source de Windows, Office et leurs autres produits ? Non.

    Par contre oui Microsoft s'ouvre de plus en plus vers le logiciel open source, donc aux idées Open Source Initiative et d'Eric Raymond, à savoir une méthodologie de développement qui consiste à placer les sources sous une licence open source dans le but d'attirer des développeurs, d'accélérer le développement et d'en réduire le coût de développement.

    La licence MIT utilisée pour le projet Shader Conductor est à la fois ne licence open source et libre. Mais la liberté des utilisateurs chère à la Free Software Foundation n'est pas l'objectif de Microsoft, bien au contraire. Microsoft fait de l'open source pas du logiciel libre.

  3. #3
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    Microsoft suit le mouvement.

    Quand Android, Raspberry, Ubuntu se sont intéressés à ARM, Microsoft a fait un pas dans cette direction.
    Si la réponse vous a aidé, pensez à cliquer sur +1

Discussions similaires

  1. [Shader - glew] versions des shader
    Par akiraa dans le forum OpenGL
    Réponses: 11
    Dernier message: 21/08/2007, 11h43
  2. Réponses: 4
    Dernier message: 20/07/2007, 12h24
  3. [Java3D] Comment utiliser des shaders ARB ?
    Par Knightmare dans le forum 3D
    Réponses: 1
    Dernier message: 25/05/2007, 11h05
  4. Support des shaders quake III : Irrlicht, Ogre ou aucun ?
    Par inertia dans le forum Moteurs 3D
    Réponses: 2
    Dernier message: 27/02/2006, 20h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo