Partage
  • Partager sur Facebook
  • Partager sur Twitter

[android] shaders avec OpenGL ES 2.0

    11 septembre 2011 à 16:28:35

    Bonjour a tous !
    Voila étant en développement d'une application utilisant la 3D avec OpenGL ES 2.0, l'utilisation des shaders est indispensable , cependant j'ai vu qu'il existait 3 langages : GLSL (openGL Shading Langage) , HLSL (High Level Shading Langage) et cg de nvidia (C Graphics).
    En OpenGL la logique est d'utiliser GLSL (puisque HLSL est orienté Direct3D) mais les outils de nvidia ont l'air assez intéressent pour développer des shaders, peut on utiliser cg avec android ? si oui comment ? si non y a t il ce meme genre d'outil pour GSLS ? si oui ou ?
    Beaucoup de questions mais c'est important pour moi :)

    Merci ! ;)
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      12 septembre 2011 à 16:26:14

      Hello,

      En fait GLSL et HLSL sont deux implémentations du langage Cg (d'ailleurs HLSL = Cg, c'est le même langage) et le compilateur Cg est capable de produire du code GLSL ou HLSL.
      Je pense que tu peux parfaitement bosser avec les outils NVIDIA et Cg pour ensuite exporter vers la plateforme de ton choix. Peut-être que quelqu'un qui a plus d'expérience sur le sujet pourra te dire s'il y a tout de même des ajustements à faire.

      ++
      • Partager sur Facebook
      • Partager sur Twitter
        16 septembre 2011 à 18:11:59

        Escuse moi de la réponse tardive mais lycée oblige ^^, je tiens a te remercier pour ta réponse claire et précise :)
        • Partager sur Facebook
        • Partager sur Twitter
          16 septembre 2011 à 20:01:17

          Citation : BZ

          Hello,
          En fait GLSL et HLSL sont deux implémentations du langage Cg



          Cg à été créé pour être similaire à HLSL, mais cela s'arrête là... HLSL et GLSL sont deux langages indépendants de Cg. Cg dispose bien d'un traducteur GLSL, mais cela étant, OpenGL ES utilise une version remaniée de GLSL (GLSL ES), et rien ne dit qu'elle soit compatible avec les shaders traduits par Cg.

          Sinon de quels outils de Cg parles-tu ?
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            16 septembre 2011 à 21:03:02

            Si, si, je t'assure. Parcours rapidement le premier chapitre du Cg tutorial de NVIDIA pour t'en convaincre.

            Citation : The Cg Tutorial

            1.3.1 Microsoft and NVIDIA's Collaboration to Develop Cg and HLSL

            NVIDIA and Microsoft collaborated to develop the Cg language. Microsoft calls its implementation High-Level Shading Language, or HLSL for short. HLSL and Cg are the same language but reflect the different names each company uses to identify the language and its underlying technology.



            ++
            • Partager sur Facebook
            • Partager sur Twitter
              16 septembre 2011 à 21:17:05

              Citation : BZ

              Si, si, je t'assure.

              Autant pour moi alors, ça m'apprendra à vérifier mes sources sur wikipédia. Mais ça ne change pas que GLSL est indépendant de Cg, et que GLSL est légèrement différent de GLSL ES.
              • Partager sur Facebook
              • Partager sur Twitter
                17 septembre 2011 à 11:30:12

                Je parle des outils avancés proposés dans le toolkit qui permettent selon nvidia d'obtenir des bons effets :) pas trop difficilement, sa fait envie quand on regarde le GLSL a coté ...

                Quand tu parles de GLSL ES, la version est vraiment différente ? parce que jusque la je regardais les tutos sur le vrai GLSL ?

                En tout cas merci de vos réponses :) !!!
                • Partager sur Facebook
                • Partager sur Twitter
                  17 septembre 2011 à 13:38:32

                  Citation : MacProgrammer

                  Je parle des outils avancés proposés dans le toolkit qui permettent selon nvidia d'obtenir des bons effets :) pas trop difficilement, sa fait envie quand on regarde le GLSL a coté ...

                  Quand tu parles de GLSL ES, la version est vraiment différente ? parce que jusque la je regardais les tutos sur le vrai GLSL ?

                  En tout cas merci de vos réponses :) !!!



                  ES veut dire Embedded Subset. C'est un sous-ensemble "refraichi" de GLSL. Il est fort proche de GLSL mais avec des parties enlevées parce que dépréciées ou autre. Par exemple GLSL ES ne dispose pas de ftransform() ou du type sampler3D.
                  Tu peux étudier GLSL ES avec un tuto GLSL, tout en te disant qu'il y a certaines fonctionnalités en moins.

                  Tu peux trouver la spécification de glsl es ici.
                  • Partager sur Facebook
                  • Partager sur Twitter

                  [android] shaders avec OpenGL ES 2.0

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown