History: Comparison of GUIs
Preview of version: 33
- «
- »
- Add Integrating OpenGUI
- Add column for year/month of last release?
To see what's out of date - Add Miyagi? (only for Mogre)
- Add AntTweakBar GUI
Table of contents
Overview
List of GUI's
| Name | Creator | First release | Latest Version | Cost US$ | License | Open source | Platforms |
|---|---|---|---|---|---|---|---|
| CEGUI | Crazy Eddie | 0.1.0 | 0.7.1 | free | MIT License | yes | win32/Linux/MacOS X |
| BetaGUI | Betajaen | 1.0'1 | 1.0'15 | free | Public Domain | yes | Any |
| buttonGUI | metaldev | 1.0 | 1.2 | free | LGPL License | yes | Any |
| MyGUI | my.name | 1.3 | 3.0.0 | free | LGPL License | yes | Windows/Linux/Mac |
| QuickGUI | KungFooMasta | ?? | 9.10 | free | MIT License | yes | Windows/Mac/Linux |
| Navi | ajs15822 | 1.0 | 1.5 | free | LGPL License | yes | ?? |
| Hikari | ajs15822 | 0.2 | 0.3 | free | LGPL License | yes | Windows |
| Right BrainGUI | Right Brain Games |
0.1.0 | 0.1.3 | free | LGPL License/Commercial | yes | ?? |
| libRocket | Wandering Monster Studios |
1.0 | 1.1 | free/ $250.00/ $3000.00 |
libRocket License | no | Windows/Mac/Linux |
| Tiny GUI | Tubras LTD | ?? | ?? | free | MIT License | yes | ?? |
Features
Supported Widgets
| Name | StaticText | StaticImage | ProgressBar | Button | Checkbox | Spinner | Editbox | Slider | Scrollbar |
|---|---|---|---|---|---|---|---|---|---|
| CEGUI | yes | yes | yes | yes | yes | yes | yes | yes | yes |
| BetaGUI | yes | no | no | yes | no | no | yes | no | no |
| buttonGUI | yes | yes | no | yes | no | no | yes | yes | no |
| MyGUI | yes | yes | yes | yes | yes | no | yes | yes | yes |
| QuickGUI | yes | yes | yes | yes | yes | no | yes | yes | yes |
| Navi | yes | yes | yes* | yes | yes | yes* | yes | yes* | yes |
| Hikari | yes** | yes** | yes** | yes** | yes** | yes** | yes** | yes** | yes** |
| Right Brain GUI | yes | yes | yes | yes | yes | yes | yes | no | yes |
| libRocket | yes | yes | no | yes | yes | no | yes | yes | yes |
| Name | MultiLineEditbox | RadioButton | Listbox | Combobox | MultiColumnList | TabControl | Menu | Popup_Menu | Window | RenderBox |
|---|---|---|---|---|---|---|---|---|---|---|
| CEGUI | yes | yes | yes | yes | yes | yes | yes | yes | ?? | ?? |
| BetaGUI | no | no | no | no | no | no | no | no | yes | no |
| buttonGUI | no | no | no | no | no | no | no | no | yes | displays .mesh |
| MyGUI | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
| QuickGUI | no | yes | yes | yes | no | no | no | no | ?? | ?? |
| Navi | yes | yes | yes | yes* | yes | yes* | yes* | yes* | ?? | ?? |
| Hikari | yes** | yes** | yes** | yes** | yes** | yes** | yes** | yes** | ?? | ?? |
| Right Brain GUI | yes | yes | yes | yes | no | no | yes | no | ?? | ?? |
| libRocket | yes | yes | yes | yes | yes | yes | no | no | yes | ?? |
* Created from basic elements via Javascript
** Can use anything Macromedia Flash/Flex can
Other Features
| Name | Cache_To_Texture | Batching | Animation | Scripting | Custom_Widget | Layout_from_file | Multicoloured_text | 64_bit_support |
|---|---|---|---|---|---|---|---|---|
| CEGUI | yes** | yes | no | Lua | yes | yes+editor | ?? | ?? |
| BetaGUI | no | no | no | no | yes | no | no | ?? |
| buttonGUI | no | no | yes | no | yes | no | yes | ?? |
| MyGUI | yes* | yes | yes | no | yes | yes+editor | yes | yes |
| QuickGUI | no | yes | yes | no | yes | ?? | ?? | ?? |
| Navi | yes | no | yes | JS & Lua | yes | ?? | ?? | ?? |
| Hikari | yes | yes (basic) | yes | ActionScript | Flash/Flex components |
yes | yes | ?? |
| Right Brain GUI | yes | yes | yes | no | yes | ?? | ?? | ?? |
| libRocket | no | no | no | Python | yes | yes | yes | ?? |
* Optional, disabled by default.
** In v0.7 or later.
Cache To Texture: Widgets contained within a window are rendered to a texture when they need updating. When no updating occurs, the whole window is rendered as a single quad thus providing optimal performance.
Batching: Widgets are grouped together into a single render operation instead of rendering each widget as a separate render operation. This reduces the time taken to render.
Animation: Animated widgets, look changes over time (e.g. button smoothly changing color on rollover, etc...)
Scripting: Some form of scripting language (e.g. Lua, Javascript, Python, etc...) can be used to handle events.
Custom Widget: Allows the user to define their own widgets to supplement the supported widget set.
Layout from file: Possibility to load GUI layout from file instead of creating each widget in code.
Multicoloured text: Possibility to colour different parts of text with different colours.
64 bit support: GUI works on 64 bit's platforms.
Alias: Comparison_of_GUIs