This introduction to 3D computer graphics emphasizes fundamentals and the mathematics underlying computer graphics while also covering programming techniques using OpenGL a platform-independent graphics programming environment. The minimal prerequisites make it suitable for self-study or for use as an advanced undergraduate or introductory graduate text as the author leads step-by-step from the basics of transformations to advanced topics such as animations and kinematics. Accompanying software including source code for a ray tracing software package is available freely from the book''s web site.