Best SDL GUI library?

Started by
12 comments, last by superoptimo 14 years, 7 months ago
Hey guys, I've been creating an editor-like OpenGL app, which requires a lot of GUI. I'd been using AGAR, but it seems to have a few bugs and isn't very handy to work with because it feels so detatched from SDL, and you can't really control the positioning of widgets. So I'm wondering what you all use? :)
Advertisement
Qt, maybe? Has tight OpenGL support, and can even draw resizable widgets into the same layer as OpenGL.
Yes, AGAR has several design faults. Not recommended.

CEGUI is the most mature and feature-complete GUI library for OpenGL games:
CEGUI


But if you want something simple and easy to embed, take a look to AntTweakBar:

AntTweakBar

However, there isn't a best GUI at the moment. I'm still looking for a GUI that can fulfill my needs. Most of the known GUIs (CEGUI, GUIchan, Ant) are pixel based, and the controls are very dependant of the screen resolution.

I'm looking for a Vector-based solution, with scalar units rather than pixel based. The main concern is to find a GUI library 3D based, not pixel based. A 3D GUI which supports rotations, zooming etc. Would be nice something like Scaleforms but opensource.

May the Ghost gui system in Blender is closer what I want.



Quote:Original post by superoptimo
CEGUI is the most mature and feature-complete GUI library for OpenGL games


[citation needed]
Quote:Original post by phresnel
Quote:Original post by superoptimo
CEGUI is the most mature and feature-complete GUI library for OpenGL games

[citation needed]


Do you know a better alternative to CEGUI?


Quote:Original post by phresnel
Quote:Original post by superoptimo
CEGUI is the most mature and feature-complete GUI library for OpenGL games


[citation needed]


[me and really anyone else who's ever used an in-game GUI library]
Quote:Original post by nullsquared
Quote:Original post by phresnel
Quote:Original post by superoptimo
CEGUI is the most mature and feature-complete GUI library for OpenGL games


[citation needed]


[me and really anyone else who's ever used an in-game GUI library]


[Incomplete and unclosed theorem from your side: Only because you have used CEGUI, it doesn't mean you know about every other widget toolkit. You can only know if you have evaluated multiple or all of the other toolkits, or if you've found a serious comparison or some articles in which you believe.

But neither did you state you have tested more than CEGUI only, nor did you cite serious resources.]

Quote:Original Post by superoptimo
Do you know a better alternative to CEGUI?


I don't but Qt, where you can pipe every widget (including webkit components, e.g.) into a QGraphicsView, which can happen to be an OpenGL view. Admittedly, stretching, if needed, can be ugly, plus I am not sure how accelerated, if any, those widgets are. But if you need a full GUI inside an OpenGL screen, I can only recommend it, I can only guess that Qt supports way more and flexible widgets than CEGUI does. One big feature is the support of cascading style sheets for widgets, which make the whole thing extremely (runtime-)customizable.

Finally: It generally smells if someone claims that some entity X is the best or most mature or (insert superlative of your choice) thing on earth. Imho (and in the opinion of many others), such claims need citations, e.g. a link to a serious comparison.

[Edited by - phresnel on August 24, 2009 3:48:15 AM]
Thanks phresnel, I was thinking wrong about Qt, may because that I was comparing it to a similar Widget Toolkit (F.E. WxWidgets, I'm more experienced in this toolkit ).

But tell me more about Qt, does it support rendering widgets to an offscreen texture? does it use the Framebuffer Object extension?
Quote:Original post by phresnel
[Incomplete and unclosed theorem from your side: Only because you have used CEGUI, it doesn't mean you know about every other widget toolkit. You can only know if you have evaluated multiple or all of the other toolkits, or if you've found a serious comparison or some articles in which you believe.

But neither did you state you have tested more than CEGUI only, nor did you cite serious resources.]


I've tested CEGUI, Qt, native win32 controls, as well as Ogre specific GUI's BetaGUI, QuickGUI, MyGUI, and Ogre's own overlay system. I ended up writing my own GUI as none of the above were implemented as per-se my application design required. Considering I'm the last person who would write his own solution when many others exist, I can assure that I've evaluated most of the competition. Feature and maturity wise, as per superoptimo's post, CEGUI wins hands down for an in-game GUI. Qt can indeed render directly to an OpenGL window, but the benefits are questionable and one cannot render the Qt widgets to an OpenGL texture for other than on-screen use (unlike CEGUI).

Quote:
But tell me more about Qt, does it support rendering widgets to an offscreen texture? does it use the Framebuffer Object extension?

See above: no, it's not possible - by default. If you'd like to write your own painting device for Qt (which is a pain), then it would be possible. However considering I chose writing my own GUI over writing a custom Qt painting engine, I can assure it's not a fun process.
About Qt, it seems to me very "Bloated". Too heavy to embed in a game.

Also I was thinking in writing my own GUI system, better integrated to my rendering Scene graph engine. I was thinking so because I want a truly in-game 3D gui, more flexible, more parametrizable, and lighter than other toolkits like CEGUI.

This topic is closed to new replies.

Advertisement