References for material covered in lectures and needed to complete
the assignments. This page will be updated as the semester
When available, links are provided to full-text versions of the
material. If a dialog pops up asking for a username and
password use "ee4720" as the username and use the password
given in class. This does not apply to the ACM digital
Some of the material is copyrighted and requires a
subscription (e.g., ACM Digital Library) or one-time
payment for access.
The course will use material from the textbooks listed
below. The textbooks are not required and in some cases
only a chapter or two will be covered.
Linear Algebra Text
A free on-line linear algebra textbook, written by some of the
same authors as the Real Time Rendering text. A good resource
for brushing up on vectors, matrices, transformations, etc.
Version .73 does not seem to cover the projection transformations.
A good text covering a broad range of topics relevant to the class
including mathematics for 3D graphics (linear algebra in Appendix A,
transformations in Chapter 4, and intersections in Chapter 16), the
graphics software model (the rendering pipeline) and GPU organization
(Chapters 2 and 3), and many 3D graphics topics. The text
covers graphics topics in greater depth than is necessary for
the class. If you want to buy a book for the course, get this one.
The “Redbook” is a popular textbook covering the OpenGL
API. It is much better for beginners than the specifications described
further below in the Graphics Processor APIs section. An older edition of the text
is freely available, and there is a handy free reference
card (check your color ink levels before printing).
CUDA (Language for Non-Graphical Programming of NVIDIA GPUs)
NVIDIA CUDA (Compute Unified Device Architecture)
CUDA is an API for using a GPU for computation, the computation
might be part of a scientific or engineering simulation (the most
This programming guide describes CUDA itself but also provides
details of some NVIDIA GPUs, including the 8800 series.
Relatively little detail but does cover all major parts of the
processor. More information can be gleaned from the CUDA documentation
(under GPGPU, above). Also see the GeForce-8800-specific OpenGL extensions.