Romain Marucchi-Foino
Game and Graphics Programming for IOS and Android with OpenGL Es 2.0
Romain Marucchi-Foino
Game and Graphics Programming for IOS and Android with OpenGL Es 2.0
- Broschiertes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Develop graphically sophisticated apps and games today!
The smart phone app market is progressively growing, and there is new market gap to fill that requires more graphically sophisticated applications and games. Game and Graphics Programming for iOS and Android with OpenGL ES 2.0 quickly gets you up to speed on understanding how powerful OpenGL ES 2.0 technology is in creating apps and games for amusement and effectiveness. Leading you through the development of a real-world mobile app with live code, this text lets you work with all the best features and tools that Open GL ES 2.0 has to…mehr
Andere Kunden interessierten sich auch für
- Greg MiletteProfessional Android Sensor Programming41,99 €
- Wei-Meng LeeBeginning Android Programming with Android Studio34,99 €
- Julian DolceAndroid Dev with Flash VB30,99 €
- Erik HellmanAndroid Programming41,99 €
- Ying BaiPractical Database Programming with Visual Basic.NET118,99 €
- Christine SolnonAnt Colony Optimization and Constraint Programming184,99 €
- Noel MarkhamJava Programming Interviews Exposed33,99 €
-
-
-
Develop graphically sophisticated apps and games today!
The smart phone app market is progressively growing, and there is new market gap to fill that requires more graphically sophisticated applications and games. Game and Graphics Programming for iOS and Android with OpenGL ES 2.0 quickly gets you up to speed on understanding how powerful OpenGL ES 2.0 technology is in creating apps and games for amusement and effectiveness. Leading you through the development of a real-world mobile app with live code, this text lets you work with all the best features and tools that Open GL ES 2.0 has to offer.
Provides a project template for iOS and Android platforms
Delves into OpenGL features including drawing canvas, geometry, lighting effects, character animation, and more
Offers explanation of full-function 2D and 3D graphics on embedded systems
Addresses the principal technology for hardware-accelerated graphical rendering
Game and Graphics Programming for iOS and Android with OpenGL ES 2.0 offers important, need-to-know information if you're interested in striking a perfect balance between aesthetics and functionality in apps.
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
The smart phone app market is progressively growing, and there is new market gap to fill that requires more graphically sophisticated applications and games. Game and Graphics Programming for iOS and Android with OpenGL ES 2.0 quickly gets you up to speed on understanding how powerful OpenGL ES 2.0 technology is in creating apps and games for amusement and effectiveness. Leading you through the development of a real-world mobile app with live code, this text lets you work with all the best features and tools that Open GL ES 2.0 has to offer.
Provides a project template for iOS and Android platforms
Delves into OpenGL features including drawing canvas, geometry, lighting effects, character animation, and more
Offers explanation of full-function 2D and 3D graphics on embedded systems
Addresses the principal technology for hardware-accelerated graphical rendering
Game and Graphics Programming for iOS and Android with OpenGL ES 2.0 offers important, need-to-know information if you're interested in striking a perfect balance between aesthetics and functionality in apps.
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Produktdetails
- Produktdetails
- Verlag: Wiley & Sons
- Artikelnr. des Verlages: 1W119975910
- 1. Auflage
- Seitenzahl: 320
- Erscheinungstermin: 30. Januar 2012
- Englisch
- Abmessung: 235mm x 191mm x 17mm
- Gewicht: 538g
- ISBN-13: 9781119975915
- ISBN-10: 1119975913
- Artikelnr.: 34101051
- Verlag: Wiley & Sons
- Artikelnr. des Verlages: 1W119975910
- 1. Auflage
- Seitenzahl: 320
- Erscheinungstermin: 30. Januar 2012
- Englisch
- Abmessung: 235mm x 191mm x 17mm
- Gewicht: 538g
- ISBN-13: 9781119975915
- ISBN-10: 1119975913
- Artikelnr.: 34101051
Romain Marucchi-Foino is the original author and founder of the popular mobile game engine SIO2. Formerly a desktop game engine developer, Romain is currently the lead 3D engine programmer for sio2interactive.com, the official developer of the SIO2 Engine, which powers thousands of games and 3D applications throughout the App Store and the Android market. Wrox guides are crafted to make learning programming languages and technologies easier than you think. Written by programmers for programmers, they provide a structured, tutorial format that guides you through all the techniques involved.
INTRODUCTION xvii CHAPTER 1: GETTING STARTED 1 Software Requirements 2 For
iOS Developers 2 For Android Developers 2 Downloading the Book's SDK 4
Importing Projects 5 For iOS Developers 5 For Android Developers 5 The
Template 7 Summary 8 CHAPTER 2: SETTING UP YOUR GRAPHIC PROJECTIONS 9 The
Three Basic Types of Projections 10 Orthographic 2D Projection 11 Program
and Project Initialization 12 Vertex and Fragment Shader 14 Linking a
Shader Program 17 The Drawing Code 19 Orthographic Projection 23 Getting
Orthographic 23 Perspective Projection 26 Summary 27 CHAPTER 3: DEALING
WITH COMPLEX GEOMETRY 29 The Wavefront File Format 29 Cube.obj 30 Cube.mtl
31 Preparing the OBJ Viewer Code 31 Loading an OBJ 32 Building the Shaders
35 The Vertex Shader 35 The Fragment Shader 36 Vertex Buff er Object 36
Storing the Vertex Data 37 Building the Vertex Data Array VBO 38 Building
the Element Array VBO 39 Building the VAO 40 Rendering Momo 42 Handling
Touche 44 Per-Vertex Lighting 46 Vertex Shader Light Calculation 46
Modifying the Fragment Shader 47 More Uniforms 48 Making Momo Furrier 50
Loading the Texture 50 Adjusting the Vertex Data 51 Adding UV Support to
the Vertex Shader 52 Adding Texture Support to Your Fragment Shader 53
Binding the Texture 53 Summary 54 CHAPTER 4: BUILDING A SCENE 57 Handling
Multiple Objects 58 The Code Structure 58 Loading and Drawing the Scene 59
The Shaders Code 63 The Diff erent Object Types 64 The Drawing Sequence 64
Fixing the Scene 65 Uber Shader 65 Using Your Uber Shader 66 Render Loop
Objects Categorization 69 Double-Sided 71 Per-Pixel Lighting 73 Making the
Vertex Shader Even Fatter 73 Getting the Fragment Shader More Uber 74
Wrapping Up the Implementation 76 Summary 79 CHAPTER 5: OPTIMIZATION 81 The
Base App 82 Triangles to Triangle Strips 82 Building Triangle Strips 83
Texture Optimization 84 Adding 16-Bit Texture Conversion 85 PVR Texture
Compression 86 Faking Details 87 Bump Mapping Implementation 87 Precision
Qualifi ers Optimization 88 The Normal Map Lighting Calculation 90 Adding
Specularity 91 Geometry and Shaders LOD 92 Texture Atlas 93 Managing States
in Software 94 Automatic Shader Optimization 94 Summary 95 CHAPTER 6:
REAL-TIME PHYSICS 97 Types of Physical Objects 98 Physics Shapes 98 Using
Bullet 100 Hello Physics 100 Collision Callbacks, Triggers, and Contacts
105 Contact-Added Callback 105 Near Callback 107 Contact Points 108 2D
Physics 110 More Shapes! 110 Building the Physical Objects 113 Camera
Tracking 114 User Interactions 116 The Game Logic 117 3D Physics 120 The
Bullet File Format 120 3D Pinball Game 122 Summary 127 CHAPTER 7: CAMERA
129 Touch and Go! 130 The Camera Frustum 132 How to Build the Frustum 133
Frustum Clipping Implementation 134 More Clipping Functions 135 Camera Fly
Mode 136 First-Person Camera with Collision Detection 140 3D Camera
Tracking 143 Third-Person Camera with Collision 145 Summary 149 CHAPTER 8:
PATHFINDING 151 Recast and Detour 151 Navigation 152 Creating the
Navigation Mesh 153 3D Physics Picking 155 Player's Auto Drive 159
Visualizing the Way Points 161 Catch Me If You Can! 163 Know Your Enemy 165
Game State Logic 167 Summary 170 CHAPTER 9: AUDIO AND OTHER COOL GAME
PROGRAMMING STUFF 171 OpenAL 172 OGG Vorbis 173 Hello World OpenAL Style
174 Initializing OpenAL 174 Static In-Memory Sound Playback 175 Positional
Sound Source 176 Piano Game 178 Loading a Static and Streamed Sound 178
Color Picking 182 Piano Game Logic 185 Final Adjustments 188 Rolling Ball
Game 190 GFX Shaders 190 Linking the Positional Sound Sources 191
Accelerometer-Driven Camera 195 Cheap FX 198 Game Logic and Tweaks 200
Summary 205 CHAPTER 10: ADVANCED LIGHTING 207 Types of Lamps 208 Let There
Be Light 208 Directional Lamp Shader 211 Struct as Uniforms 214 Point Light
217 Point Light Shader Code 218 Light Attenuation 221 Point Light with
Attenuation Code 222 The Attenuation Uniforms 223 Spherical Point Light 224
Tweaking the Point Light Code 225 Spot Light 227 Spot Light Shader Code 229
Multiple Lights 231 Making the Shader Program Dynamic 233 Summary 234
CHAPTER 11: ADVANCED FX 237 Render to Texture 238 Post-Processing Eff ects
238 First Rendering Pass 241 Second Pass 242 Fullscreen Pass and Blur
Shader 243 Projected Texture 246 Projector Shader 249 Projected Real-Time
Shadows 250 Casting Shadows Using the Depth Texture 253 A Few More Words
about the Frame Buffer Object 254 Particles 255 Summary 257 CHAPTER 12:
SKELETAL ANIMATION 259 Traditional vs. Modern Animation Systems 260 The MD5
File Format 261 Loading an MD5 Mesh 261 Animating the Mesh 264 LERP 266
SLERP 267 Blending Animation 267 Additive Blending 269 Summary 271 INDEX
273
iOS Developers 2 For Android Developers 2 Downloading the Book's SDK 4
Importing Projects 5 For iOS Developers 5 For Android Developers 5 The
Template 7 Summary 8 CHAPTER 2: SETTING UP YOUR GRAPHIC PROJECTIONS 9 The
Three Basic Types of Projections 10 Orthographic 2D Projection 11 Program
and Project Initialization 12 Vertex and Fragment Shader 14 Linking a
Shader Program 17 The Drawing Code 19 Orthographic Projection 23 Getting
Orthographic 23 Perspective Projection 26 Summary 27 CHAPTER 3: DEALING
WITH COMPLEX GEOMETRY 29 The Wavefront File Format 29 Cube.obj 30 Cube.mtl
31 Preparing the OBJ Viewer Code 31 Loading an OBJ 32 Building the Shaders
35 The Vertex Shader 35 The Fragment Shader 36 Vertex Buff er Object 36
Storing the Vertex Data 37 Building the Vertex Data Array VBO 38 Building
the Element Array VBO 39 Building the VAO 40 Rendering Momo 42 Handling
Touche 44 Per-Vertex Lighting 46 Vertex Shader Light Calculation 46
Modifying the Fragment Shader 47 More Uniforms 48 Making Momo Furrier 50
Loading the Texture 50 Adjusting the Vertex Data 51 Adding UV Support to
the Vertex Shader 52 Adding Texture Support to Your Fragment Shader 53
Binding the Texture 53 Summary 54 CHAPTER 4: BUILDING A SCENE 57 Handling
Multiple Objects 58 The Code Structure 58 Loading and Drawing the Scene 59
The Shaders Code 63 The Diff erent Object Types 64 The Drawing Sequence 64
Fixing the Scene 65 Uber Shader 65 Using Your Uber Shader 66 Render Loop
Objects Categorization 69 Double-Sided 71 Per-Pixel Lighting 73 Making the
Vertex Shader Even Fatter 73 Getting the Fragment Shader More Uber 74
Wrapping Up the Implementation 76 Summary 79 CHAPTER 5: OPTIMIZATION 81 The
Base App 82 Triangles to Triangle Strips 82 Building Triangle Strips 83
Texture Optimization 84 Adding 16-Bit Texture Conversion 85 PVR Texture
Compression 86 Faking Details 87 Bump Mapping Implementation 87 Precision
Qualifi ers Optimization 88 The Normal Map Lighting Calculation 90 Adding
Specularity 91 Geometry and Shaders LOD 92 Texture Atlas 93 Managing States
in Software 94 Automatic Shader Optimization 94 Summary 95 CHAPTER 6:
REAL-TIME PHYSICS 97 Types of Physical Objects 98 Physics Shapes 98 Using
Bullet 100 Hello Physics 100 Collision Callbacks, Triggers, and Contacts
105 Contact-Added Callback 105 Near Callback 107 Contact Points 108 2D
Physics 110 More Shapes! 110 Building the Physical Objects 113 Camera
Tracking 114 User Interactions 116 The Game Logic 117 3D Physics 120 The
Bullet File Format 120 3D Pinball Game 122 Summary 127 CHAPTER 7: CAMERA
129 Touch and Go! 130 The Camera Frustum 132 How to Build the Frustum 133
Frustum Clipping Implementation 134 More Clipping Functions 135 Camera Fly
Mode 136 First-Person Camera with Collision Detection 140 3D Camera
Tracking 143 Third-Person Camera with Collision 145 Summary 149 CHAPTER 8:
PATHFINDING 151 Recast and Detour 151 Navigation 152 Creating the
Navigation Mesh 153 3D Physics Picking 155 Player's Auto Drive 159
Visualizing the Way Points 161 Catch Me If You Can! 163 Know Your Enemy 165
Game State Logic 167 Summary 170 CHAPTER 9: AUDIO AND OTHER COOL GAME
PROGRAMMING STUFF 171 OpenAL 172 OGG Vorbis 173 Hello World OpenAL Style
174 Initializing OpenAL 174 Static In-Memory Sound Playback 175 Positional
Sound Source 176 Piano Game 178 Loading a Static and Streamed Sound 178
Color Picking 182 Piano Game Logic 185 Final Adjustments 188 Rolling Ball
Game 190 GFX Shaders 190 Linking the Positional Sound Sources 191
Accelerometer-Driven Camera 195 Cheap FX 198 Game Logic and Tweaks 200
Summary 205 CHAPTER 10: ADVANCED LIGHTING 207 Types of Lamps 208 Let There
Be Light 208 Directional Lamp Shader 211 Struct as Uniforms 214 Point Light
217 Point Light Shader Code 218 Light Attenuation 221 Point Light with
Attenuation Code 222 The Attenuation Uniforms 223 Spherical Point Light 224
Tweaking the Point Light Code 225 Spot Light 227 Spot Light Shader Code 229
Multiple Lights 231 Making the Shader Program Dynamic 233 Summary 234
CHAPTER 11: ADVANCED FX 237 Render to Texture 238 Post-Processing Eff ects
238 First Rendering Pass 241 Second Pass 242 Fullscreen Pass and Blur
Shader 243 Projected Texture 246 Projector Shader 249 Projected Real-Time
Shadows 250 Casting Shadows Using the Depth Texture 253 A Few More Words
about the Frame Buffer Object 254 Particles 255 Summary 257 CHAPTER 12:
SKELETAL ANIMATION 259 Traditional vs. Modern Animation Systems 260 The MD5
File Format 261 Loading an MD5 Mesh 261 Animating the Mesh 264 LERP 266
SLERP 267 Blending Animation 267 Additive Blending 269 Summary 271 INDEX
273
INTRODUCTION xvii CHAPTER 1: GETTING STARTED 1 Software Requirements 2 For
iOS Developers 2 For Android Developers 2 Downloading the Book's SDK 4
Importing Projects 5 For iOS Developers 5 For Android Developers 5 The
Template 7 Summary 8 CHAPTER 2: SETTING UP YOUR GRAPHIC PROJECTIONS 9 The
Three Basic Types of Projections 10 Orthographic 2D Projection 11 Program
and Project Initialization 12 Vertex and Fragment Shader 14 Linking a
Shader Program 17 The Drawing Code 19 Orthographic Projection 23 Getting
Orthographic 23 Perspective Projection 26 Summary 27 CHAPTER 3: DEALING
WITH COMPLEX GEOMETRY 29 The Wavefront File Format 29 Cube.obj 30 Cube.mtl
31 Preparing the OBJ Viewer Code 31 Loading an OBJ 32 Building the Shaders
35 The Vertex Shader 35 The Fragment Shader 36 Vertex Buff er Object 36
Storing the Vertex Data 37 Building the Vertex Data Array VBO 38 Building
the Element Array VBO 39 Building the VAO 40 Rendering Momo 42 Handling
Touche 44 Per-Vertex Lighting 46 Vertex Shader Light Calculation 46
Modifying the Fragment Shader 47 More Uniforms 48 Making Momo Furrier 50
Loading the Texture 50 Adjusting the Vertex Data 51 Adding UV Support to
the Vertex Shader 52 Adding Texture Support to Your Fragment Shader 53
Binding the Texture 53 Summary 54 CHAPTER 4: BUILDING A SCENE 57 Handling
Multiple Objects 58 The Code Structure 58 Loading and Drawing the Scene 59
The Shaders Code 63 The Diff erent Object Types 64 The Drawing Sequence 64
Fixing the Scene 65 Uber Shader 65 Using Your Uber Shader 66 Render Loop
Objects Categorization 69 Double-Sided 71 Per-Pixel Lighting 73 Making the
Vertex Shader Even Fatter 73 Getting the Fragment Shader More Uber 74
Wrapping Up the Implementation 76 Summary 79 CHAPTER 5: OPTIMIZATION 81 The
Base App 82 Triangles to Triangle Strips 82 Building Triangle Strips 83
Texture Optimization 84 Adding 16-Bit Texture Conversion 85 PVR Texture
Compression 86 Faking Details 87 Bump Mapping Implementation 87 Precision
Qualifi ers Optimization 88 The Normal Map Lighting Calculation 90 Adding
Specularity 91 Geometry and Shaders LOD 92 Texture Atlas 93 Managing States
in Software 94 Automatic Shader Optimization 94 Summary 95 CHAPTER 6:
REAL-TIME PHYSICS 97 Types of Physical Objects 98 Physics Shapes 98 Using
Bullet 100 Hello Physics 100 Collision Callbacks, Triggers, and Contacts
105 Contact-Added Callback 105 Near Callback 107 Contact Points 108 2D
Physics 110 More Shapes! 110 Building the Physical Objects 113 Camera
Tracking 114 User Interactions 116 The Game Logic 117 3D Physics 120 The
Bullet File Format 120 3D Pinball Game 122 Summary 127 CHAPTER 7: CAMERA
129 Touch and Go! 130 The Camera Frustum 132 How to Build the Frustum 133
Frustum Clipping Implementation 134 More Clipping Functions 135 Camera Fly
Mode 136 First-Person Camera with Collision Detection 140 3D Camera
Tracking 143 Third-Person Camera with Collision 145 Summary 149 CHAPTER 8:
PATHFINDING 151 Recast and Detour 151 Navigation 152 Creating the
Navigation Mesh 153 3D Physics Picking 155 Player's Auto Drive 159
Visualizing the Way Points 161 Catch Me If You Can! 163 Know Your Enemy 165
Game State Logic 167 Summary 170 CHAPTER 9: AUDIO AND OTHER COOL GAME
PROGRAMMING STUFF 171 OpenAL 172 OGG Vorbis 173 Hello World OpenAL Style
174 Initializing OpenAL 174 Static In-Memory Sound Playback 175 Positional
Sound Source 176 Piano Game 178 Loading a Static and Streamed Sound 178
Color Picking 182 Piano Game Logic 185 Final Adjustments 188 Rolling Ball
Game 190 GFX Shaders 190 Linking the Positional Sound Sources 191
Accelerometer-Driven Camera 195 Cheap FX 198 Game Logic and Tweaks 200
Summary 205 CHAPTER 10: ADVANCED LIGHTING 207 Types of Lamps 208 Let There
Be Light 208 Directional Lamp Shader 211 Struct as Uniforms 214 Point Light
217 Point Light Shader Code 218 Light Attenuation 221 Point Light with
Attenuation Code 222 The Attenuation Uniforms 223 Spherical Point Light 224
Tweaking the Point Light Code 225 Spot Light 227 Spot Light Shader Code 229
Multiple Lights 231 Making the Shader Program Dynamic 233 Summary 234
CHAPTER 11: ADVANCED FX 237 Render to Texture 238 Post-Processing Eff ects
238 First Rendering Pass 241 Second Pass 242 Fullscreen Pass and Blur
Shader 243 Projected Texture 246 Projector Shader 249 Projected Real-Time
Shadows 250 Casting Shadows Using the Depth Texture 253 A Few More Words
about the Frame Buffer Object 254 Particles 255 Summary 257 CHAPTER 12:
SKELETAL ANIMATION 259 Traditional vs. Modern Animation Systems 260 The MD5
File Format 261 Loading an MD5 Mesh 261 Animating the Mesh 264 LERP 266
SLERP 267 Blending Animation 267 Additive Blending 269 Summary 271 INDEX
273
iOS Developers 2 For Android Developers 2 Downloading the Book's SDK 4
Importing Projects 5 For iOS Developers 5 For Android Developers 5 The
Template 7 Summary 8 CHAPTER 2: SETTING UP YOUR GRAPHIC PROJECTIONS 9 The
Three Basic Types of Projections 10 Orthographic 2D Projection 11 Program
and Project Initialization 12 Vertex and Fragment Shader 14 Linking a
Shader Program 17 The Drawing Code 19 Orthographic Projection 23 Getting
Orthographic 23 Perspective Projection 26 Summary 27 CHAPTER 3: DEALING
WITH COMPLEX GEOMETRY 29 The Wavefront File Format 29 Cube.obj 30 Cube.mtl
31 Preparing the OBJ Viewer Code 31 Loading an OBJ 32 Building the Shaders
35 The Vertex Shader 35 The Fragment Shader 36 Vertex Buff er Object 36
Storing the Vertex Data 37 Building the Vertex Data Array VBO 38 Building
the Element Array VBO 39 Building the VAO 40 Rendering Momo 42 Handling
Touche 44 Per-Vertex Lighting 46 Vertex Shader Light Calculation 46
Modifying the Fragment Shader 47 More Uniforms 48 Making Momo Furrier 50
Loading the Texture 50 Adjusting the Vertex Data 51 Adding UV Support to
the Vertex Shader 52 Adding Texture Support to Your Fragment Shader 53
Binding the Texture 53 Summary 54 CHAPTER 4: BUILDING A SCENE 57 Handling
Multiple Objects 58 The Code Structure 58 Loading and Drawing the Scene 59
The Shaders Code 63 The Diff erent Object Types 64 The Drawing Sequence 64
Fixing the Scene 65 Uber Shader 65 Using Your Uber Shader 66 Render Loop
Objects Categorization 69 Double-Sided 71 Per-Pixel Lighting 73 Making the
Vertex Shader Even Fatter 73 Getting the Fragment Shader More Uber 74
Wrapping Up the Implementation 76 Summary 79 CHAPTER 5: OPTIMIZATION 81 The
Base App 82 Triangles to Triangle Strips 82 Building Triangle Strips 83
Texture Optimization 84 Adding 16-Bit Texture Conversion 85 PVR Texture
Compression 86 Faking Details 87 Bump Mapping Implementation 87 Precision
Qualifi ers Optimization 88 The Normal Map Lighting Calculation 90 Adding
Specularity 91 Geometry and Shaders LOD 92 Texture Atlas 93 Managing States
in Software 94 Automatic Shader Optimization 94 Summary 95 CHAPTER 6:
REAL-TIME PHYSICS 97 Types of Physical Objects 98 Physics Shapes 98 Using
Bullet 100 Hello Physics 100 Collision Callbacks, Triggers, and Contacts
105 Contact-Added Callback 105 Near Callback 107 Contact Points 108 2D
Physics 110 More Shapes! 110 Building the Physical Objects 113 Camera
Tracking 114 User Interactions 116 The Game Logic 117 3D Physics 120 The
Bullet File Format 120 3D Pinball Game 122 Summary 127 CHAPTER 7: CAMERA
129 Touch and Go! 130 The Camera Frustum 132 How to Build the Frustum 133
Frustum Clipping Implementation 134 More Clipping Functions 135 Camera Fly
Mode 136 First-Person Camera with Collision Detection 140 3D Camera
Tracking 143 Third-Person Camera with Collision 145 Summary 149 CHAPTER 8:
PATHFINDING 151 Recast and Detour 151 Navigation 152 Creating the
Navigation Mesh 153 3D Physics Picking 155 Player's Auto Drive 159
Visualizing the Way Points 161 Catch Me If You Can! 163 Know Your Enemy 165
Game State Logic 167 Summary 170 CHAPTER 9: AUDIO AND OTHER COOL GAME
PROGRAMMING STUFF 171 OpenAL 172 OGG Vorbis 173 Hello World OpenAL Style
174 Initializing OpenAL 174 Static In-Memory Sound Playback 175 Positional
Sound Source 176 Piano Game 178 Loading a Static and Streamed Sound 178
Color Picking 182 Piano Game Logic 185 Final Adjustments 188 Rolling Ball
Game 190 GFX Shaders 190 Linking the Positional Sound Sources 191
Accelerometer-Driven Camera 195 Cheap FX 198 Game Logic and Tweaks 200
Summary 205 CHAPTER 10: ADVANCED LIGHTING 207 Types of Lamps 208 Let There
Be Light 208 Directional Lamp Shader 211 Struct as Uniforms 214 Point Light
217 Point Light Shader Code 218 Light Attenuation 221 Point Light with
Attenuation Code 222 The Attenuation Uniforms 223 Spherical Point Light 224
Tweaking the Point Light Code 225 Spot Light 227 Spot Light Shader Code 229
Multiple Lights 231 Making the Shader Program Dynamic 233 Summary 234
CHAPTER 11: ADVANCED FX 237 Render to Texture 238 Post-Processing Eff ects
238 First Rendering Pass 241 Second Pass 242 Fullscreen Pass and Blur
Shader 243 Projected Texture 246 Projector Shader 249 Projected Real-Time
Shadows 250 Casting Shadows Using the Depth Texture 253 A Few More Words
about the Frame Buffer Object 254 Particles 255 Summary 257 CHAPTER 12:
SKELETAL ANIMATION 259 Traditional vs. Modern Animation Systems 260 The MD5
File Format 261 Loading an MD5 Mesh 261 Animating the Mesh 264 LERP 266
SLERP 267 Blending Animation 267 Additive Blending 269 Summary 271 INDEX
273