OpenGL ES
Encyclopedia
OpenGL for Embedded Systems (OpenGL ES) is a subset of the OpenGL
3D graphics
application programming interface
(API) designed for embedded systems such as mobile phone
s, PDA
s, and video game console
s. OpenGL ES is managed by the not-for-profit technology consortium
, the Khronos Group, Inc
.
Version 1.0 and 1.1 both have common and common lite profiles, the difference being that the common lite profile only supports fixed-point
instead of floating point
data type support, whereas common supports both.
data types for vertex coordinates and attributes to better support the computational abilities of embedded processors, which often lack a floating point unit
(FPU). Many other functions were removed in version 1.0 to produce a lightweight interface: for example, quad and polygon primitive rendering, texgen, line and polygon stipple, polygon mode, antialiased polygon rendering (with alpha border fragments, not multisample),
generation, vertex buffer objects, state queries, user clip planes, and greater control over point rendering.
written by the graphics programmer. As a result, OpenGL ES 2.0 is not backward compatible
with OpenGL ES 1.1.
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...
3D graphics
3D computer graphics
3D computer graphics are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images...
application programming interface
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
(API) designed for embedded systems such as mobile phone
Mobile phone
A mobile phone is a device which can make and receive telephone calls over a radio link whilst moving around a wide geographic area. It does so by connecting to a cellular network provided by a mobile network operator...
s, PDA
Personal digital assistant
A personal digital assistant , also known as a palmtop computer, or personal data assistant, is a mobile device that functions as a personal information manager. Current PDAs often have the ability to connect to the Internet...
s, and video game console
Video game console
A video game console is an interactive entertainment computer or customized computer system that produces a video display signal which can be used with a display device to display a video game...
s. OpenGL ES is managed by the not-for-profit technology consortium
Consortium
A consortium is an association of two or more individuals, companies, organizations or governments with the objective of participating in a common activity or pooling their resources for achieving a common goal....
, the Khronos Group, Inc
Khronos Group
The Khronos Group is a not-for-profit member-funded industry consortium based in Beaverton, Oregon, focused on the creation of open standard, royalty-free APIs to enable the authoring and accelerated playback of dynamic media on a wide variety of platforms and devices...
.
Versions
Several versions of the OpenGL ES specification now exist. OpenGL ES 1.0 is drawn up against the OpenGL 1.3 specification, OpenGL ES 1.1 is defined relative to the OpenGL 1.5 specification and OpenGL ES 2.0 is defined relative to the OpenGL 2.0 specification. This means that, for example, an application written for OpenGL ES 1.0 should be easily portable to the desktop OpenGL 1.3; as the OpenGL ES is a stripped-down version of the API the reverse may or may not be true, depending on the particular features used.Version 1.0 and 1.1 both have common and common lite profiles, the difference being that the common lite profile only supports fixed-point
Fixed-point arithmetic
In computing, a fixed-point number representation is a real data type for a number that has a fixed number of digits after the radix point...
instead of floating point
Floating point
In computing, floating point describes a method of representing real numbers in a way that can support a wide range of values. Numbers are, in general, represented approximately to a fixed number of significant digits and scaled using an exponent. The base for the scaling is normally 2, 10 or 16...
data type support, whereas common supports both.
OpenGL ES 1.0
Contained much functionality stripped from the original OpenGL API and a little bit added. Two of the more significant differences between OpenGL ES and OpenGL are the removal of theglBegin
... glEnd
calling semantics for primitive rendering (in favor of vertex arrays) and the introduction of fixed-pointFixed-point arithmetic
In computing, a fixed-point number representation is a real data type for a number that has a fixed number of digits after the radix point...
data types for vertex coordinates and attributes to better support the computational abilities of embedded processors, which often lack a floating point unit
Floating point unit
A floating-point unit is a part of a computer system specially designed to carry out operations on floating point numbers. Typical operations are addition, subtraction, multiplication, division, and square root...
(FPU). Many other functions were removed in version 1.0 to produce a lightweight interface: for example, quad and polygon primitive rendering, texgen, line and polygon stipple, polygon mode, antialiased polygon rendering (with alpha border fragments, not multisample),
ARB_Image
class pixel operation functionality, bitmaps, 3D texture, drawing to the frontbuffer, accumulation buffer, copy pixels, evaluators, selection, feedback, display lists, push and pop state attributes, back-face material parameters, and user defined clip planes.OpenGL ES 1.1
Adds to the OpenGL ES 1.0 functionality by introducing additional features such as mandatory support for multitexture, better multitexture support (with combiners and dot product texture operations), automatic mipmapMipmap
In 3D computer graphics texture filtering, MIP maps are pre-calculated, optimized collections of images that accompany a main texture, intended to increase rendering speed and reduce aliasing artifacts. They are widely used in 3D computer games, flight simulators and other 3D imaging systems. The...
generation, vertex buffer objects, state queries, user clip planes, and greater control over point rendering.
OpenGL ES 2.0
OpenGL ES 2.0 was publicly released in March 2007. It eliminates most of the fixed-function rendering pipeline in favor of a programmable one. Almost all rendering features of the transform and lighting pipelines, such as the specification of materials and light parameters formerly specified by the fixed-function API, are replaced by shadersShader
In the field of computer graphics, a shader is a computer program that is used primarily to calculate rendering effects on graphics hardware with a high degree of flexibility...
written by the graphics programmer. As a result, OpenGL ES 2.0 is not backward compatible
Backward compatibility
In the context of telecommunications and computing, a device or technology is said to be backward or downward compatible if it can work with input generated by an older device...
with OpenGL ES 1.1.
OpenGL ES 1.0
- Official 3D graphics APIApplication programming interfaceAn application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
of the operating systems Android and SymbianSymbianSymbian is a mobile operating system and computing platform designed for smartphones and currently maintained by Accenture. The Symbian platform is the successor to Symbian OS and Nokia Series 60; unlike Symbian OS, which needed an additional user interface system, Symbian includes a user... - Supported by the PlayStation 3PlayStation 3The is the third home video game console produced by Sony Computer Entertainment and the successor to the PlayStation 2 as part of the PlayStation series. The PlayStation 3 competes with Microsoft's Xbox 360 and Nintendo's Wii as part of the seventh generation of video game consoles...
as one of official graphics APIs (the other one being low level libgcm library), the PlayStation 3 also includes several features of OpenGL ES 2.0 - Supported by QNXQNXQNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. The product was originally developed by Canadian company, QNX Software Systems, which was later acquired by Canadian BlackBerry-producer Research In Motion.-Description:As a microkernel-based...
OpenGL ES 1.1
- Supported by Android 1.6
- Supported by iOS for iPadIPadThe iPad is a line of tablet computers designed, developed and marketed by Apple Inc., primarily as a platform for audio-visual media including books, periodicals, movies, music, games, and web content. The iPad was introduced on January 27, 2010 by Apple's then-CEO Steve Jobs. Its size and...
, iPhoneIPhoneThe iPhone is a line of Internet and multimedia-enabled smartphones marketed by Apple Inc. The first iPhone was unveiled by Steve Jobs, then CEO of Apple, on January 9, 2007, and released on June 29, 2007...
, and iPod TouchIPod TouchThe iPod Touch is a portable media player, personal digital assistant, handheld game console, and Wi-Fi mobile device designed and marketed by Apple Inc. The iPod Touch adds the multi-touch graphical user interface to the iPod line... - Supported by the BlackBerry 5.0 operating system series, however, only BlackBerry Storm 2BlackBerry Storm 2The BlackBerry Storm 2 is the second full touchscreen smartphone developed by Research In Motion .-Introduction:The BlackBerry Storm 2 is the first and only smartphone in the world to have a full clickable touchscreen powered by its piezoelectric sensors underneath the screen...
, BlackBerry Curve 8530 and later models have the needed hardware - Supported for Palm webOS, using the Plug-in Development Kit
- Supported by the Nintendo 3DSNintendo 3DSThe is a portable game console produced by Nintendo. The autostereoscopic device is able to project stereoscopic 3D effects without the use of 3D glasses or any additional accessories. The Nintendo 3DS features backward compatibility with Nintendo DS series software, including Nintendo DSi software...
OpenGL ES 2.0
- Supported by the iPadIPadThe iPad is a line of tablet computers designed, developed and marketed by Apple Inc., primarily as a platform for audio-visual media including books, periodicals, movies, music, games, and web content. The iPad was introduced on January 27, 2010 by Apple's then-CEO Steve Jobs. Its size and...
, iPhoneIPhoneThe iPhone is a line of Internet and multimedia-enabled smartphones marketed by Apple Inc. The first iPhone was unveiled by Steve Jobs, then CEO of Apple, on January 9, 2007, and released on June 29, 2007...
3GS or later, and iPod TouchIPod TouchThe iPod Touch is a portable media player, personal digital assistant, handheld game console, and Wi-Fi mobile device designed and marketed by Apple Inc. The iPod Touch adds the multi-touch graphical user interface to the iPod line...
3rd generation and later - Supported by the Android platform since Android 2.2
- Supported by the Android platform NDK since Android 2.0
- Support by BlackBerryBlackBerryBlackBerry is a line of mobile email and smartphone devices developed and designed by Canadian company Research In Motion since 1999.BlackBerry devices are smartphones, designed to function as personal digital assistants, portable media players, internet browsers, gaming devices, and much more...
devices with BlackBerry OSBlackBerry OSBlackBerry OS is a proprietary mobile operating system, developed by Research In Motion for its BlackBerry line of smartphone handheld devices...
7.0 - Supported by the BlackBerry PlayBookBlackBerry PlayBookThe BlackBerry PlayBook is a tablet computer by Research In Motion , best known for the BlackBerry smartphone. It competes against Apple's iPad and a slew of Android-powered tablets....
- 3D Library of the PandoraPandora (console)The Pandora is a handheld game console designed to take advantage of existing open source software and to be a target for homebrew development...
console - Chosen for WebGLWebGLWebGL is a software library that extends the capability of the JavaScript programming language to allow it to generate interactive 3D graphics within any compatible web browser...
: OpenGL for web browsers - Supported by some new NokiaNokiaNokia Corporation is a Finnish multinational communications corporation that is headquartered in Keilaniemi, Espoo, a city neighbouring Finland's capital Helsinki...
mobile phones, such as the MaemoMaemoMaemo is a software platform developed by the Maemo community for smartphones and Internet tablets. It is based on the Debian Linux distribution, but has no relation to it...
based Nokia N900Nokia N900The Nokia N900 is a smartphone made by Nokia. It supersedes the Nokia N810. Its default operating system, Maemo 5, is a Linux-based OS originally developed for the Nokia 770 Internet Tablet. It is the first Nokia device based upon the Texas Instruments OMAP3 microprocessor with the ARM Cortex-A8...
and the SymbianSymbianSymbian is a mobile operating system and computing platform designed for smartphones and currently maintained by Accenture. The Symbian platform is the successor to Symbian OS and Nokia Series 60; unlike Symbian OS, which needed an additional user interface system, Symbian includes a user...
^3 based Nokia N8Nokia N8The Nokia N8 is a Symbian^3 smartphone of the Nokia Nseries and Nokia's flagship device of 2010. It was released on 23 September 2010 at the Nokia Online Store before being released in markets around the world on 1 October 2010. The N8 features a 12 megapixel camera, a pentaband 3.5G radio and...
. - Supported by various SamsungSamsungThe Samsung Group is a South Korean multinational conglomerate corporation headquartered in Samsung Town, Seoul, South Korea...
mobile phones, including the Galaxy S and Wave - Supported for Palm webOS, using the Plug-in Development Kit
- Supported by the ArchosArchosArchos is a French consumer electronics company that was established in 1988 by Henri Crohas. Archos manufactures portable media players and portable data storage devices. The name is an anagram of Crohas' last name, and it is also Greek for 'master'...
Internet tablets: Archos 70 IT, Archos 101 IT, Archos 80 G9, Archos 101 G9
External links
- Public bug tracking
- OpenGL ES Conformant companies
- Public forums
- List of OpenGL ES compatible devices
- The Firefox effort to support 3D based on OpenGL ES with the <canvas> tag
- gDEBugger ES - OpenGL ES Debugger and Profiler including an OpenGL ES implementation on a Windows PC operating system
- ANGLE: OpenGL ES 2.0 implementation on top of Direct3D 9
- OpenGL ES Emulator