Read more
This text shows step by step how to implement computer graphics concepts and theory with WebGL using the
EnvyMyCar (NVMC) framework as a consistent example throughout the text. This practical approach leads readers to draw the elements and effects needed to ultimately create a visually pleasing car racing game. The book explains how to handle 3D geometric transformations, texturing, complex lighting effects, and more. The code is available online.
List of contents
What Computer Graphics Is. The First Steps. How a 3D Model Is Represented. Geometric Transformations. Turning Vertices into Pixels. Lighting and Shading. Texturing. Shadows. Image-Based Impostors. Advanced Techniques. Global Illumination. Appendices. Bibliography. Index.
About the author
Fabio Ganovelli, Massimiliano Corsini, Sumanta Pattanaik, Marco Di Benedetto
Summary
Teach Your Students How to Create a Graphics Application
Introduction to Computer Graphics: A Practical Learning Approach guides students in developing their own interactive graphics application. The authors show step by step how to implement computer graphics concepts and theory using the EnvyMyCar (NVMC) framework as a consistent example throughout the text. They use the WebGL graphics API to develop NVMC, a simple, interactive car racing game.
Each chapter focuses on a particular computer graphics aspect, such as 3D modeling and lighting. The authors help students understand how to handle 3D geometric transformations, texturing, complex lighting effects, and more. This practical approach leads students to draw the elements and effects needed to ultimately create a visually pleasing car racing game. The code is available at www.envymycarbook.com
- Puts computer graphics theory into practice by developing an interactive video game
- Enables students to experiment with the concepts in a practical setting
- Uses WebGL for code examples
- Requires knowledge of general programming and basic notions of HTML and JavaScript
- Provides the software and other materials on the book’s website
Software development does not require installation of IDEs or libraries, only a text editor.
Additional text
"The book is presented in a very accessible fashion. The authors give many examples illustrating the notations and problems considered, making the learning easier. Every chapter ends with exercises, both theoretical and programming. The book is suitable for upper-level computer science/math/physics undergraduate students with at least basic programming skills and at least elementary understanding of linear algebra and calculus."—Krzystof Gdawiec, in Zentralblatt MATH 1308, 2015