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

Version 2.35 Written by Paul Rademacher Maintained by Nigel Stewart and Bill Baxter |  | GLUI Homepage Sourceforge: Summary News Forums Bugs CVS Files

### Status

July 2006
After about a year of GLUI 2.3 sitting around in CVS, finally a new official release! We've skipped right past 2.3 and gone straight to GLUI 2.35 (release notes).
GLUI 2.35 includes not only the never-released changes made for 2.3, but also several tasty new improvements submitted by Alain Daurat and Orion Sky Lawlor.

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

### 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.

This screenshot (from Windows) shows the new widgets in GLUI 2.3, including scrollbars, a list widget, an area text widget, and a simple file browser.

### Download GLUI

Version 2.35

- Source: glui-2.35.tgz
- Source: glui-2.35.zip
- OS X: GLUIFramework.pkg.tgz (Packaged by Luke Cyca)

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.
- GLUI freshmeat page.
- OpenGL.org