Interactive Computer Graphics is the only introduction to computer graphics text for undergraduates that fully integrates WebGL and emphasizes application-based programming. The growing excitement about WebGL applications and your ability to integrate HTML5, inspired the authors to exclusively use WebGL while creating the text. The top-down, programming-oriented approach allows for coverage of engaging 3D material early in the course, so students immediately begin to create your own 3D graphics, while the application programming interface (API) makes it easier to grasp key graphics topics, including 3-dimensional transformations, lighting and shading, client-server graphics, modeling and implementation algorithms.
The book falls significantly short as an educational resource. Surface-level treatment of crucial concepts is its main weakness - from inadequate coverage of fundamental mathematics (vectors, scalars, Euclidean space, and affine transformations) to a lack of detailed explanation of the WebGL API and graphics pipeline. Code snippets are presented without sufficient context, making them particularly challenging for beginners to grasp.
The book's intended audience and purpose remain unclear - it's too superficial for experienced graphics programmers seeking a reference, yet lacks the necessary detail and step-by-step explanations for self-learners. While it might serve as a supplementary text in a structured classroom environment with expert guidance, it's not recommended for independent study. Those attempting to learn computer graphics and its mathematical foundations would be better served by seeking more comprehensive resources that provide clearer connections between theory and practical implementation.
Not a good book for learning WebGL or graphics. Many topics are presented in an unorganized way. Unnecessary details over explain the obvious while other important items like quaternions are glossed over with very little detail. The same code will be reused for multiple examples per chapter with minor changes that aren't highlighted or commented. The choice of variable names makes the code hard to read. Very generic names like theta, phi, vertices, data and points are used in inconsistent ways without any comments to clarify their use in each program. Var theta is used for angles, orientation, lines, uniform locations...