2009-07-09 9 views
3

Ich suche nach einem Multi-Plattform-OpenGL-Framework, das die Erstellung von Windows und Gl-Kontexte in C++ abstrahiert. Ich hätte gerne eine OO-Darstellung von Window, Context & co, wo ich ein Fenster instanziieren, einen Kontext erstellen und vielleicht später das Fenster auf Vollbild setzen kann.C++ OpenGL-Fenster und Kontexterstellung Framework/Bibliothek

Ich denke darüber nach, dies für xgl, wgl und agl zu implementieren. Aber bevor

Also hier die Frage kommt:

Welche/Frameworks Bibliotheken sollte ich zuerst überprüfen, bevor das Rad neu zu erfinden?

Edit: Bisher genannt Bibliotheken:

+0

Ich verwende GLUT und WXWidgets erfolgreich in zwei separaten Projekten. Der einzige Nachteil von GLUT unter Win32 besteht darin, dass es ein DOS-Fenster öffnet - gut, um alle printfs zu sehen, aber es sieht nicht so professionell aus, eine App zu haben, die dieses Fenster öffnet. –

+1

@Jim: Das ist ein bisschen in der ausführbaren Datei, die leicht mit 'editbin' geändert werden kann, und ist normalerweise ein Artefakt der Kompilierungsflaggen? – ephemient

+0

Hmm, könnte sein, ich wäre neugierig, wenn es so einfach wäre. In meinem Fall ist es nur ein Win32-Referenz-Build für ein Konsolenspiel, also habe ich mich nicht zu sehr damit befasst. Zu Debugging-Zwecken mag ich sogar die printfs. –

Antwort

3

SMFL ist ein anderer, ähnlich wie SDL, aber nimmt einen objektorientierten Ansatz.

+1

Dies klingt vielversprechend (ihre Seite sagt: SFML besteht aus mehreren Paketen, die perfekt zu Ihren Bedürfnissen passen. Sie können SFML als ein minimales Fenstersystem für OpenGL oder als eine voll ausgestattete Multimedia-Bibliothek zum Erstellen von Spielen oder interaktiven Programmen verwenden .). – Christoph

+0

Ich werde es selbst implementieren - aber da ich denke, ich kann einige der SMFL-Code wiederverwenden, werde ich diese Antwort akzeptieren – Christoph

+1

SFML ist schön. Es unterstützt nicht (oder vielleicht auch nicht) das Erstellen von Kontexten mit Schablonenpuffern, aber hey, Sie können den Code bearbeiten. – kibibu

6

Sie bei Glut (C) aussehen könnte, Qt (C++), SDL (C).

+0

Ich habe bereits mit Überangebot gearbeitet (es war schön für die kleinen OpenGL-Beispiele zurück an der Universität, aber ich denke, es passt nicht in ein größeres Projekt). Die Qt-API scheint nett zu sein - aber ich mag den Gedanken nicht, eine Abhängigkeit von Qt einzuführen. Es scheint Schwergewicht für meine Bedürfnisse. Das Gleiche gilt für SDL. – Christoph

+1

Es gibt auch http://GtkGLExt.sf.net – ephemient

+0

@Christoph: Ich kann völlig verstehen, was Sie meinen. In einer Inhouse-Lösung für einen früheren Arbeitgeber musste ich ein ähnliches Problem lösen. Die ersten Versuche benutzten die oben erwähnten Plattformbindungen. Nach etwa einem Jahr bin ich zu Ihrer Idee übergegangen, Plattformspezifikationen selbst zu implementieren. –

3

wxWidgets ist eine andere Alternative, kann aber auch zu schwer sein.

0

libapril ist auch nett. Es ist sauber, einfach und unterstützt neuere mobile Plattformen.