We describe an interactive surface visualization tool implemented in C, OpenGL, and GLUT. The surface is represented by a set of triangles in Euclidean 3-space, thus allowing for unrestricted topology. Capabilities include color-filled contour plots (for the graph of a bivariate function) and surface perspective plots with lighting and smooth shading. Interactive zooms and axis rotations are executed with a single keypress or mouse motion. The advantage of this code over the many alternatives is that it is small, simple, portable, easy to install and use, and the source code is available if the user wishes to change defaults, add light sources, or whatever. (Source:

This software is also peer reviewed by journal TOMS.