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

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 4
    Points
    4
    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 : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    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
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 4
    Points
    4
    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 : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    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
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 4
    Points
    4
    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
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 4
    Points
    4
    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

  7. #7
    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
    Bonsoir,

    Vous pouvez trouver ce même fichier ici : http://www.kdab.com/~blackie/dump/dd-opengl.zip
    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.

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci !! pour le lien.

    Malheureusement je n'arrive a compiler les exemples.
    Avant tout cela voici ma configuration :
    je suis sous windows 7 (64bits)
    - qt-windows-opensource-5.0.0-rc2-msvc2010_32-x86-offline
    - je compile avec microsoft visual C++ compiler 10.0 (x86)

    J'ai pris l'exemple ex_basic_shader et je me retrouve avec 83 erreurs .
    les erreurs majeurs viennent de qopenglextensions.h

    J'ai donc isoler le problème en utilisant le fichiet Qtgui/qopenglext.h qui apparement contient les mêmes definitions.
    Ainsi dans un projet basic j'ai simplement rajouter le : #include <QtGui/qopenglext.h>

    et voici les erreurs

    17:52:19: Exécution des étapes pour le projet E_conexte...
    17:52:19: Configuration inchangée, étape QMake sautée.
    17:52:19: Débute : "C:\Qt\Qt5.0.0-rc2\Tools\QtCreator\bin\jom.exe"
    C:\Qt\Qt5.0.0-rc2\Tools\QtCreator\bin\jom.exe -f Makefile.Debug
    cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"..\..\..\..\..\..\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\include" -I"..\..\..\..\..\..\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\include\QtOpenGL" -I"..\..\..\..\..\..\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\include\QtWidgets" -I"..\..\..\..\..\..\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\include\QtGui" -I"..\..\..\..\..\..\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\include\QtCore" -I"debug" -I"..\..\..\..\..\..\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\oo\AppData\Local\Temp\glWindow.obj.2012.63.jom
    glWindow.cpp
    C:\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\include\GL/gl.h(55) : error C2371: 'GLdouble'ÿ: red‚finitionÿ; types de base diff‚rents
    C:\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\include\QtGui/qopengl.h(71)ÿ: voir la d‚claration de 'GLdouble'
    C:\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\include\GL/gl.h(201) : warning C4005: 'GL_DOUBLE'ÿ: red‚finition de macro
    C:\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\include\QtGui/qopengl.h(68)ÿ: voir la d‚finition pr‚c‚dente de 'GL_DOUBLE'
    C:\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\include\QtGui/qopenglext.h(5250) : warning C4005: 'GL_COVERAGE_SAMPLES_NV'ÿ: red‚finition de macro
    C:\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\include\QtGui/qopengles2ext.h(530)ÿ: voir la d‚finition pr‚c‚dente de 'GL_COVERAGE_SAMPLES_NV'
    C:\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\include\QtGui/qopenglext.h(5503) : error C2371: 'GLintptr'ÿ: red‚finitionÿ; types de base diff‚rents
    C:\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\include\GLES2/gl2.h(38)ÿ: voir la d‚claration de 'GLintptr'
    C:\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\include\QtGui/qopenglext.h(5504) : error C2371: 'GLsizeiptr'ÿ: red‚finitionÿ; types de base diff‚rents
    C:\Qt\Qt5.0.0-rc2\5.0.0-rc2\msvc2010\include\GLES2/gl2.h(39)ÿ: voir la d‚claration de 'GLsizeiptr'
    jom: C:\Users\oo\Desktop\fraiseuse_3d\section_SOFT_3D\E_conexte\Makefile.Debug [debug\glWindow.obj] Error 2
    jom: C:\Users\oo\Desktop\fraiseuse_3d\section_SOFT_3D\E_conexte\Makefile [debug] Error 2
    17:52:23: Le processus "C:\Qt\Qt5.0.0-rc2\Tools\QtCreator\bin\jom.exe" s'est terminé avec le code 2.
    Error while building/deploying project E_conexte (kit: Desktop Qt 5.0.0 MSVC2010 32bit (SDK))
    Lors de l'exécution de l'étape "Make"
    je pense qu'il y a une erreur dans les include ou de compilation. Je cherche depuis un bon moment la-dessus mais sans resultat.
    Quelqu'un aurait une piste ??
    merci

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    les exemples que j'ai pu télécharger, bien que ne pouvant pas les compiler m'aident quand même super bien, et aussi les les tutoriels et cours de formation pour apprendre Qt : http://qt.developpez.com/tutoriels/
    .Donc je ferme le post

    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