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

Qt Discussion :

fonction Opengl dans Qt 5.0


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Par défaut fonction Opengl dans Qt 5.0
    Bonjour a tous,

    j'ouvre cette discussion car je n'arrive a rien avec google.
    Voila le problème :
    je veux utiliser des fonctions opengl dans un projet Qt.
    Je constate que certaines de ces fonctions marchent même si elles ne sont pas listées dans Qt assistant et d'autres fonctions ne marchent pas alors qu'elles sont dans les exemples qt

    Je prend par exemple glbegin() et a chaque compil j'ai l'erreur "glBegin : identificateur introuvable.

    J'utilise le compilateur msvc 10.0 avec qt 5.0.0
    J'ai bien le qt +=opengl
    j'ai tenter l'include Gl/gl.h mais la c'est la cata
    ...je ne sais plus quelle piste explorer.... une idée?
    merci beaucoup

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Bonjour et bienvenue sur le forum

    En effet, il y a un problème avec le message d'erreur. Il aurait du être "glBegin ? C'est quoi cette fonction dépréciée ? Veuillez trouver un cours sur OpenGL à jour et ne plus utiliser glBegin"

    Voici la liste des fonctions GL importées dans Qt 5 : http://qt-project.org/doc/qt-5.0/qtg...functions.html
    Pour autres, il faut utiliser getProcAdress ou utiliser un lib externe (GLEW par exemple)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Par défaut
    merci de vous intéresser au probleme.

    je me suis penché sur la fonction getProcAdress qui si j'ai bien compris teste la compatibilité de la fonction opengl.
    Et là mauvaise surprise j'ai encore cette même erreur de compilation :

    c3861 : getProcAdress : indentificateur introuvable

    J'ai bien vérifier que cette fonction (appartenant à la classe QOpenGLContext) se trouve bien dans ma version de qt installée.
    Le plus incroyable c'est que j'ai testé d'autres fonctions de cette même classe et certaines marchent et d'autres non avec l'erreur c3861.

    Je vais re-vérifier la partie compilation, faire d'autres test...
    Je viens de reinstaller qt sur windows xp étant avant sur seven 64bits : pas de résultat

    j'ai jamais eu de gros problèmes de compilation avec qt mais je là suis tombé sur un os

  4. #4
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Salut

    Tu compiles avec quelles modules inclus ?
    Dans Qt5, les fonctions OpenGL sont passée (en partie) du module QtOpenGL au module QtGui
    As tu essayer de compiler en code d'exemple utilisant OpenGL ?

    Tu as un code minimal reproduisant l'erreur ? (avec le .pro)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Par défaut
    Salut ,

    j'ai exploré ton idée de la fonction : glGetString
    Je crois que je me suis un peu trop précipité dans l'utilisation d'opengl bref...

    Avec cette glGetString(GL_VERSION) j'ai donc la version opengl ES 2.0 qui s'affiche. ET dans opengl ES 2.0 le glBegin() est absent.
    glBegin() est mentionné dans opengl 2.1

    Voila, mon problème est résolu.
    Par contre j'ai une dernière question : j'ai cru comprendre que la version opengl dépend du compilateur (je compile avec msvc 10). Est-ce exact ?
    Je ne peux pas programmer avec opengl 3.3 par exemple ? ... j'ai tellement recherché d'information que je commence a me mélanger les pinceaux...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Par défaut
    ... je n'avais pas vu cet article :
    http://qt.developpez.com/actu/49471/...rne-dans-Qt-5/
    je pense pouvoir m'en sortir, mais domage que le download du fichier source
    de l'exemple de marche pas.
    Merci

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 07/05/2008, 13h54
  2. Fenêtre OpenGL dans dialogbox
    Par Tom Joad dans le forum OpenGL
    Réponses: 2
    Dernier message: 25/07/2003, 11h33
  3. Appel à des fonctions incluses dans des DLL
    Par Greybird dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 13h33
  4. Réponses: 7
    Dernier message: 24/05/2003, 15h56
  5. [VBA-E] Fonction sum() dans une cellule
    Par Gonzo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/12/2002, 10h18

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