Version 1.6, 2012-12-05
Fix various bugs in matrix and vector utility functions. Fix issues found by static analyzer. Update Support for iOS 6.0 and iPhone 5
(Full Revision History)
OSX version: OSX v10.7 or later, Xcode 3.1 or later; iPhone version: iOS SDK 4.0 or later
OSX version: OSX v10.6 or later, OSX 10.7 or later to use OpenGL 3.2; iOS version: iOS 4.0 or later (with OpenGL ES 2.0 support)
This sample provides examples of some essential techniques for using the OpenGL and OpenGL ES API. It includes usages of Vertex Buffer Objects (VBOs), Vertex Array Objects (VAOs), Framebuffer Objects (FBO), and GLSL Program Objects. It creates a VAO and VBOs from model data loaded in. It then creates a texture for the model from image data and GLSL shaders from source also loaded in. Finally, it creates an FBO and texture to render a reflection of the model. It uses an environment mapping GLSL program to apply the reflection texture to a plane.
This sample also demonstrates sharing of OSX OpenGL with iOS OpenGL ES source code. Additionally, it demonstrates how to obtain and use an OpenGL 3.2 rendering context on OSX 10.7 or later.
Many of these techniques were described in the "OpenGL Essential Design Practices" session from WWDC 2010.
© 2012 Apple Inc. All Rights Reserved. (Last updated: 2012-12-05)