GLUI User Interface Library
Author: Nigel Stewart, Paul Rademacher
Keywords: GLUI, OpenGL, GLUT, C++, User Interface

Version 2.2 Written by Paul Rademacher Maintained by Nigel Stewart |  | GLUI Homepage Sourceforge: Summary News Forums Bugs CVS Files Mirrors [at]

### Status

March 2005
GLUI website migration to SourceForge.
Some new features are being merged into CVS.

October 2003
GLUI is being migrated to SourceForge.
Source code is now available via CVS.
Help, developer, and open discussion forums have been established.
Bug Tracking is also available.

25th November 2002
Version 2.2 is available.
This is an update for gcc 3.2.
There are no feature enhancements or incompatibilities with 2.1.
Download GLUI 2.2

### What is GLUI?

GLUI is a GLUT-based C++ user interface library which provides controls such as buttons, checkboxes, radio buttons, and spinners to OpenGL applications. It is window-system independent, relying on GLUT to handle all system-dependent issues, such as window and mouse management.

Features of the GLUI User Interface Library include:

- Complete integration with GLUT toolkit
- Simple creation of a new user interface window with a single line of code
- Support for multiple user interface windows
- Standard user interface controls such as:
  - Buttons
  - Checkboxes for boolean variables
  - Radio Buttons for mutually-exclusive options
  - Editable text boxes for inputting text, integers, and floating-point values
  - Spinners for interactively manipulating integer and floating-point values
  - Static text fields
  - Panels for grouping sets of controls
  - Separator lines to help visually organize groups of controls
- Controls can generate callbacks when their values change
- Variables can be linked to controls and automatically updated when the value of the control changes ("live variables")
- Controls can be automatically synchronized to reflect changes in live variables
- Controls can trigger GLUT redisplay events when their values change
- Layout and sizing of controls is automatic
- Controls can be grouped into columns
- User can cycle through controls using Tab key

### What does GLUI look like?

Here's an example GLUI window, showing the different controls. This window is rendered entirely in OpenGL. It therefore looks the same on PCs, Macs, SGIs, and other Unixes, using either SGI's implementation of OpenGL, Microsoft's, or Mesa's.

### New in Version 2

GLUI version 2 includes the following new features and controls:

- GLUI controls within the main graphics window.
- Functions for cleanly destroying GLUI windows and subwindows.
- Functions for hiding and showing GLUI windows and subwindows.
- A sync_live_all() for automatically synchronizing all live variables in all GLUI windows simultaneously.
- Rollouts - collapsible panels for reducing screen clutter.
- Listboxes - allows the user to choose an item from a list of strings.
- Rotation and translation controllers - for easily receiving 3D interaction input from the user.

Here is a screenshot (from Windows) showing all the GLUI version 2.0 controls:

And another screenshot (from X-Windows/Mwm), showing the new features, including GLUI subwindows docked inside the main graphics window.

### Download GLUI

Version 2.2

- Source: glui_v2_2.tgz
- Source: glui_v2_2.zip
- DevPak: glui.2.2-1.DevPak
- Manual: glui_manual_v2_beta.pdf

Files hosted by SourceForge

Versions previous to GLUI 2.2 are available.

### License Information

GLUI is licensed under LGPL.

### Projects Using GLUI

- Doris - a script driven OpenGL viewer using Lua.

### Wish List

- Convert documentation to LaTeX
- Doxygen documentation
- Feature request: Floating controls over a 3D canvas

### Links

- Paul Rademacher's original GLUI page.
- European GLUI mirror page.
- GLUI freshmeat page.
- OpenGL.org