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 https://sourceforge.net/projects/iphonegamebook/files/.
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: