2009-03-02 5 views
6

Ich bin auf der Suche nach einem Fenster ... ugh ... Sache für OpenGL, ich habe SDL verwendet, aber in jüngerer Zeit festgestellt, dass es nicht meine Bedürfnisse in mindestens jedem Code I ' habe gesehen. Ich würde gerne eine GUI-Bibliothek finden, die es mir ermöglicht, mit OpenGL (und SDL, wenn überhaupt möglich) mit einer Menüleiste, möglichen Optionen an der Seite und einer praktischen Schaltfläche zum Schließen zu entwickeln. Qt ist die Art von Dingen, nach denen ich suche, aber ich würde gerne mit etwas arbeiten, das mich nicht dazu zwingt, Open Source zu machen.OpenGL Cross-Plattform-Fenster

Eine schnelle Liste der Dinge, die ich will, eine funktionierende Schaltfläche schließen, die Fähigkeit, OGL zu verwenden, Cross-Plattform, jede Lizenz, die mich nicht zu Open Source, frei, und die Fähigkeit, Vollbildmodus und ändern Auflösung zu zwingen im laufenden Betrieb

Ich habe mich selbst gesucht, ich bin keine faule Person wirklich;) Ich will nur ein paar Meinungen hier, bevor ich in irgendetwas abtauchen und finde es nicht wirklich passend für meine Bedürfnisse.

Vielen Dank im Voraus für eine Rückmeldung.

Antwort

4

Versuchen Sie WxWidgets. Es gibt einen Link zur Verwendung mit OpenGL here.

+0

http://docs.wxwidgets.org/2.8/wx_wxglcanvas.html für wxGLCanvas. – aib

+0

Ich stimme der Empfehlung von wxWidgets zu. –

2

GLUT (GL Utility Toolkit) kommt fast zu dem, was Sie suchen. Es ist schnell und einfach und plattformübergreifend, obwohl es keine Menüleisten unterstützt. This page hat auch eine Anzahl von GLUT-ähnlichen Alternativen.

+0

GLUT ist ziemlich eklig (globale Variablen sind * so * 1999;) aber es ist überall OpenGL, was es zu der einfachsten Lösung macht, mit der es losgeht. – ephemient

+0

Globale Variablen * ROCK *. Siehe auch http://www.yosefk.com/blog/i-love-globals-o--google-core-dump.html –

0

SDL kann OpenGL Windows erstellen.

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

+0

Ich bin mir dessen bewusst, wie ich schon sagte, ich benutze SDL jetzt, aber es enthält nicht annähernd genug Features, um es für die Anwendungen nutzbar zu machen, die ich bald fertigstellen möchte. – Auraomega

+0

Hmm, wenn SDL nicht genug Funktionen für Sie hat, wird GLUT wahrscheinlich auch nicht gut sein. Was fehlt dir? – ephemient

4

Wenn Qt 4.5 kommt (später in diesem Monat, glaube ich) es wird LGPL sein, wenn Sie also ein paar Wochen warten können, können Sie Qt verwenden, ohne das Programm Open-Source.

+1

Ich würde Qt4 auch sehr empfehlen. Es ist viel reifer als wxWidgets und auch leistungsfähiger in seiner OpenGL-Integration. Sie können Qt anweisen, GL als Rendering-Backend zu verwenden, und es ist auch möglich, Qt-Malaufgaben auf einem QGLWidget auszuführen, d. H. Innerhalb eines GL-Kontexts. – ypnos

2

Für das sofort einsatzbereite Close-Button-fähige Fenster können Sie GLUT haben, wie bereits erwähnt, und wenn Ihre zusätzlichen GUI-Anforderungen wirklich einfach sind, GLUT kann Ihnen einiges bieten.

Sie könnten auch für einfache OpenGL gerenderten Menüs und Schaltflächen gehen, entweder mit NVidia Widgets oder AntTweakBar.

+1

Wenn er mit SDL nicht zufrieden ist, wie wird er mit GLUT zufrieden sein? Das heißt, ich gebe Ihnen immer noch eine +1 wegen der Empfehlung für gerenderte Widgets. –

1

Sie benötigen keine Unterstützung für OGL, solange Sie die Informationen richtig übergeben können. Unter Windows zumindest, wenn Sie eine Windowing-API haben, von der Sie HWND haken können, können Sie OGL so einrichten, dass es so ziemlich jedes gewünschte Fenster verwendet. Ich habe das erfolgreich mit wxWidgets und straight win32 gemacht. Ich kann dir mit anderen Plattformen nicht helfen, aber ich vermute, du kannst etwas Ähnliches tun.

Dies funktioniert auch mit D3D und ist eine gute Möglichkeit, Ihren Rendering-Code von Ihrer Fenster-API zu trennen.

+0

Ich habe das in der Vergangenheit auch mit GTK unter Linux gemacht. –

0

Es gibt zahlreiche gerenderte Widget-Bibliotheken wie jene, die rotoglup vorgeschlagen hat. Werfen Sie einen Blick auf CEGUI und QuickGUI, sie können Sie glücklich machen (obwohl CEGUI mich mit seinem Missbrauch von XML enttäuscht). Und hier ist ein schamloser Stecker: GLICT.