OpenGL

John C. Hart, 28 Aug. 2000

OpenGL is a graphics programming library for displaying 2-D and 3-D polygons. Most information can be found at the OpenGL web site:

OpenGL is based on a graphics pipeline, which is the assembly line of operations that need to occur in order to convert polygon vertices in space into pixels on the screen. For OpenGL, this pipeline consists of modeling and viewing transformations, lighting, projection, clipping, rasterization, visible surface determination (using a depth buffer) and shading. Most of OpenGL consists of setting up this pipeline into the desired state. Once this pipeline is correctly configured, polygons are described using 3-D space coordinates. These 3-D space coordinates are fed into the pipeline and the pipeline yields 2-D screen pixels that fill these polygons with the appropriate color.

OpenGL is probably OpenGL's core graphics routines are prefixed glXxx (where Xxx would be the function name), are identified in the header GL/gl.h and in the library libgl.a in Unix and opengl32.lib in Windows. In addition to OpenGL's core routines, some utility functions are also provided that build on the core routines for convenience. These utility functions are prefixed gluXxx, are identified in the header GL/glu.h and in the library libglu.a in Unix and glu32.lib in Windows. There is also a GL Utility Toolkit (GLUT) that provides access to the operating system to open windows and handle other processes. These functions are prefixed glutXxx. GLUT is not yet a part of the OpenGL distribution, so you may need to install it yourself. It can be downloaded from:

An OpenGL program that configures this pipeline can be found at: and a very simple GLUT-based geometry viewer C source file is available as: