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 :

GL queries non declarees


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    Par défaut GL queries non declarees
    Bonsoir,

    je tent d'implementer l'occlusion culling en suivant cet exemple : http://www710.univ-lyon1.fr/~jciehl/.../2010/tp2.html

    Il faut utiliser les fonctions suivantes :

    • glGenQueries
    • glBeginQuery
    • glEndQuery
    • glGetQueryObjectiv


    Mais le probleme est que je n'arrive pas a compiler, je recois ce message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cube.cpp:274: error: ‘glGenQueries’ was not declared in this scope
    cube.cpp:277: error: ‘glBeginQuery’ was not declared in this scope
    cube.cpp:282: error: ‘glEndQuery’ was not declared in this scope
    cube.cpp:290: error: ‘glGetQueryObjectiv’ was not declared in this scope

    Mes inclusioons sont :
    • #include <GL/gl.h>
    • #include <GL/glu.h>
    • #include <GL/glut.h>


    J'ai essaye GLEW, qui me donne 2 ecrans d erreurs, notament :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    error: #error gl.h included before glew.h
    error: #error glext.h included before glew.h
    Alors que j ai rearrange mes includes pour que ca ne se reproduise pas.

    J'ai essaye GLX.h, sans succes
    J'ai essaye GLE.h, sans succes non plus

    J'ai tente toutes sortes de recherches sur google, sur des moteurs de code, bref je ne comprend pas.

    Ma version d'OpenGL est 3.x (et cette fonctionnalite semble etre apparue a la 1.5)

    Avez vous une idee ou un code utilisant ces methodes, ou vous pourriez me donner les includes utilises.

    Merci d'avance

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


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

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 186
    Billets dans le blog
    157
    Par défaut
    Bonjour,

    Tout d'abord, l'include de GLEW, doit être mis avant les include de GL.h / GLU.h.

    Personnellement, je n'ai jamais eu besoin d'include GLE.h ou GLX.h

    Quels sont les problèmes, une fois les include de GLEW rajoutés? La fonction reste t-elle introuvable?
    Quel est votre système d'exploitation?
    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.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    Par défaut
    Bonjour,

    J'ai bien mis glew en premier dans mes includes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #include <GL/glew.h>
     
    #include <GL/gl.h>
    #include <GL/glu.h>
    #include <GL/glut.h>
    Si je compile j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    error: #error gl.h included before glew.h
    error: #error glext.h included before glew.h
    puis 5 fois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    error: conflicting declaration [...]
    puis une vingtaine de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    error: ‘PFNGLBLENDEQUATIONSEPARATEIARBPROC’ does not name a type
    Puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cube.cpp:274: error: ‘glGenQueries’ was not declared in this scope
    cube.cpp:277: error: ‘glBeginQuery’ was not declared in this scope
    cube.cpp:282: error: ‘glEndQuery’ was not declared in this scope
    cube.cpp:290: error: ‘glGetQueryObjectiv’ was not declared in this scope
    Donc glew ne resoud pas le probleme de ces fonctions.

    J'utilise Ubuntu 10.04.3 LTS

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


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

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 186
    Billets dans le blog
    157
    Par défaut
    Sauf qu'il peut y avoir une autre raison, pour GLEW. Genre, si vous faites un fichier .h:
    Puis dans votre fichier .c:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include "fichier.h"
    #include <GL/glew.h>
    Alors le problème reste le même est gl.h sera inclut avant glew.h

    Maintenant, une solution rapide, c'est de remplacer tout les include de gl.h (et ceux de glu.h) par celle de glew.h
    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.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 66
    Par défaut
    Ou alors de mettre le #include <GL/glew.h> dans cube.cpp en première ligne (avant le #include cube.h (qui inclue gl))

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    Par défaut
    J'ai organise mes includes openGL dans un seul fichier GLincludes.h que j'inclue dans mes classes.
    J'ai mis dans ce fichier GLincludes.h uniquement l'include de GLEW (qu'il y ait gl.h et/ou glu.h ne change rien)

    Les memes erreurs se produisent.

    EDIT:

    Il semble que ce soit bien GLEW qu'il faut inclure.
    j'ai pu compiler sans probleme un code de test incluant glew et appelant 'glGenQueries'

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/09/2014, 18h41
  2. Réponses: 2
    Dernier message: 08/03/2013, 14h09
  3. Exécuter une requête non-query
    Par Piet dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 07/02/2007, 16h01
  4. Réponses: 23
    Dernier message: 17/03/2006, 22h11
  5. Champ non assigné dans le query
    Par Leesox dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/11/2005, 20h54

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