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 :

Mise en place d'OpenGL


Sujet :

OpenGL

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Par défaut Mise en place d'OpenGL
    Bonjour.

    Je cherche à approfondir mon apprentissage d'OpenGL en repartant de zéro pour bien comprendre ce que je fais et ne pas me contenter du "ça marche donc je ne cherche pas plus loin".

    Le commencement, donc. Je cherche à pouvoir mettre en place un "environnement de travail" (comprendre, installer les drivers, avoir les headers à inclure, les bonnes bibliothèques à lier) pour la version 3.3 d'OpenGL, plus les extensions (avec glew), sous Qt pour la création de contexte et le système de fenêtrage, le tout sous Windows 7. Le problème étant que je m'y perds un peu entre les différends documents et tutoriels que j'ai pu lire jusqu'ici.
    Pour les drivers, pas de problème, à-priori (carte graphique nvidia 285 GTX, driver v301.42, datant du 22/05/2012).

    Ensuite, premier problème pour le header à inclure (GL/gl.h). Sachant que je veux utiliser glew pour les extensions, les instructions d'installation me disent de supprimer les inclusions à openGL pour les "remplacer" par des inclusions à glew.h. Cependant, et si j'ai bien comprit, glew ne fait que définir les noms des fonctions des extensions, tout en incluant gl.h. Donc si celui-ci est faussé, tout le reste aussi.
    L'unique fichier que j'ai est fourni par mon compilateur () et ne couvre que les versions 1.2 et 1.3. Sur le site officiel, j'ai trouvé glcorearb.h (anciennement gl3.h) mais il définit toutes les constantes et prototypes de fonction jusqu'à la dernière version (4.3) et je ne suis pas sur que ce soit approprié de l'utiliser dans un contexte différend.
    De plus, je crois me souvenir qu'on conseillait d'utiliser les fichiers fournis par le constructeur et j'ai beau chercher, je ne trouve nulle part trace d'un quelconque header ou dll utilisable (bien que j'ai trouvé les dll pour OpenCL).
    Enfin, Qt apportant un ensemble de classes simplifiant l'utilisation d'OpenGL, j'ai quand même regardé au cas où, sans résultat.
    Du coup, quand je vois dans les tutoriels et la documentation officielle les #include <GL/gl.h>, comment avoir la dernière/la bonne version ?

    Petite aparté, peut-être en lien avec la question précédente: Windows ne supportant que la version 1.1 d'OpenGL, suis-je condamné à n'utiliser que les extensions pour toute fonctionnalité supérieure ? Dans ce cas, les extensions (via glew) doivent-elle comporter la syntaxe gl_arb_fonctionnalité ou bien la syntaxe présente dans les spécifications OpenGL (plus le "GL" au début) ?

    Enfin, pour utiliser les extensions, le plus simple me parait être GLEW qui simplifie énormément le travail (sans enlever la vérification du support des extensions, bien entendu). En supposant que toute la compilation et l'installation se passe bien, ais-je besoin de télécharger/installer glext pour que glew connaisse les points d'entrés des prototypes de fonction ?

    J'ai bien conscience que ce sont des questions basiques et je m'en excuse mais les différends tutoriels et documentations me semblent vraiment obscurs. Je me pose peut-être les mauvaises questions ou je ne sais pas où regarder. J'essaye autant que possible de me fier à la documentation officielle mais si vous avez d'autres pistes à m'indiquer, je prends avec plaisir .
    Merci.

    Système: Windows 7 - 64 bits
    Carte graphique: Nvidia 285 GTX (driver v301.42, datant du 22/05/2012, supportant OpenGL jusqu'à la version 3.3)
    IDE: Eclipse CDT Juno
    Compilateur: MinGW v4.6.3, cible: i686-pc-mingw32
    Qt: v4.8.2

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 054
    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 054
    Billets dans le blog
    141
    Par défaut
    Bonjour,

    Je pense que ce tutoriel sur les extensions vous aidera à comprendre quelques points.

    En effet, Windows ne possède qu'une implémentation de OpenGL 1.1. Pour avoir accès aux dernières nouveautés, il faut directement rechercher les pointeurs sur les fonctions qui se trouvent dans la .DLL fournit par le constructeur de la carte graphique. Enfin, comme cela, ça parait compliqué, mais en fait pas vraiment, c'est juste pénible (tout est expliqué dans la page : http://alexandre-laurent.developpez....GL-Extensions/ ). Du coup, GLEW a été inventé et fait tout ce qu'il faut pour nous.

    Ainsi, en incluant glew.h (avant gl.h) on aura accès à toute les nouveautés (il ne faut pas oublier de faire l'initialisation de GLEW dans le main).

    Ensuite, il est préférable d'utiliser la syntaxe GL_nom_de_fonction() à la place des ARB ou autre (lorsqu'elles sont disponibles). Cela peut dépendre aussi de la version d'OpenGL que vous souhaitez utiliser.

    N'hésitez pas à poser d'autres questions, mais je vous conseille de faire un essai, maintenant
    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
    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
    En complément, je te conseille un peu de lecture :
    * plusieurs tutoriels sur OpenGL dans Qt : OpenGL avec Qt
    * Qt fournit une fonction pour ajouter une fonction GL : http://cpp.developpez.com/redaction/...page=opengl#L8 (et tu peux lire le reste du tuto tant qu'a faire)
    * dans http://blog.developpez.com/gpu/p1124...er_avec_opengl je donne le code pour créer une contexte avec une version spécifique (dans le chapitre "Créer des contextes de débogage à partir d’une bibliothèque (GL 4.1)" > "Avec Qt")
    Bonne lecture

Discussions similaires

  1. [AD]Mise en place de Active Directory
    Par guiguisi dans le forum Windows Serveur
    Réponses: 9
    Dernier message: 29/07/2004, 08h50
  2. [C#] Mise en place d'un site multilingue
    Par regbegpower dans le forum ASP.NET
    Réponses: 6
    Dernier message: 19/03/2004, 19h15
  3. mise en place serveur web intranet
    Par gui4593 dans le forum Installation
    Réponses: 7
    Dernier message: 01/01/2004, 18h18
  4. Mise en place d'index....??
    Par liv dans le forum Requêtes
    Réponses: 6
    Dernier message: 18/12/2003, 11h04

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