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

Développement 2D, 3D et Jeux Discussion :

Tutoriels OpenGL ogldev en français : les shaders


Sujet :

Développement 2D, 3D et Jeux

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    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 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut Tutoriels OpenGL ogldev en français : les shaders
    Bonjour à tous,

    Voici le quatrième tutoriel de la nouvelle série de tutoriel OpenGL moderne de la rubrique 2D/3D/Jeux. Dans celui-ci vous allez apprendre à charger et utiliser les shaders dans votre programme OpenGL.


    Bonne lecture.
    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
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2016
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Problème de 'Invalid Shader Program'
    Bonjour a tout le monde

    Je suis actuellement en train de suivre le 4ème tutoriel de ce tuto et je rencontre actuellement un problème.
    Après que la compilation ai fonctionné j'ai le message d'erreur suivant : Invalid shader program: 'Validation Failed: No vertex array object bound.'
    Je ne comprend pas pourquoi même après des recherches sur internet...

    Je suis sous Mac OS Sierra version 10.12.4
    j'ai utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GlutInitdisplay(GLUT_3_2_CORE_PROFIL)
    Pour pouvoir utilisé les même shader que dans ce tuto or après que la compilation ai fonctioné j'ai ce fameux message d'erreur et je n'ai pas trouvé comment le résoudre..

    J'utilise les shader suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #version 410
     
    layout (location = 0) in vec3 Position;
     
    void main()
    {
        gl_Position = vec4(0.5 * Position.x, 0.5 * Position.y, Position.z, 1.0);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #version 410
     
    out vec4 FragColor;
     
    void main()
    {
        FragColor = vec4(1.0, 0.0, 0.0, 1.0);
    }

    J'ai rajouter c'est ligne que j'ai trouvé pour connaitre l'actuelle version GL et GLSL dans le livre David Wolf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    const GLubyte *renderer = glGetString( GL_RENDERER );
        const GLubyte *vendor = glGetString( GL_VENDOR );
        const GLubyte *version = glGetString( GL_VERSION );
        const GLubyte *glslVersion =
        glGetString( GL_SHADING_LANGUAGE_VERSION );
        GLint major, minor;
        glGetIntegerv(GL_MAJOR_VERSION, &major);
        glGetIntegerv(GL_MINOR_VERSION, &minor);
        printf("GL Vendor    : %s\n", vendor);
        printf("GL Renderer  : %s\n", renderer);
        printf("GL Version (string)  : %s\n", version);
        printf("GL Version (integer) : %d.%d\n", major, minor);
        printf("GLSL Version : %s\n", glslVersion);
    J'obtiens ceci dans la console :

    GL Vendor : Intel Inc.
    GL Renderer : Intel HD Graphics 5000 OpenGL Engine
    GL Version (string) : 4.1 INTEL-10.24.45
    GL Version (integer) : 4.1
    GLSL Version : 4.10



    Je vous remercie de vos futurs réponse..

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    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 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    La réponse se trouve dans une autre série de tutoriels proposée sur le site : http://opengl.developpez.com/tutorie...rial/FAQ/#LVII
    Il suffit donc de suivre ce tutoriel pour savoir comment faire le VAO : http://opengl.developpez.com/tutorie...mier-triangle/
    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.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2016
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    je vous remercie de votre réponse

  5. #5
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2018
    Messages : 2
    Points : 3
    Points
    3
    Par défaut problème avec cmath et ogldev_util.h
    J'essaie de compiler le quatrième tutoriel et j'ai un problème avec cmath et ogldev_util.h
    Ceci est dans Tutoriel04.log:
    d:\nehe cd\ogldev-source\tutoriel04\ogldev_util.h(46): error C2382: 'fmax'*: redéfinition*; spécifications des exceptions différentes
    c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\cmath(132): note: voir la déclaration de 'fmax'

    Au bas de l'écran j'ai ces erreurs:
    Gravité Code Description Projet Fichier Ligne État de la suppression
    Erreur (active) E0020 identificateur "uint" non défini Tutoriel04 D:\NeHe CD\ogldev-source\tutoriel04\ogldev_util.h 35

    Gravité Code Description Projet Fichier Ligne État de la suppression
    Erreur C2382 'fmax'*: redéfinition*; spécifications des exceptions différentes Tutoriel04 d:\nehe cd\ogldev-source\tutoriel04\ogldev_util.h 46

    Problème entre cmath ligne 132 qui est: _Check_return_ inline float fmax(_In_ float _Xx, _In_ float _Yx) noexcept
    et ogldev_util.h ligne 46 qui est: float fmax(float a, float b);

    J'ai aucune idée comment régler ça.

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    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 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Ce que je ferais, c'est de supprimer le fmax de ogldev_util (h et cpp).
    Ou alors, de ne pas utiliser cmath et d'utiliser la version de ogldev_util.
    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.

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Tu devrais écrire tes fonctions dans ton propre namespace, ça évitera ce genre de surprises
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  8. #8
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2018
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Ce que je ferais, c'est de supprimer le fmax de ogldev_util (h et cpp).
    Ou alors, de ne pas utiliser cmath et d'utiliser la version de ogldev_util.
    'Finalement j'ai décidé de changer le fmax de ogldev_util (h et cpp) en f_max et tout fonctionne très bien.

Discussions similaires

  1. Tutoriels OpenGL ogldev en français : ouvrir une fenêtre
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 11/10/2019, 18h55
  2. Tutoriels OpenGL ogldev en français : les transformation : mise à l'échelle
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 22/06/2014, 11h03
  3. Tutoriels OpenGL ogldev en français : les transformation : la rotation
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 15/06/2014, 12h35
  4. Tutoriels OpenGL ogldev en français : les transformation : la translation
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 02/06/2014, 21h40
  5. Tutoriels OpenGL ogldev en français : les variables uniformes
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 13/05/2014, 19h14

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