2009-03-02 6 views
6

Je suis à la recherche d'une fenêtre ... euh ... chose pour OpenGL, j'ai utilisé SDL mais plus récemment j'ai trouvé que ce n'était pas tout à fait à mon goût dans au moins n'importe quel code. J'ai vu. Je voudrais trouver une bibliothèque GUI qui me permet de développer en utilisant OpenGL (et SDL si possible) avec une barre de menu, éventuellement des options sur le côté, et un bouton de fermeture de work-out-of-the-box. Qt est le genre de chose que je cherche, mais j'aimerais travailler avec quelque chose qui ne me force pas à le faire en open source.OpenGL cross platform window

Une liste rapide de choses que je veux, un bouton de fermeture fonctionnant, la capacité d'utiliser OGL, multi-plateforme, toute licence qui ne me force pas à devenir open source, libre, et la possibilité de passer en plein écran à la volée.

Je me suis fouillé, je ne suis pas une personne paresseuse vraiment;) Je veux juste obtenir quelques opinions ici avant de plonger dans quelque chose et trouver son pas vraiment adapté à mes besoins.

Merci d'avance pour vos commentaires.

Répondre

4

Essayez wxWidgets. Il y a un lien pour l'utiliser avec OpenGL here.

+0

http://docs.wxwidgets.org/2.8/wx_wxglcanvas.html pour wxGLCanvas. – aib

+0

Je suis d'accord avec la recommandation de wxWidgets. –

2

GLUT (GL Utility Toolkit) se rapproche de ce que vous cherchez. C'est rapide et facile et multiplate-forme, bien qu'il ne soit pas compatible avec les barres de menus. This page a également un certain nombre d'alternatives de type GLUT.

+0

GLUT est plutôt icky (les variables globales sont * so * 1999;) mais c'est partout OpenGL, ce qui en fait la solution la plus simple pour démarrer. – ephemient

+0

Variables globales * ROCK *. Voir aussi http://www.yosefk.com/blog/i-love-globals-or-google-core-dump.html –

0

SDL peut créer OpenGL Windows.

http://gpwiki.org/index.php/C:SDL_OGL

+0

Je suis conscient de cela, comme je l'ai dit j'utilise SDL en ce moment, mais il ne contient pas assez de fonctionnalités pour le rendre utilisable par les applications que je prévois de lancer bientôt. – Auraomega

+0

Hmm, si SDL n'a pas assez de fonctionnalités pour vous, GLUT ne sera probablement pas bon non plus. Qu'est-ce que vous manque? – ephemient

4

Lorsque Qt 4.5 sort (plus tard ce mois-ci, je pense), il sera LGPL, donc si vous pouvez attendre quelques semaines, vous pouvez utiliser Qt sans avoir à ouvrir source de votre programme.

+1

Je recommande aussi fortement Qt4. Il est beaucoup plus mature que wxWidgets, et aussi plus puissant dans son intégration OpenGL. Vous pouvez demander à Qt d'utiliser GL comme backend de rendu et il est également possible d'effectuer des tâches de peinture Qt sur un QGLWidget, c'est-à-dire dans un contexte GL. – ypnos

2

Pour la fenêtre de bouton prêt à l'emploi prête à l'emploi, vous pouvez avoir GLUT, comme mentionné précédemment, et si vos besoins supplémentaires d'interface graphique sont vraiment simples, je pense que GLUT peut vous en fournir.

Vous pouvez également opter pour de simples menus et boutons rendus OpenGL, en utilisant NVidia Widgets ou AntTweakBar.

+1

S'il n'est pas content de SDL, comment sera-t-il satisfait de GLUT? Cela dit, je vous donne encore un +1 à cause de la recommandation pour les widgets rendus. –

1

Vous n'avez pas besoin de 'support' pour OGL tant que vous pouvez lui transmettre les informations correctes. Sur les fenêtres au moins, si vous avez une API de fenêtrage à partir de laquelle vous pouvez accrocher le HWND, vous pouvez configurer OGL pour utiliser à peu près n'importe quelle fenêtre que vous voulez. Je l'ai fait avec succès avec wxWidgets et straight win32. Je ne peux pas vous aider avec d'autres plateformes, mais je suppose que vous pouvez faire quelque chose de similaire.

Cela fonctionne également avec D3D et est un bon moyen de séparer votre code de rendu de votre API de fenêtrage.

+0

Je l'ai déjà fait avec GTK sous Linux. –

0

Il existe de nombreuses bibliothèques de widgets rendus tels que ceux suggérés par rotoglup. Jetez un coup d'œil à CEGUI et QuickGUI, ils peuvent vous rendre heureux (bien que CEGUI me déçoive avec son abus de XML). Et voici une prise éhontée: GLICT.