The Open Graphics Library (OpenGL) is a cross-platform C-based interface used for visualizing 2D and 3D data. It is a multipurpose open-standard graphics library that supports applications for 2D and 3D digital content creation, mechanical and architectural design, virtual prototyping, flight simulation, video games, and more. OpenGL allows application developers to specify models as points, lines, or polygons to which an infinite number of shading techniques can be applied to produce a desired rendering effect. OpenGL functions send graphics commands to the underlying hardware, where they are then rendered. Because this underlying hardware is dedicated to processing graphics commands, OpenGL drawing is typically very fast.
OpenGL for Embedded Systems (OpenGL ES) is a version of OpenGL designed for mobile devices and takes advantage of modern graphics hardware. OpenGL ES simplifies the OpenGL interface, making it both easier for hardware to implement and also easier to learn.
You should read this document if
You are new to OpenGL ES and want to determine if it is the right programming interface to use in your application.
You are familiar with OpenGL or OpenGL ES and want to learn how to use it on iOS.
This document is organized into the following sections:
“OpenGL ES on iOS” presents an overview of OpenGL ES and how it fits into the graphics subsystem on iOS.
“Determining OpenGL ES Capabilities” recommends how you can choose a version of OpenGL ES and test its capabilities at runtime in order to provide a robust experience inside your application on every iOS-based device.
“Working with OpenGL ES Contexts and Framebuffers” describes how to work with EAGL to create a drawing context and a framebuffer as the destination for your drawing commands.
“Best Practices for Working with Vertex Data” describes how to efficiently submit your geometry to the OpenGL ES rendering pipeline.
“Best Practices for Working with Texture Data” describes strategies for creating and using texture data.
“Performance Guidelines” provides general purpose guidelines on how to improve your application’s performance on both OpenGL ES 1.1 and OpenGL ES 2.0.
“Platform Notes” provides detailed information on iPhone Simulator as well as the MBX and SGX graphics processors available on iOS-based devices.
“Using texturetool to Compress Textures” describes how you can use texturetool
to reduce the memory usage of your textures.
OpenGL ES is an open standard defined by the Khronos Group. For more information about OpenGL ES 1.1 and 2.0, please consult their web page at http://www.khronos.org/opengles/.
OpenGL ES API Registry is the official repository for the OpenGL ES 1.1 and OpenGL ES 2.0 specifications, the OpenGL ES shading language specification, and documentation on extensions to OpenGL ES.
OpenGL ES 1.1 Reference Pages provides a complete reference to the OpenGL ES 1.1 specification, indexed alphabetically.
OpenGL ES 2.0 Reference Pages provides a complete reference to the OpenGL ES 2.0 specification, indexed alphabetically.
OpenGL ES Framework Reference describes functions and classes provided by Apple to allow OpenGL ES to be used on iOS.
Last updated: 2010-07-09