描述
开 本: 大16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9781119975915
INTRODUCTION xvii CHAPTER 1: GETTING STARTED 1 Software Requirements 2 For iOS Developers 2 For Android Developers 2 Downloading the Books 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 Players 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
评论
还没有评论。