iPhone 3D Programming
Developing Graphical Applications with OpenGL ES
Copyright © 2009 Philip Rideout
All rights reserved.
Abstract
Note
You are reading the text of an O'Reilly book that's under development. The author is publishing the book to this site as it's being written, and we're putting it here to get feedback from you. This book uses the Open Feedback Publishing System (OFPS), an O'Reilly experiment that tries to bridge the gap between private manuscripts and public blogs.
Next to every paragraph, there is a link you can use to comment on what you're reading. We are grateful for any feedback you have: questions, comments, suggestions, and corrections are all welcome and appreciated.
Learn more and preorder at the book's catalog page.
The sample code for this book is available at http://examples.oreilly.com/9780596804831/.
Dedication
Frank and Doris Rideout
1916-1998 and 1919-2007
- Foreword
- Preface
- 1. Quick Start Guide
- Transitioning to Apple Technology
- A Brief History of OpenGL ES
- Choosing the Appropriate Version of OpenGL ES
- Getting Started
- Hello Arrow with Fixed Function
- Layering Your 3D Application
- Starting from Scratch
- Linking in the OpenGL and Quartz Libraries
- Subclassing UIView
- Hooking Up the Application Delegate
- Setting Up the Icons and Launch Image
- Dealing with the Status Bar
- Defining and Consuming the Rendering Engine Interface
- Implementing the Rendering Engine
- Handling Device Orientation
- Animating the Rotation
- Hello Arrow with Shaders
- Wrapping Up
- 2. Math and Metaphors
- 3. Vertices and Touch Points
- 4. Adding Depth and Realism
- 5. Textures and Image Capture
- Adding Textures to Model Viewer
- Texture Coordinates Revisited
- Fight Aliasing with Filtering
- Texture Formats and Types
- Texture Compression with PVRTC
- The PowerVR SDK and Low-Precision Textures
- Generating and Transforming OpenGL Textures with Quartz
- Dealing with Size Constraints
- Creating Textures with the Camera
- Wrapping Up
- 6. Blending and Augmented Reality
- Blending Recipe
- Wrangle Pre-Multiplied Alpha
- Blending Caveats
- Blending Extensions and Their Uses
- Shifting Texture Color with Per-Vertex Color
- Poor Man's Reflection with the Stencil Buffer
- Stencil Alternatives for Older iPhones
- Antialiasing Tricks with Offscreen FBOs
- Rendering Antialiased Lines with Textures
- Holodeck Sample
- Wrapping Up
- 7. Sprites and Text
- 8. Advanced Lighting and Texturing
- 9. Optimizing
- A. C++ Vector Library




Add a comment



Add a comment