Produktbild: Game and Graphics Programming for iOS and Android with OpenGL ES 2.0

Game and Graphics Programming for iOS and Android with OpenGL ES 2.0

41,99 €

inkl. gesetzl. MwSt., Versandkostenfrei

Lieferung nach Hause

Beschreibung

Produktdetails

Einband

Taschenbuch

Erscheinungsdatum

30.01.2012

Verlag

John Wiley & Sons

Seitenzahl

308

Maße (L/B/H)

23,5/19,1/1,7 cm

Gewicht

538 g

Auflage

1. Auflage

Sprache

Englisch

ISBN

978-1-119-97591-5

Beschreibung

Produktdetails

Einband

Taschenbuch

Erscheinungsdatum

30.01.2012

Verlag

John Wiley & Sons

Seitenzahl

308

Maße (L/B/H)

23,5/19,1/1,7 cm

Gewicht

538 g

Auflage

1. Auflage

Sprache

Englisch

ISBN

978-1-119-97591-5

Noch keine Bewertungen vorhanden

Verfassen Sie die erste Bewertung zu diesem Artikel

Helfen Sie anderen Kundinnen und Kunden durch Ihre Meinung.

Kundinnen und Kunden meinen

Bewertungen (0)

Die Leseprobe wird geladen.
  • Produktbild: Game and Graphics Programming for iOS and Android with OpenGL ES 2.0
  • 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