Although computer graphics games and animations have been popular for more than a decade, recently personal computers evolved to support real-time, realistic-looking interactive games. OpenGL, a technology standard to develop CG applications, has had incredible momentum in both the professional and consumer markets. Once only the domain of production houses, OpenGL has grown to be the standard for graphics programming on all platforms, personal computers, and workstations. Now more than ever, people are eager to learn about what it takes to make such productions, and how they can be a part of them. Current literature on how to make movies/games focus more on the technology (OpenGL, DirectX, etc) and their APIs rather than on the principles of computer graphics. However, understanding these principles is the key to dealing with any technology API. The aim of "Principles of Computer Graphics and OpenGL" is to teach readers the principles of computer graphics. Hands-on examples developed in OpenGL illustrate the key concepts, and readers develop a professional animation, following traditional processes used in production houses. By the end of the book, readers will be experts in the principles of computer graphics and OpenGL. They will be able to develop their own professional quality games via the same approach used in production houses.