Mathematics for 3D Game Programming and Computer Graphics, Eric Lengyel
ISBN-13: 978-1435458864 3rd edition, 2011.
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.