Do you have a great idea for a graphics-intensive iPhone application, but don't know how to bring it to life? This book offers the perfect solution: a crash course on the OpenGL graphics library with an overview of iPhone 3D development. Whether you're an experienced OpenGL developer looking to build iPhone apps for the first time, or an iPhone developer wanting to learn sophisticated graphics, iPhone 3D Programming brings both of these worlds together in one concise, easy-to-use guide.
Do you have a great idea for a graphics-intensive iPhone application, but don't know how to bring it to life? This book offers the perfect solution: a crash course on the OpenGL graphics library with an overview of iPhone 3D development. Whether you're an experienced OpenGL developer looking to build iPhone apps for the first time, or an iPhone developer wanting to learn sophisticated graphics, iPhone 3D Programming brings both of these worlds together in one concise, easy-to-use guide.Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Philip Rideout has been a fanatic of real-time graphics programming for over a decade. He has held positions at several pioneering graphics companies, including Intergraph, 3Dlabs, and NVIDIA. Philip currently works at Medical Simulation Corporation in Denver, where he develops new ways to visualize the inside of the human body.
Inhaltsangabe
Foreword Preface How to Read This Book Conventions Used in This Book Using Code Examples Safari® Books Online How to Contact Us Acknowledgments Chapter 1: Quick-Start Guide 1.1 Transitioning to Apple Technology 1.2 A Brief History of OpenGL ES 1.3 Choosing the Appropriate Version of OpenGL ES 1.4 Getting Started 1.5 HelloArrow with Fixed Function 1.6 HelloArrow with Shaders 1.7 Wrapping Up Chapter 2: Math and Metaphors 2.1 The Assembly Line Metaphor 2.2 Assembling Primitives from Vertices 2.3 Associating Properties with Vertices 2.4 The Life of a Vertex 2.5 The Photography Metaphor 2.6 Saving and Restoring Transforms with Matrix Stacks 2.7 Animation 2.8 Vector Beautification with C++ 2.9 HelloCone with Fixed Function 2.10 HelloCone with Shaders 2.11 Wrapping Up Chapter 3: Vertices and Touch Points 3.1 Reading the Touchscreen 3.2 Saving Memory with Vertex Indexing 3.3 Boosting Performance with Vertex Buffer Objects 3.4 Creating a Wireframe Viewer 3.5 Wrapping Up Chapter 4: Adding Depth and Realism 4.1 Examining the Depth Buffer 4.2 Creating and Using the Depth Buffer 4.3 Filling the Wireframe with Triangles 4.4 Surface Normals 4.5 Lighting Up 4.6 Shaders Demystified 4.7 Adding Shaders to ModelViewer 4.8 Better Wireframes Using Polygon Offset 4.9 Loading Geometry from OBJ Files 4.10 Wrapping Up Chapter 5: Textures and Image Capture 5.1 Adding Textures to ModelViewer 5.2 Texture Coordinates Revisited 5.3 Fight Aliasing with Filtering 5.4 Texture Formats and Types 5.5 Texture Compression with PVRTC 5.6 The PowerVR SDK and Low-Precision Textures 5.7 Generating and Transforming OpenGL Textures with Quartz 5.8 Dealing with Size Constraints 5.9 Creating Textures with the Camera 5.10 Wrapping Up Chapter 6: Blending and Augmented Reality 6.1 Blending Recipe 6.2 Wrangle Premultiplied Alpha 6.3 Blending Caveats 6.4 Blending Extensions and Their Uses 6.5 Shifting Texture Color with Per-Vertex Color 6.6 Poor Man's Reflection with the Stencil Buffer 6.7 Stencil Alternatives for Older iPhones 6.8 Anti-Aliasing Tricks with Offscreen FBOs 6.9 Rendering Anti-Aliased Lines with Textures 6.10 Holodeck Sample 6.11 Wrapping Up Chapter 7: Sprites and Text 7.1 Text Rendering 101: Drawing an FPS Counter 7.2 Simplify with glDrawTexOES 7.3 Crisper Text with Distance Fields 7.4 Animation with Sprite Sheets 7.5 Image Composition and a Taste of Multitexturing 7.6 Mixing OpenGL ES and UIKit 7.7 Rendering Confetti, Fireworks, and More: Point Sprites 7.8 Chapter Finale: SpringyStars 7.9 Wrapping Up Chapter 8: Advanced Lighting and Texturing 8.1 Texture Environments under OpenGL ES 1.1 8.2 Bump Mapping and DOT3 Lighting 8.3 Reflections with Cube Maps 8.4 Anisotropic Filtering: Textures on Steroids 8.5 Image-Processing Example: Bloom 8.6 Wrapping Up Chapter 9: Optimizing 9.1 Instruments 9.2 Understand the CPU/GPU Split 9.3 Vertex Submission: Above and Beyond VBOs 9.4 Lighting Optimizations 9.5 Texturing Optimizations 9.6 Culling and Clipping 9.7 Shader Performance 9.8 Optimizing Animation with Vertex Skinning 9.9 Further Reading C++ Vector Library Disclaimer Regarding Performance Vector.hpp Matrix.hpp Quaternion.hpp Colophon
Foreword Preface How to Read This Book Conventions Used in This Book Using Code Examples Safari® Books Online How to Contact Us Acknowledgments Chapter 1: Quick-Start Guide 1.1 Transitioning to Apple Technology 1.2 A Brief History of OpenGL ES 1.3 Choosing the Appropriate Version of OpenGL ES 1.4 Getting Started 1.5 HelloArrow with Fixed Function 1.6 HelloArrow with Shaders 1.7 Wrapping Up Chapter 2: Math and Metaphors 2.1 The Assembly Line Metaphor 2.2 Assembling Primitives from Vertices 2.3 Associating Properties with Vertices 2.4 The Life of a Vertex 2.5 The Photography Metaphor 2.6 Saving and Restoring Transforms with Matrix Stacks 2.7 Animation 2.8 Vector Beautification with C++ 2.9 HelloCone with Fixed Function 2.10 HelloCone with Shaders 2.11 Wrapping Up Chapter 3: Vertices and Touch Points 3.1 Reading the Touchscreen 3.2 Saving Memory with Vertex Indexing 3.3 Boosting Performance with Vertex Buffer Objects 3.4 Creating a Wireframe Viewer 3.5 Wrapping Up Chapter 4: Adding Depth and Realism 4.1 Examining the Depth Buffer 4.2 Creating and Using the Depth Buffer 4.3 Filling the Wireframe with Triangles 4.4 Surface Normals 4.5 Lighting Up 4.6 Shaders Demystified 4.7 Adding Shaders to ModelViewer 4.8 Better Wireframes Using Polygon Offset 4.9 Loading Geometry from OBJ Files 4.10 Wrapping Up Chapter 5: Textures and Image Capture 5.1 Adding Textures to ModelViewer 5.2 Texture Coordinates Revisited 5.3 Fight Aliasing with Filtering 5.4 Texture Formats and Types 5.5 Texture Compression with PVRTC 5.6 The PowerVR SDK and Low-Precision Textures 5.7 Generating and Transforming OpenGL Textures with Quartz 5.8 Dealing with Size Constraints 5.9 Creating Textures with the Camera 5.10 Wrapping Up Chapter 6: Blending and Augmented Reality 6.1 Blending Recipe 6.2 Wrangle Premultiplied Alpha 6.3 Blending Caveats 6.4 Blending Extensions and Their Uses 6.5 Shifting Texture Color with Per-Vertex Color 6.6 Poor Man's Reflection with the Stencil Buffer 6.7 Stencil Alternatives for Older iPhones 6.8 Anti-Aliasing Tricks with Offscreen FBOs 6.9 Rendering Anti-Aliased Lines with Textures 6.10 Holodeck Sample 6.11 Wrapping Up Chapter 7: Sprites and Text 7.1 Text Rendering 101: Drawing an FPS Counter 7.2 Simplify with glDrawTexOES 7.3 Crisper Text with Distance Fields 7.4 Animation with Sprite Sheets 7.5 Image Composition and a Taste of Multitexturing 7.6 Mixing OpenGL ES and UIKit 7.7 Rendering Confetti, Fireworks, and More: Point Sprites 7.8 Chapter Finale: SpringyStars 7.9 Wrapping Up Chapter 8: Advanced Lighting and Texturing 8.1 Texture Environments under OpenGL ES 1.1 8.2 Bump Mapping and DOT3 Lighting 8.3 Reflections with Cube Maps 8.4 Anisotropic Filtering: Textures on Steroids 8.5 Image-Processing Example: Bloom 8.6 Wrapping Up Chapter 9: Optimizing 9.1 Instruments 9.2 Understand the CPU/GPU Split 9.3 Vertex Submission: Above and Beyond VBOs 9.4 Lighting Optimizations 9.5 Texturing Optimizations 9.6 Culling and Clipping 9.7 Shader Performance 9.8 Optimizing Animation with Vertex Skinning 9.9 Further Reading C++ Vector Library Disclaimer Regarding Performance Vector.hpp Matrix.hpp Quaternion.hpp Colophon
Rezensionen
"Dieses Buch ist nicht für den Nachtisch geeignet, sondern für den Schreibtisch. Es bereitet Spaß, es neben den Laptop zu legen und die Listings nachzuvollziehen." - ix, 12/2010
Es gelten unsere Allgemeinen Geschäftsbedingungen: www.buecher.de/agb
Impressum
www.buecher.de ist ein Internetauftritt der buecher.de internetstores GmbH
Geschäftsführung: Monica Sawhney | Roland Kölbl | Günter Hilger
Sitz der Gesellschaft: Batheyer Straße 115 - 117, 58099 Hagen
Postanschrift: Bürgermeister-Wegele-Str. 12, 86167 Augsburg
Amtsgericht Hagen HRB 13257
Steuernummer: 321/5800/1497