Essential Mathematics for Games and Interactive Applications

Essential Mathematics for Games and Interactive Applications : A Programmer's Guide, Second Edition

4.16 (48 ratings by Goodreads)
By (author)  , By (author) 

List price: US$68.95

Currently unavailable

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks


Essential Mathematics for Games and Interactive Applications, 2nd edition presents the core mathematics necessary for sophisticated 3D graphics and interactive physical simulations. The book begins with linear algebra and matrix multiplication and expands on this foundation to cover such topics as color and lighting, interpolation, animation and basic game physics. Essential Mathematics focuses on the issues of 3D game development important to programmers and includes optimization guidance throughout.

The new edition Windows code will now use Visual Studio.NET. There will also be DirectX support provided, along with OpenGL - due to its cross-platform nature. Programmers will find more concrete examples included in this edition, as well as additional information on tuning, optimization and robustness.

The book has a companion CD-ROM with exercises and a test bank for the academic secondary market, and for main market: code examples built around a shared code base, including a math library covering all the topics presented in the book, a core vector/matrix math engine, and libraries to support basic 3D rendering and interaction.
show more

Product details

  • Hardback | 704 pages
  • 198.12 x 233.68 x 43.18mm | 1,406.13g
  • Focal Press US
  • Burlington, United States
  • English
  • New edition
  • 2nd New edition
  • Approx. 320 illustrations
  • 0123742978
  • 9780123742971
  • 214,095

Table of contents

The following gives a high-level table of contents. Starred chapters will change significantly from the current edition, with changes noted.

Chapter 1: Vectors and Points
This chapter covers basic linear algebra topics such as vectors, points, lines and planes. Most changes will be in presentation, not in topic.

Chapter 2: Matrices and Linear Transformations
This continues the linear algebra discussion and discusses the mathematical methods for changing the concepts presented in Chapter 1. Most modifications will be in presentation, not in topic.

*Chapter 3: Affine Transformations
This completes the algebra discussion and covers basic graphics transformations such as translation, rotation and scale. Most changes will be in presentation, not in topic, although there will be a small section added on skinning.

Chapter 4: Real-World Computer Number Representation
This chapter covers the problems of representing the infinite space of numbers in a finite computer. Most modifications will be in presentation, not in topic.

Chapter 5: Viewing and Projection
This chapter begins the graphics topics with a discussion of building virtual cameras. Most modifications will be in presentation, not in topic.

*Chapter 6: Lighting and Color
This new chapter collates the color topics from the original Chapter 6 and the non-shading aspects of the original Chapter 7. To be presented here are the more abstract notions of color, normals to a surface, direction to a light, and how a lit color value is generated without any reference to triangles or interpolation.

*Chapter 7: Geometry, Shading and Texturing
As with the previous chapter, this one will take mostly material from the original chapters 6 and 7, and some from Chapter 8. The chapter will conclude with a brief discussion of hardware vertex and pixel shaders, but as this is not a graphics book per se it will only be at an introductory level.

*Chapter 8: Rasterization and Antialiasing
The final graphics chapter will now focus on sampling the continuous functions discussed in the previous two so that they can be represented on discrete hardware. Both rasterization and texturing will lead into a discussion of antialiasing and solving the problems for both processes: mip-mapping, multi-sampling, and other approaches.

*Chapter 9: Animation of Position
The previous version of this chapter focused on curves, and the new one will be no exception. However, rather than attempting to be a general curve discussion it will focus more on the particular curve types that are most often used in an interactive application for animating cameras and object position.

*Chapter 10: Animation of Orientation
As with the previous chapter, this one will be retargeted to focus mainly on animation issues. There will also be more material dedicated to approximating slerp, as there have been a number of publications and debate on this topic since the original publication of the book.

Chapter 11: Intersection Testing
This chapter covers basic bounding object tests and some topics in collision detection and culling. There will be few changes.

*Chapter 12: Physical Simulation
The general structure of this one will remain the same with only a few additions and expansions of existing topics based on the author's participation in the Physics for Game Programmers GDC tutorial. First, symplectic Euler and its stability properties will be discussed. Secondly, more attention will be given to generating inertial tensors for triangle soups. Finally, simple constraints will be presented.

*Chapter 13: Random Numbers
This chapter was originally planned for the first edition and was requested by a number of reviewers. It will cover basic probability, three methods for generating pseudo-random numbers on a digital computer, and some applications of random numbers: Artificial intelligence routines, simulating die rolls and card draws, Perlin noise for procedural textures, and finally some basic presentation of stochastic sampling for anti-aliasing.
show more

Review quote

"It's the book with all the math you need for games." -Neil Kirby, Researcher, Alcatel-Lucent
show more

About Lars M. Bishop

James M. Van Verth is a founding member of Red Storm Entertainment, a division of Ubisoft, where he has been a lead engineer for nine years. For the past eight years he has also been a regular speaker at the Game Developers Conferences, teaching the all-day tutorial "Math for Game Programmers," on which this book is based. He has a B.A. in mathematics and computer science from Dartmouth College and M.S. degrees in computer science from the State University of New York at Buffalo and the University of North Carolina at Chapel Hill.
Lars M. Bishop is an engineer in the Handheld Developer Technologies group at NVIDIA. Prior to joining NVIDIA, Lars was the Chief Technology Officer at Numerical Design Limited, leading the development of the Gamebryo3D cross-platform game engine. He received a BS in Math/Computer Science from Brown University and an MS in Computer Science from the University of North Carolina at Chapel Hill. His outside interests include photography, drumming, and playing bass guitar.
show more

Rating details

48 ratings
4.16 out of 5 stars
5 40% (19)
4 44% (21)
3 12% (6)
2 2% (1)
1 2% (1)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X