IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ OpenGL

FAQ OpenGL Consultez toutes les FAQ

Nombre d'auteurs : 9, nombre de questions : 74, dernière mise à jour : 24 juin 2021 

 
OuvrirSommaireGénéralitésOpenGL et les autres langages/bibliothèques

Tout comme GLUT, AUX s'occupe des opérations relatives au système de fenêtrage et à la gestion des évènements. Son utilisation est très similaire à GLUT, à tel point qu'il suffit bien souvent de remplacer le préfixe des fonctions « glut » par « aux » pour retrouver les fonctions correspondantes.

Pour l'utiliser il faut posséder glaux.lib et glaux.h, qui sont livrés la plupart du temps avec les EDI classiques. Cependant AUX est confiné à un seul système d'exploitation qui se trouve être Windows.

Créé le 22 janvier 2006  par Zoso_

Lien : Tutoriels OpenGL utilisant AUX

La bibliothèque OpenGL ne couvrant que l'aspect graphique, il faut qu'elle soit secondée au moins par une bibliothèque de fenêtrage, afin de pouvoir exploiter ses possibilités. Il est également possible d'utiliser les fonctions de base du système sur lequel on programme, mais dans ce cas on perd la portabilité d'OpenGL. Voici donc une liste de bibliothèques utilisables avec OpenGL (classées par catégorie) :

Fenêtrage (permet la création de la fenêtre d'affichage et l'interfaçage avec le système) :

Voir Quelle bibliothèque de fenêtrage utiliser ?.

GUI (interface graphique) (apporte une gestion des boutons et autres contrôles à l'application) :

Texte (permet de générer/afficher du texte, lire les fichiers truetype)

Graphique/Image (apporte des routines de traitement d'images, la gestion des fichiers graphiques) :

Extensions (simplifie l'accès aux extensions OpenGL) :

Son (encodage/décodage des sons, gestion des fichiers sonores) :

Réseau (communication entre machines via différents protocoles) :

Physique (gestion de la physique, de la détection des collisions…) :

Créé le 22 janvier 2006  par shenron666

La bibliothèque de fenêtrage permet la création de la fenêtre d'affichage et l'interfaçage avec le système. L'utilisation d'une bibliothèque permet de conserver la portabilité qui fait la force d'OpenGL. Pour cela, il existe plusieurs bibliothèques qui, selon l'utilisateur, auront leurs avantages ou leurs inconvénients :

GLUT (GL Utility Toolkit) : Voir https://jeux.developpez.com/faq/opengl/?page=glut#GLUT_def.

FreeGlut : http://freeglut.sourceforge.net/.

OpenGLut : http://openglut.sourceforge.net/.
Adaptation de la bibliothèque GLUT qui n'est plus mise à jour. OpenGLut apporte également des fonctions supplémentaires aux fonctions de GLUT. Les deux bibliothèques se veulent compatibles avec la dernière version de GLUT.

GLFW (GL FrameWork) : http://glfw.sourceforge.net/.
Bibliothèque portable (Windows, MacOS, Linux…) relativement simple d'utilisation et surtout très légère. Parmi les possibilités offertes par la bibliothèque, et outre la création de la fenêtre de rendu, le programmeur aura accès à la gestion du couple clavier/souris, des joysticks, du multitâche, et au chargement de textures et à d'autres fonctionnalités.

SDL (Simple Directmedia Layer) : http://www.libsdl.org/.
SDL est une bibliothèque portable qui a bonne réputation, d'autant plus qu'elle a servi à l'adaptation des jeux « Unreal Tournament » et « Civilization : Call To Power » sous Linux. Puissante et stable, elle offre la gestion du couple clavier/souris, des joysticks, du son, des images, du multitâche et bien d'autres en plus de la gestion du fenêtrage.

Aujourd'hui, de nombreux programmes d'exemples et tutoriels proposés sur Internet utilisent GLUT. La majorité d'entre eux datent, et même si GLUT est une bibliothèque stable, elle n'est pas appropriée pour la conception d'un jeu, notamment à cause de sa mauvaise gestion du mode plein écran.
La bibliothèque SDL est tout aussi facile à programmer, stable et performante, elle a tout pour satisfaire les besoins au sein de gros projets. Elle a non seulement fait ses preuves avec des adaptations de jeux commerciaux, mais qui plus est, elle est toujours suivie, tandis que le développement de GLUT s'est arrêté il y a plusieurs années. Autre point important, la documentation très complète et plutôt bien faite est directement accessible depuis le site officiel de SDL.
Une version SDL 2.0 plus orientée objet serait en cours de développement, à suivre…

Créé le 22 janvier 2006  par shenron666

Il existe des portages d'OpenGL dans de très nombreux langages, allant de l'assembleur au Java en passant par C, C++, Python et autres.

Pour se faire une idée de l'ensemble des langages qui peuvent être utilisés, il suffit de faire un tour sur le site de NeHe, et de regarder les différentes versions de chaque tutoriel.

Créé le 22 janvier 2006  par bafman

Sous Windows, il est tout à fait possible d'utiliser OpenGL dans une interface construite avec les MFC (Microsoft Foundation Classes) de Visual C++.

Il existe de nombreux tutoriels qui pourront vous aider à intégrer OpenGL aux MFC :

Créé le 22 janvier 2006  par Laurent Gomila

Plusieurs bibliothèques existent pour utiliser OpenGL en .NET (C#, VB.NET…) :

Tao est une collection de bibliothèques fonctionnant avec Mono et .NET. Parmi celles-ci : OpenGL, GLU, FreeGlut, OpenAL, DevIL, SDL…
Site web : http://www.monoproject.com/Tao

CsGL (CSharp Graphics Library) est une bibliothèque permettant également d'utiliser OpenGL en .NET.
Site web : http://csgl.sourceforge.net/

Créé le 17 mai 2006  par Laurent Gomila

wxWidgets fournit un composant spécialisé pour l'affichage OpenGL : WxGLCanvas. Ainsi il devient très simple d'intégrer une scène OpenGL à une interface graphique développée avec wxWidgets.

Voir la documentation sur le wiki de wxWidgets :
WxGLCanvas - wiki.

Ainsi que la documentation de référence de la classe :
WxGLCanvas

Créé le 17 mai 2006  par Laurent Gomila

Tout comme wxWidgets, Qt propose un composant pour intégrer une scène OpenGL à votre interface : QGLWidget.

Pour une utilisation plus poussée, Qt fournit également d'autres classes en relation avec OpenGL dans son module QGL. Cependant, la classe QGLWidget seule sera suffisante la plupart du temps.

Voir également les tutoriels de la rubrique Qt sur OpenGL.

Créé le 17 mai 2006  par Laurent Gomila

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2005-2012 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.