Advertisement

GUI liblary C++

Started by April 22, 2015 11:10 AM
8 comments, last by Mritke 9 years, 7 months ago

Hi,

I am looking for lib that can handle GUI in engine. The drawing and logic parts are ready, i need library only to handle position, scale and hierarchy of elements(ex. "this element is part of that window and they are moving together"). Maybe to save/read info about gui in some file(like XML in WPF).

Lots of alternatives.
Did you Google, and what did you find?
Show us that you did your homework.

Too many projects; too much time

Advertisement

One interesting approach that I'd not seen very much of recently is to use a web-renderer. Websites are built for information presentation, and have a vast array of libraries in js and jquery for adding interactive elements. Many basic features are already in place. Rendering to your game instance would make it very quick to support UI within the game, and very maintainable.

I have used cef toolkit (https://bitbucket.org/chromiumembedded/cef) before and with some good results (not the easiest library to work with). There also couple or so derived projects from it that may be better solution, do not remember from top of my head, but I'm sure google will find it for you.

I did research. And i found few nice libraries. But usually they are strong cupled with graphic part, or got strange dependencies(i need it to be cross-platform). They are good to start project with them, but hard to integrate with custom render pipeline. I found one(http://www.alhem.net/project/gui/) in style that i need, its is quite old but i can learn some thing from it. Probably easiest way is to write my own code, modeled on the popular solutions and formats.

What alternatives did you rule out?

I am a big fan of CEGUI, but I realize that it is not everyone's cup of tea. Did you rule that one out?

If you want a GUI that is small and flexible and minimal, then maybe AntTweakBar?

Or perhaps imgui https://github.com/ocornut/imgui ?

Or something based on it? -> https://github.com/memononen/nanovg

Too many projects; too much time

Advertisement

CEGUI, GUIChan, Google and you will find.

On my current project, I started with Awesomium, but it was way too slow/bloated, so I've switched to libRocket... but it's still too complex for my liking and has weird performance spikes that I can't track down easily, so I'm also looking at other libraries to try out at the moment. Next on my list is Turbo Badger.

Is libRocket alive?

I like it, but it has a lot of quirks which doesn't seem to get fixed.

Too many projects; too much time

Thank for your help, guys. Turbobadger looks very promising. Rendering interfaces is very similar to my current one, so it should be easy to integrate. CEGUI looks good too.

Thx once more.

This topic is closed to new replies.

Advertisement