This page intentionally left blank
Team LRN
3-D Computer Graphics
A Mathematical Introduction with OpenGL
This book is an introduction to 3-D computer graphics with particular emphasis
on fundamentals and the mathematics underlying computer graphics. It includes
descriptions of how to use the cross-platform OpenGL programming environment.
It also includes source code for a ray tracing software package. (Accompanying
software is available freely from the book’s Web site.)
Topics include a thorough treatment of transformations and viewing, lighting
and shading models, interpolation and averaging, B´ezier curves and B-splines, ray
tracing and radiosity, and intersection testing with rays. Additional topics, covered
in less depth, include texture mapping and color theory. The book also covers some
aspects of animation, including quaternions, orientation, and inverse kinematics.
Mathematical background on vectors and matrices is reviewed in an appendix.
This book is aimed at the advanced undergraduate level or introductory graduate
level and can also be used for self-study. Prerequisites include basic knowledge of
calculus and vectors. The OpenGL programming portions require knowledge of
programming in C or C++. The more important features of OpenGL are covered
in the book, but it is intended to be used in conjunction with another OpenGL
programming book.
Samuel R. Buss is Professor of Mathematics and Computer Science at the Univer-
sity of California, San Diego. With both academic and industrial expertise, Buss
has more than 60 publications in the fields of computer science and mathematical
logic. He is the editor of several journals and the author of a book on bounded
arithmetic. Buss has years of experience in programming and game development
and has acted as consultant for SAIC and Angel Studios.
Team LRN
Team LRN