Chapter 5. 3D Games

The topic of 3D game programming, including graphics, animation, and physics, is worth years of college courses. A single chapter cannot hope to span the breadth of it. What we can achieve, however, is a simple game that covers the basics of dealing with 3D on the iPhone, and we’ll build the steppingstones of more complex work.

We won’t offer advice on general 3D programming that you’ll probably use in your game, specifically, lighting, triangle-mesh collision detection, skeletal animation, and shaders. Instead, we will focus on topics with special significance for game developers:

  • Loading multiple 3D meshes for rendering

  • Creating a particle system for special effects

  • Using basic 3D math for physics detection

  • Using the iPhone’s accelerometer as input

  • Keeping track of player times

Again, we have provided example source code for the chapter that you should download at

Naturally, in this chapter, we will be writing a lot of 3D code. Unfortunately, a primer on 3D graphics is beyond the scope of this book. If you are familiar with OpenGL or Direct3D, you will already have a handle on much of it; if you are not, you may want to look up a primer or continue to read here while paying attention to the more general game-specific issues—particularly, how to use the code we have provided.

To get the most from this chapter, you should have an understanding of the following:

The difference between the Projection matrix and the ...

Get iPhone Game Development now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.