The Standard for Embedded Accelerated 3D Graphics
OpenGL® ES is a royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded systems - including consoles, phones, appliances and vehicles. It consists of well-defined subsets of desktop OpenGL, creating a flexible and powerful low-level interface between software and graphics acceleration. OpenGL ES includes profiles for floating-point and fixed-point systems and the EGL™ specification for portably binding to native windowing systems. OpenGL ES 1.X is for fixed function hardware and offers acceleration, image quality and performance. OpenGL ES 2.X enables full programmable 3D graphics. OpenGL SC is tuned for the safety critical market.
OpenGL ES 1.1 at a glance
OpenGL ES 1.1 is derived from desktop OpenGL 1.5 and emphasizes hardware acceleration of the API, but is fully backwards compatible with OpenGL ES 1.0. OpenGL ES 1.1 provides enhanced functionality, improved image quality and optimizations to increase performance while reducing memory bandwidth usage to save power.
OpenGL ES 1.1 and OpenGL ES 1.1 Extension Pack
For fixed function hardware: OpenGL ES 1.1 is defined relative to the OpenGL 1.5 specification and emphasizes hardware acceleration of the API, but is fully backwards compatible with 1.0. It provides enhanced functionality, improved image quality and optimizations to increase performance while reducing memory bandwidth usage to save power. The OpenGL ES 1.1 Extension Pack is a collection of optional extensions added to OpenGL ES 1.1 that reduced variability and bring significant improvements in image quality and performance. Learn More...
The OpenGL ES 1.1 specification and extension pack, header files, and optional extension specifications are available in the OpenGL ES API Registry.
The OpenGL ES 1.1 and EGL Online Manual Pages are also available.
OpenGL ES 1.1 Extension Pack at a glance
The OpenGL ES 1.1 Extension Pack is a collection of optional extensions added to OpenGL ES 1.1 to reduce variability for easier application porting and add enhanced functionality including cube maps, frame buffer objects, larger matrix palettes, and enhanced texturing and stencil modes.
OpenGL ES 1.0 at a glance
OpenGL ES 1.0 is defined relative to the OpenGL 1.3 specification and emphasizes enabling software rendering and basic hardware acceleration.
OpenGL ES 1.0 is defined relative to the OpenGL 1.3 specification and emphasizes enabling software rendering and basic hardware acceleration using the API.
OpenGL ES 1.1 in more detail
In addition to the features in OpenGL ES 1.0, OpenGL ES 1.1 adds:
- OpenGL 1.5 as a reference - the specification is defined relative to the
OpenGL 1.5 specification.
- Buffer objects provide a mechanism that clients can use to allocate, initialize and render from memory. Buffer objects can be used to store vertex array and element index data.
- Auto mipmap generation can offload the application from having to generate mip-levels. Hardware implementations can potentially accelerate auto mip-level generation especially for video textures or when rendering to texture.
A texture is considered incomplete in OpenGL ES if the set of mipmap arrays are not specified with the same type. The check for completeness is done when a given texture is used to render geometry.
- Enhanced texture processing including a minimum of two multi-textures and texture combiner functionality for effects such as bump-mapping and per-pixel lighting. All OpenGL 1.5 texture environments except for the texture crossbar are supported.
- Vertex skinning functionality using the oes_matrix_palette extension allows smooth animation of complex figures and geometries. The extension allow OpenGL ES to support a palette of matrices. The matrix palette defines a set of
matrices that can be used to transform a vertex. The matrix palette is not part of the model view matrix
- User-defined clip planes permit for efficient early culling of non-visible polygons -increasing performance and saving power
- Enhanced point sprites and point sprite arrays provides a method for application to draw particles using points instead
of quads. This enables efficient and realistic particle effects. The point sprites extension also allows an app to specify texture coordinates that are interpolated across
the point instead of the same texture coordinate used by traditional GL points. The Point Size Array extension permits
an array of point sizes instead of a fixed input point size and provides flexibility for applications to do particle effects.
- Static and Dynamic state queries are supported for static and dynamic state explicitly supported in the profile. The supported
GL state queries can be categorized into simple queries, enumerated queries, texture queries, pointer and
string queries, and buffer object queries. This enables OpenGL ES to be used in a sophisticated, layered software environment
- Draw Texture defines a mechanism for writing pixel rectangles from one or more
textures to a rectangular region of the screen. This capability is useful for fast rendering of background
paintings, bitmapped font glyphs, and 2D framing elements in games
- New Core Additons and Profile Extensions for the Common and Common-Lite profiles add subsets of the OES byte coordinates, OES fixed - point, OES single precision and OES matrix get ES-specific extensions as core additions; OES - read format, OES compressed paletted texture, OES point size array and OES point sprite as required profile extensions; and OES matrix palette and OES draw texture as optional profile extensions.
OpenGL ES 1.1 Extension Pack in more detail
The OpenGL ES 1.1 Extension Pack collects together a number of optional extensions in one specification to extend OpenGL ES functionality for fixed function hardware. The Extension Pack also raises the baseline for visual configurations to reduce the number of variations that ISVs have to support - making porting OpenGL ES of applications across multiple platforms easier and faster. It is the intent of the OpenGL ES working group that OpenGL ES 1.2 will make the list of features / extensions defined by this extension pack mandatory. OpenGL ES 1.1 Extension pack adds:
- Cube Maps for a more realistic environment.
- Texture Environment Crossbar adds the capability to use the texture color from other texture units as sources to the COMBINE environment function. OpenGL ES 1.1 defined texture combine functions which could use the color from the current texture unit as a source. This extension adds the ability to use the color from any texture unit as a source.
- Mirrored Texture Addressing extends the set of texture wrap modes to include a mode (GL_MIRRORED_REPEAT) that effectively uses a texture map twice as large as the original image in which the additional half, for each coordinate, of the new image is a mirror image of the original image. This new mode relaxes the need to generate images whose opposite edges match by using the original image to generate a matching "mirror image".
- Blending Extensions to allow independent setting of the RGB and alpha blend factors for blend operations that require source and destination blend factors and provide a separate blend equation for RGB and alpha to match the generality available for blend factors.
- Stencil Extensions extend the StencilOp functions to support INCR_WRAP and DECR_WRAP modes.
- Extended Matrix Palette enables higher quality skinning by increasing the minimum size of the matrix palette from 9 to 32, allowing applications to render geometry with minimal number of calls to glDrawElements or glDrawArrays.
- Framebuffer Objects offer simplified and more powerful surface management by defining a simple interface for drawing to rendering destinations other than the buffers provided to the GL by the window-system.
Implementers of OpenGL ES 1_X
- Vivante Corporation
- Imagination Technologies
- Apple, Inc.
- Creative Technology Ltd
- MediaTek Inc
- NOKIA OYJ
- Digital Media Professionals
- Broadcom Corporation
- Google, Inc.
- HISILICON TECHNOLOGIES CO.,LTD.
- NexusChips Co., Ltd.
- Creative Labs