Graphix Windowing Toolkit

The Graphix Windowing Toolkit (Gwtk) extends the GLUT graphics toolkit for the development of cross platform GUI-based graphics applications. The new toolkit adds a complete set of widgets and controls for creating GUI based graphics programs.

Introduction

The Open Graphics Language (OpenGL) is a cross-platform specification for producing 3D computer graphics. OpenGL is based on IRIS GL which was developed at Silicon Graphics in the 1980's and has been available since 1992. Today, OpenGL is one of the premier graphics specifications and is supported by all major platforms and many video card manufacturers.

OpenGL defines graphics operations independent of the operating system or computer hardware. Additional hardware specific libraries are used to provide an interface between OpenGL and the hardware and between the user and the platform specific windowing system as illustrated below

An OpenGL program written for use on Microsoft Windows would use the WGL library for interfacing with the windowing system, while a program written for Linux and the X-Windows system would use the GLX library. The OpenGL code, however, would be the same for both systems.

The GL Utility Toolkit API (GLUT) was developed to provide an interface between OpenGL and the GLX graphics library on Unix systems. Today, it has become a standard part of OpenGL and is available as an interface on all major platforms including Microsoft Windows and Mac OS. GLUT provides the basic windowing environment needed to display graphical results from OpenGL. While it provides for keyboard, mouse and menu interaction, it lacks other common GUI components.

GLUT is one of the most commonly used toolkits when working with OpenGL, especially in the classroom due to it being available today on all major platforms. While GLUT is a good package and provides of the basic features for the creation of a an interactive graphics program, it lacks the basic tools for the creation of modern graphical user interface. While all major operating systems provide or make available the necessary API for the creation of GUI based interactive programs, they are not standard by any means. Some toolkits are available as platform dependent packages like Qt and wxWidgets. But, those were designed to be general purpose and are more complex than is typically needed with simple graphics programs.

Features

The Graphix Windowing Toolkit (Gwtk) is built on top of both GLUT and OpenGL and encapsulates the many features of the Glut package in addition to providing many new improvements. The entire library is Object-Oriented and written in C++. Though, it can be used in procedural-style programs. Gwtk provides a more comprehensive and better organized interface which allows users to focus on OpenGL and the graphical component instead of the user-interface.

Some of the features of Gwtk include:

  • Extends GLUT to provide a complete GUI interface with a large assortment of widgets and controls.
  • Provides a complete object-oriented structure and hierarchy for the window, dialog, and widget components.
  • Window events and callback routines are associated with a given window and are directed to specific methods making them easier to specify and use.
  • Live variables can be used with the widgets to automatically update variables and graphic scenes.
  • Constants types are encapsulated in enumerated values for better program style.
  • Includes popup dialogs for providing information and confirmations.
  • More error checking and easier recovery from errors.
  • Contains an application class which encapsulates the entire program and main graphics window as an object and removes the need of handling the complicated initialization details.

Documentation

An online reference generated directly from the source files using Doxygen is available.

Papers and Workshops

Necaise, R., Interactive Graphics using Open GL and the Graphix Windowing Toolkit. Journal of Computing Sciences in Colleges, vol. 22, no. 2, pp. 220 – 227, December 2006.

Necaise, R., The Graphix Windowing Toolkit, TARGUT 2006: Workshop on Undergraduate Teaching and Research in Graphics, June 2006, Denison University, Granville, OH.

Download

Gwtk is released under the MIT X-Windows License and is freely available for download.

  • glwtk.tgz
  • glwtk.zip
Print - Changes - Search
Last modified: May 06, 2008, at 12:08 PM.