I finally took some time to look into CEGUI. This is a great library! Exactly what I was looking for: It provides a very well designed API to build GUIs, using any renderer (and of course OpenGL and DirectX are among them). I did, years ago, spend some time designing a GUI, but I am really happy to take this load of my shoulders now :-)
It really wasn't hard to compile and use it. Let me give a few hints for those who would like to start using CEGUI with Visual C++ under Windows (and with DirectX).
All downloads are on:
I had to recompile CEGUI since the precompiled binaries did use a version of DirectX older than the latest available. And anyway, it is good to have the source code on hand, as it acts as a good documentation :-)
- Download the zipped source code and the precompiled external dependencies (available for all three versions of VC++ - nice!)
- Uncompress everything in a same directory.
- Follow instructions on http://www.cegui.org.uk/wiki/index.php/Build_from_Source_for_Win32
Yes, you need premake, it will generate the "*.sln" projects in makefiles/premake. You have to enable DirectX support by editing "config.lua" and setting "DIRECTX9_RENDERER = true". Then launch "build_vs2005.bat", open the VC++ project and compile. Also generate the samples project with "build_samples_vs2005.bat".
- To run the samples, copy the DLLS from lib\ into bin\. I also had to copy datafiles\ into the root of my CEGUI install to be able to directly launch the samples from bin\.
Now a couple links I found handy when doing my first steps with CEGUI:
- The Widget Galor: http://www.cegui.org.uk/wiki/index.php/WidgetGalore. A big sample with all widgets.
- Xadec page on CEGUI http://artis.imag.fr/~Xavier.Decoret/resources/CEGUI/.
But of course, the CEGUI Wiki contains a ton of useful information!