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

OpenGL Discussion :

GLSL -> glAttachShader() -> Plusieurs shaders du même type


Sujet :

OpenGL

  1. #1
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 855
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 855
    Points : 218 551
    Points
    218 551
    Billets dans le blog
    118
    Par défaut GLSL -> glAttachShader() -> Plusieurs shaders du même type
    Bonjour,

    Aujourd'hui je lisai tranquillement l'Orange Book, lorsque j'apprend que finalement je peux attacher plus d'un Vertex Shader et plus d'un Fragment Shader au même programme de shader.

    Ce qui veux dire que je peux donc attacher deux Vertex Shader et un Fragment Shader par exemple.

    Mais je voulais surtout savoir, à quoi cela pouvait bien servir ( multi passe ) et quel Vertex shader aura la priorité pour traiter les vertices...

    Pouvez vous m'éclairé sur ce point, est ce que ça a bien une utilité de mettre plusieurs shaders de même type dans le même programme ?

    Merci
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  2. #2
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Points : 486
    Points
    486
    Par défaut
    Salut,

    en fait ca sert juste (du moins à ma connaissance) à "organiser" ton code un peu plus efficacement:

    - Tu as un shader principal (vertex ou fragment, pareil pour les deux) avec un "main"
    - Et un ou plusieurs shaders avec plusieurs fonction, dont les prototypes doivent être déclarés dans ton "main" shader si tu veux les utiliser dedans

    Par exemple pour mon projet j'ai des shaders qui contiennent toutes les fonctions de texturing, d'autres pour le lighting, etc....

    Apres en fonction de ton programme tu adapte juste le "main" shader et les autres peuvent être réutilisés tels quels

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 855
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 855
    Points : 218 551
    Points
    218 551
    Billets dans le blog
    118
    Par défaut
    Ah pas bête, merci de ta réponse,

    Par contre, ( toujours dans le orange book ), il explique que l'on peut faire la même chose en concaténant les chaines de caractères quand on fait le glShaderSource() ( enfin la commende de passage de source, si j'ai pas mis le bon nom :p )
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Plusieurs services du même type
    Par Warnershoot dans le forum CORBA
    Réponses: 1
    Dernier message: 08/01/2013, 11h44
  2. Comment Créer plusieurs constructeur de même type ?
    Par mobi_bil dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 29/07/2009, 13h35
  3. Réponses: 1
    Dernier message: 07/10/2008, 15h49
  4. Réponses: 18
    Dernier message: 21/09/2006, 11h54

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