2009-07-09 11 views
3

Je suis à la recherche d'un framework OpenGL multi-plateforme qui résume la création de contextes windows et gl en C++. Je voudrais avoir une représentation OO de Window, Context & co où je peux instancier une fenêtre, créer un contexte et peut-être définir plus tard la fenêtre en plein écran.C++ OpenGL Fenêtre et cadre de création de contextes/bibliothèque

Je pense implémenter cela moi-même pour xgl, wgl et agl. Mais avant

vient donc ici la question:

Quelles bibliothèques/cadres dois-je vérifier d'abord, avant d'inventer la roue à nouveau?

Edit: bibliothèques Jusqu'à présent nommés:

+0

J'utilise GLUT et wxWidgets avec succès dans deux projets distincts. Le seul inconvénient de GLUT sous Win32 est qu'il ouvre une fenêtre DOS - bon pour voir n'importe quel printf, mais il ne semble pas aussi professionnel d'avoir une application qui ouvre cette fenêtre. –

+1

@Jim: C'est un peu dans l'exécutable qui peut facilement être changé avec 'editbin', et est généralement un artefact de drapeaux de compilation? – ephemient

+0

Hmm, pourrait être, je serais curieux si c'était aussi simple. Dans mon cas, c'est juste une compilation de référence Win32 pour un jeu de console, donc je ne l'avais pas regardé trop profondément. Plus à des fins de débogage, j'aime vraiment/besoin de voir le printfs. –

Répondre

3

SMFL est un autre, similaire à SDL, mais prend une approche plus orientée objet.

+1

Celui-ci semble prometteur (leur site dit: SFML est composé de plusieurs paquets pour répondre parfaitement à vos besoins .Vous pouvez utiliser SFML comme un système de fenêtrage minimal pour interagir avec OpenGL ou comme une bibliothèque multimédia complète pour construire des jeux ou des programmes interactifs .). – Christoph

+0

Je vais l'implémenter moi-même - mais depuis que je pense que je peux réutiliser une partie du code SMFL je vais accepter cette réponse – Christoph

+1

SFML est adorable. Il ne supporte pas (ou peut-être pas) la création de contextes avec des tampons stencil, mais bon, vous pouvez éditer le code. – kibibu

6

Vous pouvez regarder Glut (C), Qt (C++), SDL (C).

+0

J'ai déjà travaillé avec glut (c'était sympa pour les petits exemples ouverts à l'université mais je pense que ça ne rentrerait pas dans un plus gros projet). L'api Qt semble bien - mais je n'aime pas la pensée d'introduire une dépendance à Qt. Il semble lourd pour mes besoins. La même chose vaut pour SDL. – Christoph

+1

Il y a aussi http://GtkGLExt.sf.net – ephemient

+0

@Christoph: Je peux comprendre parfaitement ce que vous voulez dire. Dans une solution interne pour un ancien employeur, j'ai dû résoudre un problème similaire. Les premières tentatives utilisaient les liaisons de plate-forme que j'ai mentionnées plus haut. Après un an ou deux, je suis passé à votre idée de mettre en œuvre les spécificités de la plate-forme moi-même. –

3

wxWidgets est une autre alternative, mais peut aussi être trop lourd.

0

libapril est bien aussi. Il est propre, simple et prend en charge les plates-formes mobiles plus récentes.