Suche 2D Grafik- und GUI-lib für Projekt Fleet Commander



  • Hallo,
    für unser Projekt Fleet Commander (http://lars.ruoff.free.fr/fcom/) suchen wir eine passende Grafik- und GUI-lib.
    Anforderungen:
    C++, 2D, Platformunabhängig, OpenGL-basiert, GL-Viewport zum drin malen, Widget-System (Menü, Buttons, Listen, Tabs, ...), Widgets sollten skinnable bzw selbstgemalt werden können, leightweight/low footprrint.

    Folgende Kombinationen hab ich bis jetzt gefunden:

    # SDL + Guichan http://guichan.sourceforge.net/wiki/index.php/Main_Page or CEGUI http://www.cegui.org.uk/wiki/index.php/Main_Page
    # SFML http://www.sfml-dev.org/features.php + Guichan or CEGUI
    # OpenGL + GiGi http://gigi.sourceforge.net/index.php

    Ausgeschieden:
    # GTK+ - zu schwerfällig

    Kennt jemand eines dieser GL/GUI-Kits und hat Erfahrung damit?
    Kann jemand andere Libs empfehlen?



  • ob das nun unbedingt unter "lightweight" faellt, sei mal dahingestellt, aber Qt (qt.nokia.com) ist ein (IMHO) sehr gutes GUI-toolkit und bietet auch opengl-widgets, die man einfach in seinen programm benutzen kann (neben unzaehligen standard-widgets).

    mfg,
    julian



  • Julian__ schrieb:

    ob das nun unbedingt unter "lightweight" faellt, sei mal dahingestellt, aber Qt (qt.nokia.com) ist ein (IMHO) sehr gutes GUI-toolkit und bietet auch opengl-widgets, die man einfach in seinen programm benutzen kann (neben unzaehligen standard-widgets).

    Ja, Qt war zunächst auch auf der Auswahlliste, und schwebt zur Zeit zwischen "brauchbar" und "ausgeschieden" (wegen zu umfangreich).
    Zeichnet Qt denn seine Widgets selbst und kann man einfach das zeichnen überladen? (Ich meine jetzt keine "Skins" oder "Styles" sondern wirklich z.b. nen Button selber zeichnen).



  • Ich habe bisher mit SDL und SFML gearbeitet und kann letzteres empfehlen. SDL finde ich nicht sehr geeignet, da es in C geschrieben und relativ langsam ist, ausserdem bietet es einige wichtige Features nicht oder nicht direkt. SFML basiert auf modernem C++, ich persönlich finde die Bibliothek sehr benutzerfreundlich. Für GUI musst du allerdings ein zusätzliches Framework (eben z.B. Guichan oder CEGUI) nehmen.



  • scrontch schrieb:

    Julian__ schrieb:

    ob das nun unbedingt unter "lightweight" faellt, sei mal dahingestellt, aber Qt (qt.nokia.com) ist ein (IMHO) sehr gutes GUI-toolkit und bietet auch opengl-widgets, die man einfach in seinen programm benutzen kann (neben unzaehligen standard-widgets).

    Ja, Qt war zunächst auch auf der Auswahlliste, und schwebt zur Zeit zwischen "brauchbar" und "ausgeschieden" (wegen zu umfangreich).
    Zeichnet Qt denn seine Widgets selbst und kann man einfach das zeichnen überladen? (Ich meine jetzt keine "Skins" oder "Styles" sondern wirklich z.b. nen Button selber zeichnen).

    ja, du kannst einfach (finde ich, habe nicht wirklich den vergleich zu anderen frameworks) eine klasse vom entspr. widget ableiten (hier waere das wohl QPushButton) und das paintEvent reimplementieren.
    dann kannst du ganz alleine zeichnen, was du willst.
    wenn du dann keine rechteckigen formen hast und willst, dass z.b. mouse clicks wirklich _nur_ in der gezeichneten flaeche funktionieren, muesstest du ggf. noch die entspr. mousePress/-release/-move events reimplementieren.

    soweit ich das weiss (nie probiert, nur mal gelesen), kannst du auch das "graphics view framework" von Qt in deinen openGl-szenen nutzen (http://doc.trolltech.com/4.6/graphicsview.html#opengl-rendering ?).
    damit also auch die standard-widgets.

    hoffe (denke) das stimmt alles so, ansonsten bitte ich um korrektur.

    du hast aber recht, dass Qt eine ganze menge mitbringt, die ihr evtl. nicht braucht. wobei allerdings alle module von qt in eigene libs ausgelagert sind, die ihr dann einfach vernachlaessigen (und spaeter nicht mit ausliefern) koennt.

    mfg,
    julian


Anmelden zum Antworten