CUGL is a small graphics library designed to be used with OpenGL but not to replace it. Some graphics libraries provide an abstration layer over OpenGL, often providing an object oriented API to hide OpenGL's state-machine and function-based API. CUGL does not do this: instead, it provides additional functionality that may be useful for graphics applications.

Specifically, CUGL provides classes for geometry — Point, Line, and Plane — and for operations on geometric objects — Vector, Matrix, and Quaternion. There is a small hierarchy of classes that interpolate scalars, translations, rotations, and camera operations. There are also miscellaneous classes and other features, including simple models and a collection of material parameters.

A set of web pages generated by Doxygen provide reference documentation for CUGL. There is also a collection of example programs that illustrate the use of CUGL features. The library itself consists of just cugl.h and cugl.cpp.

The library is more up to date than the examples. Some of them may require minor tweaking.