Learning OpenGL ES for iOS: A Hands-on Guide to Modern 3D Graphics Programming

Overview

Get Started Fast with Modern OpenGL ES Graphics Programming for iPhone, iPod touch, and iPad

OpenGL ES technology underlies the user interface and graphical capabilities of Apple’s iPhone, iPod touch, and iPad–as well as devices ranging from video-game consoles and aircraft-cockpit displays to non-Apple smartphones. In this friendly, thorough introduction, Erik M. Buck shows how to make the most of Open GL ES in Apple’s iOS environment.

This ...

See more details below
Paperback
$30.43
BN.com price
(Save 32%)$44.99 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Paperback)
  • All (15) from $23.00   
  • New (12) from $24.28   
  • Used (3) from $23.00   
Learning OpenGL ES for iOS: A Hands-on Guide to Modern 3D Graphics Programming

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK
  • NOOK HD/HD+ Tablet
  • NOOK
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac

Want a NOOK? Explore Now

NOOK Book (eBook)
$19.99
BN.com price
(Save 44%)$35.99 List Price

Overview

Get Started Fast with Modern OpenGL ES Graphics Programming for iPhone, iPod touch, and iPad

OpenGL ES technology underlies the user interface and graphical capabilities of Apple’s iPhone, iPod touch, and iPad–as well as devices ranging from video-game consoles and aircraft-cockpit displays to non-Apple smartphones. In this friendly, thorough introduction, Erik M. Buck shows how to make the most of Open GL ES in Apple’s iOS environment.

This highly anticipated title focuses on modern, efficient approaches that use the newest versions of OpenGL ES, helping you avoid the irrelevant, obsolete, and misleading techniques that litter the Internet. Buck embraces Objective-C and Cocoa Touch, showing how to leverage Apple’s powerful, elegant GLKit framework to maximize your productivity, achieve tight platform integration, and deliver exceptionally polished apps.

If you’ve written C or C++ code and know object-oriented programming basics, this title brings together everything you need to fully master OpenGL ES graphics for iOS–including downloadable examples specifically designed to jumpstart your own projects.

Coverage includes

• Understanding core OpenGL ES computer graphics concepts and iOS graphics architecture

• Integrating Cocoa Touch with OpenGL ES to leverage the power of Apple’s platform

• Creating textures from start to finish: opacity, blending, multi-texturing, and compression

• Simulating ambient, diffuse, and specular light

• Using transformations to render 3D geometric objects from any point of view

• Animating scenes by controlling time through application logic

• Partitioning data to draw expansive outdoor scenes with rolling terrain

• Detecting and handling user interaction with 3D geometry

• Implementing special effects ranging from skyboxes to particles and billboards

• Systematically optimizing graphics performance

• Understanding the essential linear algebra concepts used in computer graphics

• Designing and constructing a complete simulation that incorporates everything you’ve learned

Read More Show Less

Product Details

  • ISBN-13: 9780321741837
  • Publisher: Addison-Wesley
  • Publication date: 8/10/2012
  • Series: Learning Series
  • Edition number: 1
  • Pages: 352
  • Sales rank: 1,389,820
  • Product dimensions: 6.90 (w) x 8.90 (h) x 0.90 (d)

Meet the Author

Erik M. Buck is a serial entrepreneur and author. He co-wrote Cocoa Programming in 2003 and Cocoa Design Patterns in 2009. He founded his first company, EMB & Associates, Inc., in 1993 and built the company into a leader in the aerospace and entertainment software industries. Mr. Buck has also worked in construction, taught science to 8th graders, exhibited oil on canvas portraits, and developed alternative fuel vehicles. Mr. Buck sold his company in 2002 and took the opportunity to pursue other interests, including his latest startup, cosmicthump.com. Mr. Buck is an Adjunct Professor of Computer Science at Wright State University and teaches iOS programming courses. He received a BS in Computer Science from the University of Dayton in 1991.

Read More Show Less

Table of Contents

Preface x

1 Using Modern Mobile Graphics Hardware 1

What Is 3D Rendering? 2

Supplying the Graphics Processor with Data 4

The OpenGL ES Context 9

The Geometry of a 3D Scene 9

Summary 17

2 Making the Hardware Work for You 19

Drawing a Core Animation Layer with OpenGL ES 19

Combining Cocoa Touch with OpenGL ES 22

The OpenGLES_Ch2_1 Example 27

Deep Dive: How Does GLKView Work? 42

Extrapolating from GLKit 51

Summary 58

3 Textures 59

What Is a Texture? 59

The OpenGLES_Ch3_1 Example 65

Deep Dive: How Does GLKTextureLoader Work? 69

The OpenGLES_Ch3_3 Example 76

Opacity, Blending, and Multi-Texturing 77

Texture Compression 84

Summary 85

4 Shedding Some Light 87

Ambient, Diffuse, and Specular Light 88

Calculating How Much Light Hits Each Triangle 90

Using GLKit Lighting 95

The OpenGLES_Ch4_1 Example 97

Bake Lighting into Textures 104

Fragment Operations 105

Summary 106

5 Changing Your Point of View 107

The Depth Render Buffer 107

The OpenGLES_Ch5_1 and OpenGLES_Ch5_2 Examples 109

Deep Dive: Adding a Depth Buffer Without GLKKit 115

Transformations 117

Transformation Cookbook 129

Perspective and the Viewing Frustum 130

Summary 132

6 Animation 133

Motion Within a Scene: The OpenGLES_Ch6_1 Example 134

Animating Vertex Data 140

Animating Colors and Lights: The OpenGLES_Ch6_3 Example 148

Animating Textures 153

Summary 157

7 Loading and Using Models 159

Modeling Tools and Formats 160

Reading modelplist Files 165

The OpenGLES_Ch7_1 Example 168

Advanced Models 172

Summary 181

8 Special Effects 183

Skybox 183

Deep Dive: How Does GLKSkyboxEffect Work? 186

Particles 199

Billboards 206

Summary 216

9 Optimization 217

Render as Little as Possible 218

Don’t Guess: Profile 232

Minimize Buffer Copying 234

Minimize State Changes 235

Summary 236

10 Terrain and Picking 237

Terrain Implementation 237

Adding Models 249

OpenGL ES Camera 253

Picking 258

Optimizing 267

Summary 274

11 Math Cheat Sheet 277

Overview 278

Decoding a Matrix 279

Quaternions 296

Surviving Graphics Math 297

Summary 301

12 Putting It All Together 303

Overview 304

Everything All the Time 306

Device Motion 323

Summary 325

Index 327

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)