{"product_id":"game-and-graphics-programming-for-ios-and-android-with-opengl-es-2-0-paperback-softback-9781119975915","title":"Game and Graphics Programming for iOS and Android with OpenGL ES 2.0 (Paperback \/ softback) 9781119975915","description":"\u003cfont face=\"Georgia\"\u003e\r\n\u003cp\u003e\u003cfont size=\"6\"\u003eGame and Graphics Programming for iOS and Android with OpenGL ES 2.0\u003c\/font\u003e\u003cbr\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003c\/p\u003e\n\u003cp\u003e\u003cfont size=\"4\"\u003eRomain Marucchi-Foino (Author)\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e9781119975915, Wiley\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003ePaperback \/ softback, published 20 February 2012\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e320 pages\u003cbr\u003e23.4 x 18.8 x 1.6 cm, 0.526 kg\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003cp align=\"justify\"\u003e\u003cstrong\u003e\u003cfont size=\"3\"\u003e\u003cb\u003eDevelop graphically sophisticated apps and games today!\u003c\/b\u003e  \u003cp\u003eThe smart phone app market is progressively growing, and there is new market gap to fill that requires more graphically sophisticated applications and games. \u003ci\u003eGame and Graphics Programming for iOS and Android with OpenGL ES 2.0\u003c\/i\u003e 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.\u003c\/p\u003e \u003cul\u003e \u003cli\u003eProvides a project template for iOS and Android platforms\u003c\/li\u003e \u003cli\u003eDelves into OpenGL features including drawing canvas, geometry, lighting effects, character animation, and more\u003c\/li\u003e \u003cli\u003eOffers explanation of full-function 2D and 3D graphics on embedded systems\u003c\/li\u003e \u003cli\u003eAddresses the principal technology for hardware-accelerated graphical rendering\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003e\u003ci\u003eGame and Graphics Programming for iOS and Android with OpenGL ES 2.0\u003c\/i\u003e offers important, need-to-know information if you're interested in striking a perfect balance between aesthetics and functionality in apps.\u003c\/p\u003e\u003c\/font\u003e\u003c\/strong\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e\u003cp\u003eINTRODUCTION xvii\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 1: GETTING STARTED 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eSoftware Requirements 2\u003c\/p\u003e \u003cp\u003eFor iOS Developers 2\u003c\/p\u003e \u003cp\u003eFor Android Developers 2\u003c\/p\u003e \u003cp\u003eDownloading the Book’s SDK 4\u003c\/p\u003e \u003cp\u003eImporting Projects 5\u003c\/p\u003e \u003cp\u003eFor iOS Developers 5\u003c\/p\u003e \u003cp\u003eFor Android Developers 5\u003c\/p\u003e \u003cp\u003eThe Template 7\u003c\/p\u003e \u003cp\u003eSummary 8\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 2: SETTING UP YOUR GRAPHIC PROJECTIONS 9\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Three Basic Types of Projections 10\u003c\/p\u003e \u003cp\u003eOrthographic 2D Projection 11\u003c\/p\u003e \u003cp\u003eProgram and Project Initialization 12\u003c\/p\u003e \u003cp\u003eVertex and Fragment Shader 14\u003c\/p\u003e \u003cp\u003eLinking a Shader Program 17\u003c\/p\u003e \u003cp\u003eThe Drawing Code 19\u003c\/p\u003e \u003cp\u003eOrthographic Projection 23\u003c\/p\u003e \u003cp\u003eGetting Orthographic 23\u003c\/p\u003e \u003cp\u003ePerspective Projection 26\u003c\/p\u003e \u003cp\u003eSummary 27\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 3: DEALING WITH COMPLEX GEOMETRY 29\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Wavefront File Format 29\u003c\/p\u003e \u003cp\u003eCube.obj 30\u003c\/p\u003e \u003cp\u003eCube.mtl 31\u003c\/p\u003e \u003cp\u003ePreparing the OBJ Viewer Code 31\u003c\/p\u003e \u003cp\u003eLoading an OBJ 32\u003c\/p\u003e \u003cp\u003eBuilding the Shaders 35\u003c\/p\u003e \u003cp\u003eThe Vertex Shader 35\u003c\/p\u003e \u003cp\u003eThe Fragment Shader 36\u003c\/p\u003e \u003cp\u003eVertex Buffer Object 36\u003c\/p\u003e \u003cp\u003eStoring the Vertex Data 37\u003c\/p\u003e \u003cp\u003eBuilding the Vertex Data Array VBO 38\u003c\/p\u003e \u003cp\u003eBuilding the Element Array VBO 39\u003c\/p\u003e \u003cp\u003eBuilding the VAO 40\u003c\/p\u003e \u003cp\u003eRendering Momo 42\u003c\/p\u003e \u003cp\u003eHandling Touche 44\u003c\/p\u003e \u003cp\u003ePer-Vertex Lighting 46\u003c\/p\u003e \u003cp\u003eVertex Shader Light Calculation 46\u003c\/p\u003e \u003cp\u003eModifying the Fragment Shader 47\u003c\/p\u003e \u003cp\u003eMore Uniforms 48\u003c\/p\u003e \u003cp\u003eMaking Momo Furrier 50\u003c\/p\u003e \u003cp\u003eLoading the Texture 50\u003c\/p\u003e \u003cp\u003eAdjusting the Vertex Data 51\u003c\/p\u003e \u003cp\u003eAdding UV Support to the Vertex Shader 52\u003c\/p\u003e \u003cp\u003eAdding Texture Support to Your Fragment Shader 53\u003c\/p\u003e \u003cp\u003eBinding the Texture 53\u003c\/p\u003e \u003cp\u003eSummary 54\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 4: BUILDING A SCENE 57\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eHandling Multiple Objects 58\u003c\/p\u003e \u003cp\u003eThe Code Structure 58\u003c\/p\u003e \u003cp\u003eLoading and Drawing the Scene 59\u003c\/p\u003e \u003cp\u003eThe Shaders Code 63\u003c\/p\u003e \u003cp\u003eThe Different Object Types 64\u003c\/p\u003e \u003cp\u003eThe Drawing Sequence 64\u003c\/p\u003e \u003cp\u003eFixing the Scene 65\u003c\/p\u003e \u003cp\u003eUber Shader 65\u003c\/p\u003e \u003cp\u003eUsing Your Uber Shader 66\u003c\/p\u003e \u003cp\u003eRender Loop Objects Categorization 69\u003c\/p\u003e \u003cp\u003eDouble-Sided 71\u003c\/p\u003e \u003cp\u003ePer-PixelLighting 73\u003c\/p\u003e \u003cp\u003eMaking the Vertex Shader Even Fatter 73\u003c\/p\u003e \u003cp\u003eGetting the Fragment Shader More Uber 74\u003c\/p\u003e \u003cp\u003eWrapping Up the Implementation 76\u003c\/p\u003e \u003cp\u003eSummary 79\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 5: OPTIMIZATION 81\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Base App 82\u003c\/p\u003e \u003cp\u003eTriangles to Triangle Strips 82\u003c\/p\u003e \u003cp\u003eBuilding Triangle Strips 83\u003c\/p\u003e \u003cp\u003eTexture Optimization 84\u003c\/p\u003e \u003cp\u003eAdding 16-Bit Texture Conversion 85\u003c\/p\u003e \u003cp\u003ePVR Texture Compression 86\u003c\/p\u003e \u003cp\u003eFaking Details 87\u003c\/p\u003e \u003cp\u003eBump Mapping Implementation 87\u003c\/p\u003e \u003cp\u003ePrecision Qualiﬁers Optimization 88\u003c\/p\u003e \u003cp\u003eThe Normal Map Lighting Calculation 90\u003c\/p\u003e \u003cp\u003eAdding Specularity 91\u003c\/p\u003e \u003cp\u003eGeometry and Shaders LOD 92\u003c\/p\u003e \u003cp\u003eTexture Atlas 93\u003c\/p\u003e \u003cp\u003eManaging States in Software 94\u003c\/p\u003e \u003cp\u003eAutomatic Shader Optimization 94\u003c\/p\u003e \u003cp\u003eSummary 95\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 6: REAL-TIME PHYSICS 97\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eTypes of Physical Objects 98\u003c\/p\u003e \u003cp\u003ePhysics Shapes 98\u003c\/p\u003e \u003cp\u003eUsing Bullet 100\u003c\/p\u003e \u003cp\u003eHello Physics 100\u003c\/p\u003e \u003cp\u003eCollision Callbacks, Triggers, and Contacts 105\u003c\/p\u003e \u003cp\u003eContact-Added Callback 105\u003c\/p\u003e \u003cp\u003eNear Callback 107\u003c\/p\u003e \u003cp\u003eContact Points 108\u003c\/p\u003e \u003cp\u003e2D Physics 110\u003c\/p\u003e \u003cp\u003eMore Shapes! 110\u003c\/p\u003e \u003cp\u003eBuilding the Physical Objects 113\u003c\/p\u003e \u003cp\u003eCamera Tracking 114\u003c\/p\u003e \u003cp\u003eUser Interactions 116\u003c\/p\u003e \u003cp\u003eThe Game Logic 117\u003c\/p\u003e \u003cp\u003e3D Physics 120\u003c\/p\u003e \u003cp\u003eThe Bullet File Format 120\u003c\/p\u003e \u003cp\u003e3D Pinball Game 122\u003c\/p\u003e \u003cp\u003eSummary 127\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 7: CAMERA 129\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eTouch and Go! 130\u003c\/p\u003e \u003cp\u003eThe Camera Frustum 132\u003c\/p\u003e \u003cp\u003eHow to Build the Frustum 133\u003c\/p\u003e \u003cp\u003eFrustum Clipping Implementation 134\u003c\/p\u003e \u003cp\u003eMore Clipping Functions 135\u003c\/p\u003e \u003cp\u003eCamera Fly Mode 136\u003c\/p\u003e \u003cp\u003eFirst-Person Camera with Collision Detection 140\u003c\/p\u003e \u003cp\u003e3D Camera Tracking 143\u003c\/p\u003e \u003cp\u003eThird-Person Camera with Collision 145\u003c\/p\u003e \u003cp\u003eSummary 149\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 8: PATHFINDING 151\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eRecast and Detour 151\u003c\/p\u003e \u003cp\u003eNavigation 152\u003c\/p\u003e \u003cp\u003eCreating the Navigation Mesh 153\u003c\/p\u003e \u003cp\u003e3D Physics Picking 155\u003c\/p\u003e \u003cp\u003ePlayer’s Auto Drive 159\u003c\/p\u003e \u003cp\u003eVisualizing the Way Points 161\u003c\/p\u003e \u003cp\u003eCatch Me If You Can! 163\u003c\/p\u003e \u003cp\u003eKnow Your Enemy 165\u003c\/p\u003e \u003cp\u003eGame State Logic 167\u003c\/p\u003e \u003cp\u003eSummary 170\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 9: AUDIO AND OTHER COOL GAME PROGRAMMING STUFF 171\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eOpenAL 172\u003c\/p\u003e \u003cp\u003eOGG Vorbis 173\u003c\/p\u003e \u003cp\u003eHello World OpenAL Style 174\u003c\/p\u003e \u003cp\u003eInitializing OpenAL 174\u003c\/p\u003e \u003cp\u003eStatic In-Memory Sound Playback 175\u003c\/p\u003e \u003cp\u003ePositional Sound Source 176\u003c\/p\u003e \u003cp\u003ePiano Game 178\u003c\/p\u003e \u003cp\u003eLoading a Static and Streamed Sound 178\u003c\/p\u003e \u003cp\u003eColor Picking 182\u003c\/p\u003e \u003cp\u003ePiano Game Logic 185\u003c\/p\u003e \u003cp\u003eFinal Adjustments 188\u003c\/p\u003e \u003cp\u003eRolling Ball Game 190\u003c\/p\u003e \u003cp\u003eGFX Shaders 190\u003c\/p\u003e \u003cp\u003eLinking the Positional Sound Sources 191\u003c\/p\u003e \u003cp\u003eAccelerometer-Driven Camera 195\u003c\/p\u003e \u003cp\u003eCheap FX 198\u003c\/p\u003e \u003cp\u003eGame Logic and Tweaks 200\u003c\/p\u003e \u003cp\u003eSummary 205\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 10: ADVANCED LIGHTING 207\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eTypes of Lamps 208\u003c\/p\u003e \u003cp\u003eLet There Be Light 208\u003c\/p\u003e \u003cp\u003eDirectional Lamp Shader 211\u003c\/p\u003e \u003cp\u003eStruct as Uniforms 214\u003c\/p\u003e \u003cp\u003ePoint Light 217\u003c\/p\u003e \u003cp\u003ePoint Light Shader Code 218\u003c\/p\u003e \u003cp\u003eLight Attenuation 221\u003c\/p\u003e \u003cp\u003ePoint Light with Attenuation Code 222\u003c\/p\u003e \u003cp\u003eThe Attenuation Uniforms 223\u003c\/p\u003e \u003cp\u003eSpherical Point Light 224\u003c\/p\u003e \u003cp\u003eTweaking the Point Light Code 225\u003c\/p\u003e \u003cp\u003eSpot Light 227\u003c\/p\u003e \u003cp\u003eSpot Light Shader Code 229\u003c\/p\u003e \u003cp\u003eMultiple Lights 231\u003c\/p\u003e \u003cp\u003eMaking the Shader Program Dynamic 233\u003c\/p\u003e \u003cp\u003eSummary 234\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 11: ADVANCED FX 237\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eRender to Texture 238\u003c\/p\u003e \u003cp\u003ePost-Processing Effects 238\u003c\/p\u003e \u003cp\u003eFirst Rendering Pass 241\u003c\/p\u003e \u003cp\u003eSecond Pass 242\u003c\/p\u003e \u003cp\u003eFullscreen Pass and Blur Shader 243\u003c\/p\u003e \u003cp\u003eProjected Texture 246\u003c\/p\u003e \u003cp\u003eProjector Shader 249\u003c\/p\u003e \u003cp\u003eProjected Real-Time Shadows 250\u003c\/p\u003e \u003cp\u003eCasting Shadows Using the Depth Texture 253\u003c\/p\u003e \u003cp\u003eA Few More Words about the Frame Buffer Object 254\u003c\/p\u003e \u003cp\u003eParticles 255\u003c\/p\u003e \u003cp\u003eSummary 257\u003c\/p\u003e \u003cp\u003e\u003cb\u003eCHAPTER 12: SKELETAL ANIMATION 259\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eTraditional vs. Modern Animation Systems 260\u003c\/p\u003e \u003cp\u003eThe MD5 File Format 261\u003c\/p\u003e \u003cp\u003eLoading an MD5 Mesh 261\u003c\/p\u003e \u003cp\u003eAnimating the Mesh 264\u003c\/p\u003e \u003cp\u003eLERP 266\u003c\/p\u003e \u003cp\u003eSLERP 267\u003c\/p\u003e \u003cp\u003eBlending Animation 267\u003c\/p\u003e \u003cp\u003eAdditive Blending 269\u003c\/p\u003e \u003cp\u003eSummary 271\u003c\/p\u003e \u003cp\u003eINDEX 273\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eSubject Areas: Computer programming \/ software development [\u003ca title=\"See our other books on Computer programming \/ software development\" href=\"https:\/\/freshlyprintedbooks.co.uk\/search?q=%22Computer%20programming%20\/%20software%20development%20%5BUM%5D%22\"\u003eUM\u003c\/a\u003e]\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003c\/font\u003e","brand":"Wrox","offers":[{"title":"Brand New","offer_id":52431037104408,"sku":"9781119975915","price":22.77,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0730\/2037\/5320\/files\/9781119975915.jpg?v=1784768938","url":"https:\/\/freshlyprintedbooks.co.uk\/products\/game-and-graphics-programming-for-ios-and-android-with-opengl-es-2-0-paperback-softback-9781119975915","provider":"Freshly Printed Books","version":"1.0","type":"link"}