Book description
What does it take to build an iPhone app with stunning 3D graphics? This book will show you how to apply OpenGL graphics programming techniques to any device running the iPhone OS -- including the iPad and iPod Touch -- with no iPhone development or 3D graphics experience required. iPhone 3D Programming provides clear step-by-step instructions, as well as lots of practical advice, for using the iPhone SDK and OpenGL.
You'll build several graphics programs -- progressing from simple to more complex examples -- that focus on lighting, textures, blending, augmented reality, optimization for performance and speed, and much more. All you need to get started is a solid understanding of C++ and a great idea for an app.
- Learn fundamental graphics concepts, including transformation matrices, quaternions, and more
- Get set up for iPhone development with the Xcode environment
- Become familiar with versions 1.1 and 2.0 of the OpenGL ES API, and learn to use vertex buffer objects, lighting, texturing, and shaders
- Use the iPhone's touch screen, compass, and accelerometer to build interactivity into graphics applications
- Build iPhone graphics applications such as a 3D wireframe viewer, a simple augmented reality application, a spring system simulation, and more
Publisher resources
Table of contents
- Dedication
- A Note Regarding Supplemental Files
- 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
-
HelloArrow 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
- HelloArrow with Shaders
- Wrapping Up
-
2. Math and Metaphors
- The Assembly Line Metaphor
- Assembling Primitives from Vertices
- Associating Properties with Vertices
- The Life of a Vertex
- The Photography Metaphor
- Saving and Restoring Transforms with Matrix Stacks
- Animation
- Vector Beautification with C++
- HelloCone with Fixed Function
- HelloCone with Shaders
- Wrapping Up
- 3. Vertices and Touch Points
- 4. Adding Depth and Realism
-
5. Textures and Image Capture
- Adding Textures to ModelViewer
- 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 Premultiplied 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
- Anti-Aliasing Tricks with Offscreen FBOs
- Rendering Anti-Aliased Lines with Textures
- Holodeck Sample
- Wrapping Up
-
7. Sprites and Text
- Text Rendering 101: Drawing an FPS Counter
- Simplify with glDrawTexOES
- Crisper Text with Distance Fields
- Animation with Sprite Sheets
- Image Composition and a Taste of Multitexturing
- Mixing OpenGL ES and UIKit
- Rendering Confetti, Fireworks, and More: Point Sprites
- Chapter Finale: SpringyStars
- Wrapping Up
- 8. Advanced Lighting and Texturing
- 9. Optimizing
- A. C++ Vector Library
- Index
- About the Author
- Colophon
- Copyright
Product information
- Title: iPhone 3D Programming
- Author(s):
- Release date: May 2010
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9780596804824
You might also like
book
Mastering iOS 12 Programming - Third Edition
Become a professional iOS developer with the most in-depth and advanced guide to Swift, Xcode 10, …
book
Beginning iPhone Games Development
iPhone games are hot! Just look at the numbers. Games make up over 25 percent of …
book
Pro OpenGL ES for Android
In Pro OpenGL ES for Android, you'll find out how to harness the full power of …
book
iOS and macOS™ Performance Tuning: Cocoa®, Cocoa Touch®, Objective-C®, and Swift™
In Marcel Weiher drills down to the code level to help you systematically optimize CPU, memory, …