iPhone & iPad Game Development For Dummies
xvi
Vertices ...............................................................................................385
Rasterizing ..........................................................................................386
Buffers .................................................................................................386
Shaders ................................................................................................387
Drawing stuff on the screen ..............................................................389
OpenGL objects, names, and binding..............................................389
Using OpenGL in iOS ...................................................................................390
Core Animation layers .......................................................................391
EAGLContext, a fountain of mysteries ............................................391
Displaying the frame buffer ..............................................................391
Setting Up OpenGL for Traf c ....................................................................392
Setting up the view ............................................................................392
Creating the 3D view..........................................................................392
What are these “buffers” of which you speak? ..............................394
Creating the OpenGL context ...........................................................396
Preparing the buffers.........................................................................396
Rendering the ‘scene’ ........................................................................400
Chapter 23: Drawing with OpenGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . .403
The Background Scene ...............................................................................403
The goal ...............................................................................................404
Setting up the background rendering .............................................404
Writing Fragment and Vertex Shaders ......................................................406
Uniforms, varyings, and attributes — oh my! ................................406
The vertex shader ..............................................................................407
The fragment shader .........................................................................408
Tying it all together ...........................................................................409
Drawing the Scene .......................................................................................415
Setting up the vertex arrays .............................................................416
Drawing the scene .............................................................................416
Chapter 24: Texturing with OpenGL . . . . . . . . . . . . . . . . . . . . . . . . . . . .419
Figuring Out How Textures Work ..............................................................419
Compressing Textures ................................................................................421
Loading Textures .........................................................................................422
Updating the Shaders ..................................................................................425
Drawing the Texture ....................................................................................428
Making the Road Move ...............................................................................431
Chapter 25: Kicking Up Your Game a Notch . . . . . . . . . . . . . . . . . . . . .435
Accessing the iPod Library ........................................................................435
Media items, media pickers, and music players ............................436
Importing the framework ..................................................................436
Adding the user interface .................................................................436
Detecting Shakes ..........................................................................................439
Detecting shake events .....................................................................439
Clearing the screen ............................................................................440
02_599105-ftoc.indd xvi02_599105-ftoc.indd xvi 10/1/10 11:28 PM10/1/10 11:28 PM