Computer Graphics Through OpenGL
From Theory to Experiments

From geometric primitives to animation to 3D modeling to lighting, shading and texturing, Computer Graphics Through OpenGL®: From Theory to Experiments is a comprehensive introduction to computer graphics which uses an active learning style to teach key concepts. Equally emphasizing theory and practice, the book provides an understanding not only of the principles of 3D computer graphics, but also the use of the OpenGL® Application Programming Interface (API) to code 3D scenes and animation, including games and movies.

The undergraduate core of the book takes the student from zero knowledge of computer graphics to a mastery of the fundamental concepts with the ability to code applications using fourth-generation OpenGL®. The remaining chapters explore more advanced topics, including the structure of curves and surfaces, applications of projective spaces and transformations and the implementation of graphics pipelines.

Part II of the book introduces GPU massive parallelism. The same programs are parallelized on multiple Nvidia GPU platforms and the same performance analysis is repeated. Because the core and memory structures of CPUs and GPUs are different, the results differ in interesting ways. The end goal is to make programmers aware of all the good ideas, as well as the bad ideas, so readers can apply the good ideas and avoid the bad ideas in their own programs.

This book can be used for introductory undergraduate computer graphics courses over one to two semesters. The careful exposition style attempting to explain each concept in the simplest terms possible should appeal to the self-study student as well.


  • Covers the foundations of 3D computer graphics, including animation, visual techniques and 3D modeling
  • Comprehensive coverage of OpenGL® 4.x, including the GLSL and vertex, fragment, tessellation and geometry shaders
  • Includes 180 programs with 270 experiments based on them
  • Contains 750 exercises, 110 worked examples, and 700 four-color illustrations
  • Requires no previous knowledge of computer graphics
  • Balances theory with programming practice using a hands-on interactive approach to explain the underlying concepts

[Lire la suite]