This directory includes the programs from Angel: Interactive Computer Graphics,
Addison-Wesley, 1996 as lisited in Appendix C (with minor corrections).
All are in the tar file programs.tar. The Makefile can be used on most standard
SGI installations.

The programs that follow use the GLUT library for interfacing with
the window system. The naming of the functions follow
the OpenGL Programmer's Guide and  the GLUT Users Guide.
These programs share much of the same code. You should find functions,
such as the reshape callback, the initialization function, and the main
function, almost identical across the programs. Consequently, only
the first instance of each function contains extensive comments.

In all these programs, illustration of graphical principles, other than
efficiency, was the most important design criteria. You should find
numerous ways both to extend these programs and to make them
run more efficiently. In some instances, the same visual results can be
generated in a completely different manner, using OpenGL capabilities
other than the ones we used in the sample program.

The programs include:

gasket.c: A program that generates 5000 points on the Sierpinski gasket
from Section 2.7

square.c: A program that illustrates the use of mouse with GLUT, as
discussed in Section 3.5. Note as compared to the book, this program
has a display routine added to it that is required by GLUT3.0.

paint.c:  The simple paint program that we developed in Section 3.8

cube.c: The rotating--cube program from Section 4.9

cubeview.c: The walk--through program from Section 5.6

sphere.c: The program that generates approximations to a sphere
by recursive subdivision generation from Section 6.6

robot.c: A program that moves the  simple robot from Section 8.3

figure.c: A program that moves the figure from Section 8.4

teapot.c: A program that generates approximations to  the Utah teapot by
recursive subdivision as discussed in Section 9.10

mandelbrot.c: A program that generates approximations to the Mandelbrot
set as discussed in Section 10.7

