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
Partager