This updated third edition illustrates the mathematical concepts that a game developer needs to develop 3D computer graphics and game engines at the professional level. It starts at a fairly basic level in areas such as vector geometry and linear algebra, and then progresses to more advanced topics in 3D programming such as illumination and visibility determination. Particular attention is given to derivations of key results, ensuring that the reader is not forced to endure gaps in the theory. The book assumes a working knowledge of trigonometry and calculus, but also includes sections that review the important tools used from these disciplines, such as trigonometric identities, differential equations, and Taylor series.
The third edition expands upon topics that include projections, shadows, physics, cloth simulation, and numerical methods. All of the illustrations have been updated, and the shader code has been updated to the latest high-level shading language specifications.
I've recently started working through the OpenGL SuperBible (yes, I know I'm late. But it's still great fun.) and often found myself unable to follow an explanation or wonder how they got to some formula or other.
Fortunately, I had the good sense some years ago, to buy "Mathematics for 3D game programming". It's a great book (if you're in to that kind of thing) and the title really covers the contents.
The math 'intro' (3 chapters) is an in depth review of vectors, matrices and tranformations (concept > theorem > proof) so that you're well equiped to understand the rest of the book, which aims to explain important concepts in computer graphics in a mathematical way : 2d/3d projections, ray tracing, light/shading/shadowing, visibility, collisions, linear motion, rotations, fluid simulation, ...
As I said : a great book. Definitely not light reading.