---
title: OpenGL ES
framework: OpenGL ES
role: collection
role_heading: Framework
platforms: [iOS 2.0+, iPadOS 2.0+, Mac Catalyst 2.0+, tvOS 9.0+, visionOS 1.0+]
path: opengles
---

# OpenGL ES

Create 3D and 2D graphics effects with this compact, efficient subset of OpenGL.

## Overview

Overview OpenGL ES provides a C-based interface for hardware-accelerated 2D and 3D graphics rendering. The OpenGL ES framework (OpenGLES.framework) in iOS provides implementations of versions 1.1, 2.0, and 3.0 of the OpenGL ES specification. This collection of documents describes the platform-specific APIs for OpenGL ES on iOS devices, also known as EAGL. EAGL provides graphics contexts that encapsulate all OpenGL ES state and the ability to configure a Core Animation layer to be the destination for OpenGL ES drawing commands. EAGL also allows OpenGL ES objects, such as textures, renderbuffers, and framebuffers, to be shared between two or more graphics contexts. The Khronos Group maintains the OpenGL ES specifications and references for the cross-platform OpenGL ES APIs: OpenGL ES API Registry is the official repository of OpenGL ES specification and extension documents provided by the Khronos Group. For a complete reference to the OpenGL ES APIs and OpenGL ES Shading Language, see the collection for the version of OpenGL ES you plan to use: OpenGL ES 1.1 Reference Pages OpenGL ES 2.0 Reference Pages OpenGL ES 3.0 Reference Pages

## Topics

### Classes

- [EAGLContext](opengles/eaglcontext.md)
- [EAGLSharegroup](opengles/eaglsharegroup.md)

### Protocols

- [EAGLDrawable](opengles/eagldrawable.md)

### Reference

- [EAGL Functions](opengles/eagl-functions.md)
- [OpenGL ES Enumerations](opengles/opengl-es-enumerations.md)
- [OpenGL ES Constants](opengles/opengl-es-constants.md)
- [OpenGL ES Functions](opengles/opengl-es-functions.md)
- [OpenGL ES Data Types](opengles/opengl-es-data-types.md)

### Variables

- [GL_SAMPLER_2D_SHADOW](opengles/gl_sampler_2d_shadow.md)
- [GL_TEXTURE_ENV_COLOR](opengles/gl_texture_env_color.md)
- [GL_TEXTURE_ENV_MODE](opengles/gl_texture_env_mode.md)
- [GL_TIMEOUT_IGNORED](opengles/gl_timeout_ignored.md)

### Functions

- [glFramebufferTextureLayer(_:_:_:_:_:)](opengles/glframebuffertexturelayer(_:_:_:_:_:).md)

## See Also

### Related Documentation

- [OpenGL ES Programming Guide](apple-archive/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/Introduction.md)
