This completely updated second edition illustrates the mathematical concepts that a game programmer would need to develop a professional-quality 3D engine. Although the book is geared toward applications in game development, many of the topics appeal to general interests in 3D graphics. 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 game 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.
Author(s): Eric Lengyel
Edition: 2
Year: 2003
Language: English
Pages: 551
Team LRN......Page 0
Cover......Page 1
Contents......Page 6
Preface......Page 14
0: The Rendering Pipeline......Page 20
1: Vectors......Page 30
2: Matrices......Page 52
3: Transforms......Page 90
4: 3D Engine Geometry......Page 120
5: Ray Tracing......Page 152
6: Illumination......Page 180
7: Visibility Determination......Page 236
8: Collision Detection......Page 272
9: Polygonal Techniques......Page 292
10: Shadows......Page 326
11: Linear Physics......Page 360
12: Rotational Physics......Page 386
13: Fluid Simulation......Page 420
14: Numerical Methods......Page 438
15: Curves and Surfaces......Page 472
Appendix A: Complex Numbers......Page 518
Appendix B: Trigonometry Reference......Page 524
Appendix C: Coordinate Systems......Page 532
Appendix D: Taylor Series......Page 544
Appendix E: Answers to Exercises......Page 550
Bibliography......Page 558
Index......Page 562