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

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

Hardback

By (author) James M. van Verth, By (author) Lars M. Bishop

$52.76
List price $61.26
You save $8.50 13% off

Free delivery worldwide
Available
Dispatched in 2 business days
When will my order arrive?

  • Publisher: Focal Press US
  • Format: Hardback | 704 pages
  • Dimensions: 198mm x 234mm x 43mm | 1,406g
  • Publication date: 27 June 2008
  • Publication City/Country: Burlington
  • ISBN 10: 0123742978
  • ISBN 13: 9780123742971
  • Edition: 2, Revised
  • Edition statement: 2nd Revised edition
  • Illustrations note: Approx. 320 illustrations
  • Sales rank: 116,867

Product description

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.

Other people who viewed this bought:

Showing items 1 to 10 of 10

Other books in this category

Showing items 1 to 11 of 11
Categories:

Author information

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.

Review quote

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

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.