needed: Ogre lightweight GUI system

A place for users of OGRE to discuss ideas and experiences of utilitising OGRE in their games / demos / applications.
Post Reply
SuperNess
Kobold
Posts: 39
Joined: Wed Feb 12, 2014 12:52 am
x 9

needed: Ogre lightweight GUI system

Post by SuperNess »

hello all!

I'm working on an ogre project and need some basic GUI for my game's level editor. something pretty basic, not too complicated.
I searched ogre wiki and this forum and there are essentially bazzilion of ogre gui libs and all of them are kind of old. I tried ogre trays but its functionality is insufficient and I don't want to use OIS (I'm using SFML for input).

so my question is this - can you recommend me a lightweight GUI system that works nicely with Ogre and provide at least a little more than trays?
bonus:
1. don't require OIS.
2. takes less than million lines of code to integrate.
3. written / maintained recently
4. free license (or at least affordable :))

thanks in advance :wink:
(PS just to be clear I know this page: http://www.ogre3d.org/tikiwiki/tiki-ind ... on+of+GUIs but I'm looking for personal recommendation that will help me get focused)
User avatar
Thyrion
Goblin
Posts: 224
Joined: Wed Jul 31, 2013 1:58 pm
Location: germany
x 8

Re: needed: Ogre lightweight GUI system

Post by Thyrion »

SuperNess wrote:I'm working on an ogre project and need some basic GUI for my game's level editor. something pretty basic, not too complicated.
I searched ogre wiki and this forum and there are essentially bazzilion of ogre gui libs and all of them are kind of old. I tried ogre trays but its functionality is insufficient and I don't want to use OIS (I'm using SFML for input).
but I'm looking for personal recommendation that will help me get focused
welcome to the sfml club! :)
finding the right GUI for your needs isn't easy.
- MYGUI (openmw),CEGUI(some ogre games) - seems to be the most used GUI systems here. I don't use them because i find them to big(source code)... i want a gui system as simple and fast as sfml. ^^
CEGUI is older, but MYGUI seems to fit better for ogre (just my personal opinion)
- Gorilla is a nice graphics lib. Small,simple and fast. But doesn't provide a GUI system.
- i started with GUI3D, but as soon as you want to customize the gui or load your data from files, you need to rewrite it. Also i don't like the control creation with one manager class.
- Novembers kiUi looks promising because it's based on gorilla. Till now he didn't opensource it.

in short:
if you want an ingame editor in c++ you need much controls. so the only options are: CEGUI,MYGUI eventually KiUI or you use a HTML GUI like Wolfire.

I choosed wpf for the level/game editor. Currently i'm modifying SFGUI, that i can use gorilla. Till now i like it.
SuperNess
Kobold
Posts: 39
Joined: Wed Feb 12, 2014 12:52 am
x 9

Re: needed: Ogre lightweight GUI system

Post by SuperNess »

thanks mate, you narrowed down my list a little 8)
from what I've read CEGUI looks promising, but like you said its kinda big and I'm currently struggling with its compiling process (probably wrong boost version or some other silly mistake :lol: )

I think my next move would be to compare CEGUI and GUI3D.

would love to hear more if anyone got anything to add
frostbyte
Orc Shaman
Posts: 737
Joined: Fri May 31, 2013 2:28 am
x 65

Re: needed: Ogre lightweight GUI system

Post by frostbyte »

i recommend myGui for its great integration with ogre and its not that big code-base
myGUI is very friendly and quite easy to use... 8)
CEGUI i could'nt even compile the behemoth on windows to use ogre, i've spent a whole week on this 2 years ago and almost had a nerv-breakDown :lol:

broadning your option is using SDL or SFML windowing system with ogre and using gui libs based on this libraries...
i've also found some other "renderless" gui libs on the web, but nothing with added value...
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..

coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
User avatar
Herb
Orc
Posts: 412
Joined: Thu Jun 04, 2009 3:21 am
Location: Kalamazoo,MI
x 38

Re: needed: Ogre lightweight GUI system

Post by Herb »

I've used MyGUI and CEGUI extensively, and for an easy to use with features package that works well with Ogre, I'd definitely go with MyGUI. CEGUI can be a little painful to get going and for defining themes. MyGUI just compiles right in and pretty much works out of the box. The newest versions of MyGUI have some really nice tools too for layout and such.
SuperNess
Kobold
Posts: 39
Joined: Wed Feb 12, 2014 12:52 am
x 9

Re: needed: Ogre lightweight GUI system

Post by SuperNess »

broadning your option is using SDL or SFML windowing system with ogre and using gui libs based on this libraries...
- I integrated SFML in a way that Ogre still use an ogre window, the SFML is just for reading mouse/keyboard/joystick states. out of curiosity - did you manage to use an SFML window and render 2d with SFML on top on Ogre rendering?

anyway based on the comments I got here I am now focusing my efforts on MyGUI (although I managed to compile CEGUI and it was very satisfying).
I will report back in few days to give my personal impression.

thank you all :D
frostbyte
Orc Shaman
Posts: 737
Joined: Fri May 31, 2013 2:28 am
x 65

Re: needed: Ogre lightweight GUI system

Post by frostbyte »

out of curiosity - did you manage to use an SFML window and render 2d with SFML on top on Ogre rendering?
never used sfml, but thyrion did http://www.ogre3d.org/forums/viewtopic. ... 52#p509076
you'll have to wait for his response on the 2d over thing...but from my experiance most windowing systems are designed for such integration...
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..

coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
User avatar
Thyrion
Goblin
Posts: 224
Joined: Wed Jul 31, 2013 1:58 pm
Location: germany
x 8

Re: needed: Ogre lightweight GUI system

Post by Thyrion »

nope ... i don't use the sfml graphics lib.
but this guy seems to have a working example:
http://www.ogre3d.org/forums/viewtopic.php?f=1&t=79384
frostbyte
Orc Shaman
Posts: 737
Joined: Fri May 31, 2013 2:28 am
x 65

Re: needed: Ogre lightweight GUI system

Post by frostbyte »

ha, the notorious flickering problem, i was able to solve this on some "windowing" system that gave me this problem, but it involved some very ugly hacks...
problem comes from backbuffer switching loop...any way i eventualy ditched it
so in sfml case thats a no go...just use myGUI...some features are missing but atleast its a smooth sail...
problem with gui systems is their isn't a magic bullet, iv'e changed gui systems atleast 5 times...i hope myGui is a safe haven...

Edit: ok, seams like sfml flckering problem dont go so deep and was resolved http://www.ogre3d.org/forums/viewtopic.php?f=2&t=80678
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..

coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
SuperNess
Kobold
Posts: 39
Joined: Wed Feb 12, 2014 12:52 am
x 9

Re: needed: Ogre lightweight GUI system

Post by SuperNess »

OK after going through the 9 rings of hell also known as "MyGUI compiling process", I came back with the following conclusions:

1. don't try to compile MyGUI yourself.
2. DONT TRY TO COMPILE MYGUI YOURSELF. get it here: http://www.ogre3d.org/forums/viewtopic.php?f=4&t=69274
3. very simple, easy to use, and easy to setup.
4. nice and tight API. some deprecated functions and undocumented stuff ("tbd document this"...), but still pretty clear.
5. no good tutorials (or at least haven't found them yet), but the API on its own is clear enough to make up for that.
6. so far looks like a promising gui system. managed to do a lot with it in a very short time.

bottom line is: looks good :D recommend trying it out.
thanks anyone for helping me find a nice gui system, so far this looks like the right choice.

cheers!
User avatar
Daixiwen
Greenskin
Posts: 105
Joined: Fri Feb 08, 2013 11:30 am
Location: Oslo
x 16

Re: needed: Ogre lightweight GUI system

Post by Daixiwen »

I had less trouble compiling myself MyGUI than CeGUI :D
Hardware, n.: part of the computer you can kick
User avatar
Herb
Orc
Posts: 412
Joined: Thu Jun 04, 2009 3:21 am
Location: Kalamazoo,MI
x 38

Re: needed: Ogre lightweight GUI system

Post by Herb »

Agree with Daixiwen that I don't remember compile issues with mygui... On Linux, you can even just apt-get install them. :)

@Superness - I do agree with you on the tutorials with mygui. There are some great example programs to look at, but if you want to do something more complex like an editor, I found it hard to understand the best way to do that... I tried looking at the source of the mygui tools themselves, but the code is a bit hard to follow without better understanding on how mygui works. But, I do think on a whole, it's the fastest way to implement something UI related. I'm using Qt for my editor, and it's a love / hate relationship as you can do a lot with Qt, but the build system to have it cross-platform in my app with Ogre and just the integration piece can be painful to develop and maintain.
SuperNess
Kobold
Posts: 39
Joined: Wed Feb 12, 2014 12:52 am
x 9

Re: needed: Ogre lightweight GUI system

Post by SuperNess »

@Daixiwen, @Herb maybe it was just bad luck but everything that could go wrong with the compile - went wrong, and when I did manage to compile it somehow I ended up with crashing dlls. I'm glad to see its just me :lol:
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: needed: Ogre lightweight GUI system

Post by jacmoe »

This is a topic which resurfaces once or twice each year, always with the same solution/answer. ;)

Personally, I never had a problem with getting CEGUI up and running, but I won't deny that MyGUI is quite good.
And almost as powerful and flexible as CEGUI.
Each to his own.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Transporter
Minaton
Posts: 933
Joined: Mon Mar 05, 2012 11:37 am
Location: Germany
x 110

Re: needed: Ogre lightweight GUI system

Post by Transporter »

I never had problems to compile MyGUI! But I had a lot of trouble with CEGUI. If you like it simple, you can also look at librocket. I use it in all my current projects. It's a HTML like syntax.
Ident
Gremlin
Posts: 155
Joined: Thu Sep 17, 2009 8:43 pm
Location: Austria
x 9
Contact:

Re: needed: Ogre lightweight GUI system

Post by Ident »

Transporter wrote:I never had problems to compile MyGUI! But I had a lot of trouble with CEGUI. If you like it simple, you can also look at librocket. I use it in all my current projects. It's a HTML like syntax.
What were the troubles you had with CEGUI? We have a very active forum and we managed to help everybody to get it to build, most people manage it on their own anyways. I also improved the CEGUI + Ogre build guide on the Wiki a lot in the last months and I believe it is pretty clear now how things have to be configured: http://cegui.org.uk/wiki/Building_CEGUI ... reRenderer
There were some issues with boost which was not directly our fault. The issue is also that Ogre can be configured in different ways. I tried to describe solutions for either of these problems in the article. I believe things got a lot better in that respect and we also improved the CMake files for this purpose.
User avatar
Daixiwen
Greenskin
Posts: 105
Joined: Fri Feb 08, 2013 11:30 am
Location: Oslo
x 16

Re: needed: Ogre lightweight GUI system

Post by Daixiwen »

Yes the problems I got were with boost. I'm not that familiar with CMake so I had to look up quite a few things before finding out what to change in the CMake parameters to get CeGUI to configure/compile properly.
I'm not qualified to say whether this is "not directly your fault", but as a end user all I see is that on my system MyGUI compiles straight out of the box while CeGUI doesn't. ;)

Compiling Ogre with boost is quite common, so it could be a good idea to include a readme file with CeGUI describing the steps required to compile CeGUI in that configuration, if this can't be automated in Cmake.
Hardware, n.: part of the computer you can kick
User avatar
Daixiwen
Greenskin
Posts: 105
Joined: Fri Feb 08, 2013 11:30 am
Location: Oslo
x 16

Re: needed: Ogre lightweight GUI system

Post by Daixiwen »

okay never mind, ignore my last comment on the readme file, I just read your wiki link and it looks like it's well described now. I don't think it was that clear the last time I tried to compile CeGUI.
Hardware, n.: part of the computer you can kick
Ident
Gremlin
Posts: 155
Joined: Thu Sep 17, 2009 8:43 pm
Location: Austria
x 9
Contact:

Re: needed: Ogre lightweight GUI system

Post by Ident »

Daixiwen wrote:okay never mind, ignore my last comment on the readme file, I just read your wiki link and it looks like it's well described now. I don't think it was that clear the last time I tried to compile CeGUI.
Yea I walked a couple of people through the wiki article and everytime something unclear was encountered i added more info or changed what was written. THat way the article has changed a lot since. I think it is pretty clear now and I believe almost everybody should be able to create a solution now without issues.

For the future I have planned to make a minimal example of an Ogre application. This will be created optionally in CEGUI's CMake and people can theoretically take it as a base for their program. Currently we have a glfw3 and SDL2 base sample in the works, they are almost done.
Transporter
Minaton
Posts: 933
Joined: Mon Mar 05, 2012 11:37 am
Location: Germany
x 110

Re: needed: Ogre lightweight GUI system

Post by Transporter »

Ident wrote:There were some issues with boost which was not directly our fault. The issue is also that Ogre can be configured in different ways. I tried to describe solutions for either of these problems in the article. I believe things got a lot better in that respect and we also improved the CMake files for this purpose.
I had this problem and a discussion about it. Maybe it's fixed now, but I don't care about it. I'm using libRocket + lua and Ogre 2.x at the moment.
Post Reply