OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the
OpenGL computer graphics rendering
Rendering or image synthesis is the process of generating a photorealistic or non-photorealistic image from a 2D or 3D model by means of a computer program. The resulting image is referred to as the render. Multiple models can be defined ...
application programming interface
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how t ...
(API) for rendering
2D and
3D computer graphics
3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for th ...
such as those used by
video game
Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, controller, keyboard, or motion sensing device to generate visual feedback. This fee ...
s, typically
hardware-accelerated
Hardware acceleration is the use of computer hardware designed to perform specific functions more efficiently when compared to software running on a general-purpose central processing unit (CPU). Any transformation of data that can be calcul ...
using a
graphics processing unit
A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
(GPU). It is designed for
embedded systems
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
like
smartphones
A smartphone is a portable computer device that combines mobile telephone and computing functions into one unit. They are distinguished from feature phones by their stronger hardware capabilities and extensive mobile operating systems, which ...
,
tablet computer
A tablet computer, commonly shortened to tablet, is a mobile device, typically with a mobile operating system and touchscreen display processing circuitry, and a rechargeable battery in a single, thin and flat package. Tablets, being comput ...
s,
video game console
A video game console is an electronic device that outputs a video signal or image to display a video game that can be played with a game controller. These may be home consoles, which are generally placed in a permanent location connected to ...
s and
PDAs. OpenGL ES is the "most widely deployed 3D graphics API in history".
The API is
cross-language and
multi-platform
In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software ...
. The
GLU library and the original
GLUT are not available for OpenGL ES,
freeglut
FreeGLUT is an open-source alternative to the OpenGL Utility Toolkit (GLUT) library. GLUT (and hence FreeGLUT) allows the user to create and manage windows containing OpenGL contexts on a wide range of platforms and also read the mouse, keyboard ...
however, supports it. OpenGL ES is managed by the
non-profit
A nonprofit organization (NPO) or non-profit organisation, also known as a non-business entity, not-for-profit organization, or nonprofit institution, is a legal entity organized and operated for a collective, public or social benefit, in co ...
technology
consortium
A consortium (plural: consortia) is an association of two or more individuals, companies, organizations or governments (or any combination of these entities) with the objective of participating in a common activity or pooling their resources for ...
Khronos Group
The Khronos Group, Inc. is an open, non-profit, member-driven consortium of 170 organizations developing, publishing and maintaining royalty-free interoperability standards for 3D graphics, virtual reality, augmented reality, parallel computation ...
.
Vulkan
Vulkan is a low- overhead, cross-platform API, open standard for 3D graphics and computing. Vulkan targets high-performance real-time 3D graphics applications, such as video games and interactive media. Vulkan is intended to offer higher perfor ...
, a next-generation API from Khronos, is made for simpler high performance drivers for mobile and desktop 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.
OpenGL ES comes with its own version of
shading language
A shading language is a graphics programming language adapted to programming shader effects (characterizing surfaces, volumes, and objects). Such language forms usually consist of special data types, like "vector", "matrix", "color" and " normal". ...
(OpenGL ES SL), which is different from
OpenGL SL.
Version 1.0 and 1.1 both have ''common'' (CM) and ''common lite'' (CL) profiles, the difference being that the ''common lite'' profile only supports
fixed-point instead of
floating point
In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can be ...
data type support, whereas ''common'' supports both.
OpenGL ES 1.0
OpenGL ES 1.0 was released publicly July 28, 2003. OpenGL ES 1.0 is based on the original OpenGL 1.3 API, with much functionality removed and a little bit added. One significant difference between OpenGL and OpenGL ES is that OpenGL ES removed the need to bracket OpenGL library calls with
glBegin
and
glEnd
. Other significant differences are that the calling semantics for primitive rendering functions were changed in favor of vertex arrays, and
fixed-point data types were introduced for vertex coordinates. Attributes were also added to better support the computational abilities of embedded processors, which often lack a
floating point unit
Floating may refer to:
* a type of dental work performed on horse teeth
* use of an isolation tank
* the guitar-playing technique where chords are sustained rather than scratched
* ''Floating'' (play), by Hugh Hughes
* Floating (psychological ...
(FPU). Many other functions and rendering primitives were removed in version 1.0 to produce a lightweight interface, including:
* quad and polygon rendering primitives;
* texgen, line, and polygon stipple;
* polygon mode and antialiased polygon rendering are not supported, although rendering using multisample is still possible (rather than alpha border fragments);
*
ARB_Image
pixel class operations, bitmaps, and 3D textures are not supported;
* several of the more technical drawing modes are eliminated, including frontbuffer and accumulation buffer;
* bitmap operations for copying pixels individually, evaluators, and user selection operations are not allowed;
* display lists and feedback are removed, as are push and pop operations for state attributes;
* and some material parameters were removed, including ''back-face'' parameters and user-defined clip planes.
The actual version is 1.0.0.2.
OpenGL ES 1.1
OpenGL ES 1.1 added features such as mandatory support for multitexture, better multitexture support (including combiners and dot product texture operations), automatic
mipmap
In computer graphics, mipmaps (also MIP maps) or pyramids are pre-calculated, optimized sequences of images, each of which is a progressively lower resolution representation of the previous. The height and width of each image, or level, in the ...
generation,
vertex buffer object
A vertex buffer object (VBO) is an OpenGL feature that provides methods for uploading vertex data ( position, normal vector, color, etc.) to the video device for non-immediate-mode rendering. VBOs offer substantial performance gains over immedi ...
s, state queries, user clip planes, and greater control over point rendering.
Actual Version is 1.1.12.
OpenGL ES 2.0
OpenGL ES 2.0 was publicly released in March 2007. It is roughly based on OpenGL 2.0, but it eliminates most of the
fixed-function
Fixed-function is a term canonically used to contrast 3D graphics APIs and earlier GPUs designed prior to the advent of shader-based 3D graphics APIs and GPU architectures.
History
Historically fixed-function APIs consisted of a set of functio ...
rendering pipeline in favor of a programmable one in a move similar to the transition from OpenGL 3.0 to 3.1. Control flow in shaders is generally limited to forward branching and to loops where the maximum number of iterations can easily be determined at compile time. Almost all rendering features of the transform and lighting stage, such as the specification of materials and light parameters formerly specified by the fixed-function API, are replaced by
shader
In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene - a process known as ''shading''. Shaders have evolved to perform a variety of spec ...
s written by the graphics programmer. As a result, OpenGL ES 2.0 is not
backward compatible
Backward compatibility (sometimes known as backwards compatibility) is a property of an operating system, product, or technology that allows for interoperability with an older legacy system, or with input designed for such a system, especially in ...
with OpenGL ES 1.1. Some incompatibilities between the desktop version of OpenGL and OpenGL ES 2.0 persisted until OpenGL 4.1, which added the
GL_ARB_ES2_compatibility
extension.
Actual version is 2.0.25.
The Khronos Group has written a document describing the differences between OpenGL ES 2.0 and ordinary OpenGL 2.0.
OpenGL ES 3.0
The OpenGL ES 3.0 specification was publicly released in August 2012. OpenGL ES 3.0 is backwards compatible with OpenGL ES 2.0, enabling applications to incrementally add new visual features to applications. OpenGL 4.3 provides full compatibility with OpenGL ES 3.0. Version 3.0 is also the basis for
WebGL
WebGL (Short for Web Graphics Library) is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelera ...
2.0.
The actual is version 3.0.6.
New functionality in the OpenGL ES 3.0 specification includes:
* multiple enhancements to the
rendering pipeline
In computer graphics, a computer graphics pipeline, rendering pipeline or simply graphics pipeline, is a conceptual model that describes what steps a graphics system needs to perform to render a 3D scene to a 2D screen. Once ...
to enable acceleration of advanced visual effects including:
occlusion queries
This is a glossary of terms relating to computer graphics.
For more general computer hardware terms, see glossary of computer hardware terms.
0–9
A
B
...
,
transform feedback
This is a glossary of terms relating to computer graphics.
For more general computer hardware terms, see glossary of computer hardware terms.
0–9
A
B
...
,
instanced rendering and support for four or more
rendering targets,
* high quality
ETC2 / EAC texture compression
Texture compression is a specialized form of image compression designed for storing texture maps in 3D computer graphics rendering systems. Unlike conventional image compression algorithms, texture compression algorithms are optimized for random ac ...
as a standard feature, eliminating the need for a different set of
textures for each platform,
* a new version of the GLSL ES
shading language
A shading language is a graphics programming language adapted to programming shader effects (characterizing surfaces, volumes, and objects). Such language forms usually consist of special data types, like "vector", "matrix", "color" and " normal". ...
with full support for integer and
32-bit
In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in 32-bit units. Compared to smaller bit widths, 32-bit computers can perform large calculation ...
floating point
In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can be ...
operations;
* greatly enhanced
texturing functionality including guaranteed support for
floating point
In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can be ...
textures, 3D textures, depth textures, vertex textures, NPOT textures, R/RG textures, immutable textures, 2D array textures,
swizzles,
LOD and
mip level clamps, seamless
cube maps and sampler objects,
* an extensive set of required, explicitly sized
texture
Texture may refer to:
Science and technology
* Surface texture, the texture means smoothness, roughness, or bumpiness of the surface of an object
* Texture (roads), road surface characteristics with waves shorter than road roughness
* Texture ...
and render-buffer formats, reducing implementation variability and making it much easier to write portable applications.
OpenGL ES 3.1
The OpenGL ES 3.1 specification was publicly released in March 2014.
New functionality in OpenGL ES 3.1 includes:
*
Compute shader
In computing, a compute kernel is a routine compiled for high throughput accelerators (such as graphics processing units (GPUs), digital signal processors (DSPs) or field-programmable gate arrays (FPGAs)), separate from but used by a main prog ...
s
* Independent vertex and fragment shaders
* Indirect draw commands
OpenGL ES 3.1 is backward compatible with OpenGL ES 2.0 and 3.0, thus enabling applications to incrementally incorporate new features. Actual Version is 3.1-(November 2016).
OpenGL ES 3.2
The OpenGL ES 3.2 specification was publicly released in August 2015.
New capabilities in OpenGL ES 3.2 include:
* Geometry and
tessellation
A tessellation or tiling is the covering of a surface, often a plane (mathematics), plane, using one or more geometric shapes, called ''tiles'', with no overlaps and no gaps. In mathematics, tessellation can be generalized to high-dimensional ...
shaders to efficiently process complex scenes on the GPU.
* Floating point render targets for increased flexibility in higher precision compute operations.
*
ASTC compression to reduce the memory footprint and bandwidth used to process textures.
* Enhanced blending for sophisticated compositing and handling of multiple color attachments.
* Advanced texture targets such as texture buffers, multisample 2D array and cube map arrays.
* Debug and robustness features for easier code development and secure execution.
Actual State is 3.2.6 July 2019.
Some more extensions are developed or in Development in Mesa for next OpenGL ES Version (see Mesamatrix).
Next generation API is Vulkan.
Platform usage
For complete list of companies and their conformant products, vie
here
OpenGL ES 1.0
OpenGL ES 1.0 added an official 3D graphics
API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
to the
Android and
Symbian
Symbian is a discontinued mobile operating system
A mobile operating system is an operating system for mobile phones, tablets, smartwatches, smartglasses, or other non-laptop personal mobile computing devices. While computers such as typic ...
operating systems, as well as by
QNX
QNX ( or ) is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. QNX was one of the first commercially successful microkernel operating systems.
The product was originally developed in the early ...
It is also supported by the
PlayStation 3
The PlayStation 3 (PS3) is a home video game console developed by Sony Interactive Entertainment, Sony Computer Entertainment. The successor to the PlayStation 2, it is part of the PlayStation brand of consoles. It was first released on Novemb ...
as one of its official graphics APIs (the other one being low level ''libgcm'' library) with
Nvidia's Cg in lieu of GLSL. The PlayStation 3 also includes several features of the 2.0 version of OpenGL ES.
OpenGL ES 1.1
The 1.1 version of OpenGL ES is supported by:
*
Android 1.6
* Apple
iOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also include ...
for
iPad
The iPad is a brand of iOS and iPadOS-based tablet computers that are developed by Apple Inc. The iPad was conceived before the related iPhone but the iPhone was developed and released first. Speculation about the development, operating s ...
,
iPhone, and
iPod Touch
The iPod Touch (stylized as iPod touch) is a discontinued line of iOS-based mobile devices designed and marketed by Apple Inc. with a touchscreen-controlled user interface. As with other iPod models, the iPod Touch can be used as a music pl ...
*
RIM's BlackBerry 5.0 operating system series (only
BlackBerry Storm 2
The 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 ...
,
BlackBerry Curve 8530
BlackBerry Curve is a brand of professional smartphones that were manufactured by BlackBerry Ltd from 2007 until 2013.
Early series
Curve 8300 Series
The BlackBerry Curve brand was introduced on May 3, 2007 with OS version 4.5 with the Curve 8 ...
and later models have the needed hardware)
*
BlackBerry PlayBook
The BlackBerry PlayBook is a Tablet computer#Mini tablets, mini tablet computer developed by BlackBerry (company), BlackBerry and made by Quanta Computer, an original design manufacturer (ODM).
*
BlackBerry BB10
* Various
Nokia
Nokia Corporation (natively Nokia Oyj, referred to as Nokia) is a Finnish multinational corporation, multinational telecommunications industry, telecommunications, technology company, information technology, and consumer electronics corporatio ...
phones such as Nokia N95, N93, N93i, and N82.
* The Palm
webOS
webOS, also known as LG webOS and previously known as Open webOS, HP webOS and Palm webOS, is a Linux kernel-based multitasking operating system for smart devices such as smart TVs that has also been used as a mobile operating system. Initially ...
, using the Plug-in Development Kit
*
Nintendo 3DS
The is a handheld game console produced by Nintendo. It was announced in March 2010 and unveiled at E3 2010 as the successor to the Nintendo DS. The system features backward compatibility with Nintendo DS video games. As an eighth-generatio ...
OpenGL ES 2.0
Supported by:
* The Android platform since Android 2.0 through NDK and Android 2.2 through Java
*
AmigaOS
AmigaOS is a family of proprietary native operating systems of the Amiga and AmigaOne personal computers. It was developed first by Commodore International and introduced with the launch of the first Amiga, the Amiga 1000, in 1985. Early versions ...
on
AmigaOne
AmigaOne is a series of computers intended to run AmigaOS 4 developed by Hyperion Entertainment, as a successor to the Amiga series by Commodore International. Earlier models were produced by Eyetech, and were based on the ''Teron'' series of Pow ...
with
Warp3D Nova and compatible
Radeon HD graphics card.
* Apple
iOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also include ...
5 or later in
iPad
The iPad is a brand of iOS and iPadOS-based tablet computers that are developed by Apple Inc. The iPad was conceived before the related iPhone but the iPhone was developed and released first. Speculation about the development, operating s ...
,
iPad Mini
The iPad Mini (branded and marketed as iPad mini) is a line of mini tablet computers designed, developed, and marketed by Apple Inc. It is a sub-series of the iPad line of tablets, with screen sizes of 7.9 inches and 8.3 inches. The first- ...
,
iPhone 3GS or later, and
iPod Touch
The iPod Touch (stylized as iPod touch) is a discontinued line of iOS-based mobile devices designed and marketed by Apple Inc. with a touchscreen-controlled user interface. As with other iPod models, the iPod Touch can be used as a music pl ...
3rd generation or later
*
BlackBerry
The blackberry is an edible fruit produced by many species in the genus ''Rubus'' in the family Rosaceae, hybrids among these species within the subgenus ''Rubus'', and hybrids between the subgenera ''Rubus'' and ''Idaeobatus''. The taxonomy of ...
devices with
BlackBerry OS
BlackBerry OS is a discontinued proprietary mobile operating system developed by Canadian company BlackBerry Limited for its BlackBerry line of smartphone handheld devices. The operating system provides multitasking and supports specialized i ...
7.0 and
Blackberry 10
BlackBerry 10 is a discontinued proprietary mobile operating system for the BlackBerry line of smartphones, both developed by BlackBerry Limited (formerly Research In Motion). BlackBerry 10 is based on QNX, a Unix-like operating system that was ...
, as well as the
BlackBerry PlayBook
The BlackBerry PlayBook is a Tablet computer#Mini tablets, mini tablet computer developed by BlackBerry (company), BlackBerry and made by Quanta Computer, an original design manufacturer (ODM).
*
Google Native Client
Google Native Client (NaCl) is a discontinued sandboxing technology for running either a subset of Intel x86, ARM, or MIPS native code, or a portable executable, in a sandbox. It allows safely running native code from a web browser, independ ...
*
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
HD Graphics 965G / X3000 and higher (Linux)
*
Nvidia
Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
(Android), Curie NV40+: Linux, Windows
* Various
Nokia
Nokia Corporation (natively Nokia Oyj, referred to as Nokia) is a Finnish multinational corporation, multinational telecommunications industry, telecommunications, technology company, information technology, and consumer electronics corporatio ...
phones (such as
Symbian
Symbian is a discontinued mobile operating system
A mobile operating system is an operating system for mobile phones, tablets, smartwatches, smartglasses, or other non-laptop personal mobile computing devices. While computers such as typic ...
^3 based
Nokia N8
The Nokia N8 is a touchscreen-based smartphone developed by Nokia. Announced on 27 April 2010, the Nokia N8 was the first device to run on the Symbian^3 mobile operating system and it was the company's flagship device for the year. It was relea ...
,
MeeGo
MeeGo is a discontinued Linux distribution hosted by the Linux Foundation, using source code from the operating systems Moblin (produced by Intel) and Maemo (produced by Nokia). Primarily targeted at mobile devices and information appliances ...
based
Nokia N9
The Nokia N9 (codename '' Lankku'') is a flagship smartphone developed by Nokia, running on the Linux-based MeeGo mobile operating system. Announced in June 2011 and released in September, it was the first and only device from Nokia with MeeGo, ...
, and
Maemo
Maemo is a software platform originally developed by Nokia, now developed by the community, for smartphones and Internet tablets. The platform comprises both the Maemo operating system and SDK. Maemo played a key role in Nokia's strategy to c ...
based
Nokia N900
The 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 ...
)
* Palm
webOS
webOS, also known as LG webOS and previously known as Open webOS, HP webOS and Palm webOS, is a Linux kernel-based multitasking operating system for smart devices such as smart TVs that has also been used as a mobile operating system. Initially ...
, using the Plug-in Development Kit
* The
Pandora console
* The
Raspberry Pi
Raspberry Pi () is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned towards the promotion of teaching basic ...
* The
Odroid
The ODROID is a series of single-board computers and tablet computers created by Hardkernel Co., Ltd., located in South Korea. Even though the name ''ODROID'' is a portmanteau of ''open'' + ''Android'', the hardware is not actually open because s ...
* Various
Samsung
The Samsung Group (or simply Samsung) ( ko, 삼성 ) is a South Korean multinational manufacturing conglomerate headquartered in Samsung Town, Seoul, South Korea. It comprises numerous affiliated businesses, most of them united under the ...
mobile phones (such as the
Wave
In physics, mathematics, and related fields, a wave is a propagating dynamic disturbance (change from equilibrium) of one or more quantities. Waves can be periodic, in which case those quantities oscillate repeatedly about an equilibrium (res ...
)
* Web browsers (
WebGL
WebGL (Short for Web Graphics Library) is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelera ...
)
* The
GCW Zero
The GCW Zero is a Linux-based open-source handheld video game console created by a start up, Game Consoles Worldwide. The GCW Zero was funded by a successful crowdfunding campaign on kickstarter.com on 29 January 2013 with US$238,499 collected, o ...
console
* The
PlayStation Vita
The PlayStation Vita (PS Vita, or Vita) is a handheld video game console developed and marketed by Sony Interactive Entertainment. It was first released in Japan on December 17, 2011, and in North America, Europe, and other international territo ...
portable console
* The
PlayStation 4
The PlayStation 4 (PS4) is a home video game console developed by Sony Interactive Entertainment. Announced as the successor to the PlayStation 3 in February 2013, it was launched on November 15, 2013, in North America, November 29, 2013 in ...
console
OpenGL ES 3.0
Supported by:
* Android since version 4.3, on devices with appropriate hardware and drivers, including:
**
Nexus 7 (2013)
The second-generation Nexus 7, also commonly referred to as the Nexus 7 (2013), is a mini tablet computer co-developed by Google and Asus that runs the Android operating system. It is the second of three tablets in the Google Nexus tablet ...
**
Nexus 4
The Nexus 4 (codenamed Mako) is an Android (operating system), Android smartphone co-developed by Google and LG Electronics. It is the fourth smartphone in the Google Nexus product family, unveiled on October 29, 2012, and released on November ...
**
Nexus 5
Nexus 5 (code-named Hammerhead) is an Android (operating system), Android smartphone sold by Google and manufactured by LG Electronics. It is the fifth generation of the Google Nexus, Nexus series, succeeding the Nexus 4. It was unveiled on ...
**
Nexus 10
The Nexus 10 is a tablet computer co-developed by Google and Samsung Electronics that runs the Android operating system. It is the second tablet in the Google Nexus series, a family of Android consumer devices marketed by Google and built by an ...
**
HTC Butterfly S
The HTC Butterfly S (stylized as the Butterfly s) is an Android smartphone designed and manufactured by HTC. It is exclusive to Asian countries and currently has not been officially released in North America or Europe. The Butterfly S was unveil ...
**
HTC One/
One Max
**
LG G2
The LG G2 is an Android (operating system), Android smartphone developed by LG Electronics. Serving as a successor to 2012's LG Optimus G, Optimus G and the 2013 LG Optimus G Pro, Optimus G Pro phablet, the G2 was unveiled at a press event in N ...
**
LG G Pad 8.3
The LG G Pad 8.3 (also known as LG G Tab 8.3) is an Android-based tablet computer produced and marketed by LG Electronics. It belongs to the LG G series, and was announced on 4 September 2013 and launched in November 2013. Unlike its predecesso ...
** The
Raspberry Pi 4
Raspberry Pi () is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned towards the promotion of teaching basic c ...
**
Samsung Galaxy J5
**
Samsung Galaxy J5 (2016)
Samsung Galaxy J5 2016 is an Android (operating system), Android-based smartphone produced, developed, released and marketed by Samsung Electronics. It was unveiled and released in April 2016. It has 2 GB LPDDR3 Random-access memory, RAM.
T ...
**
Samsung Galaxy S4
The Samsung Galaxy S4 is an Android smartphone produced by Samsung Electronics as the fourth smartphone of the Samsung Galaxy S series and was first shown publicly on March 14, 2013, at Samsung Mobile Unpacked in New York City. It is the succe ...
(Snapdragon version)
**
Samsung Galaxy S5
The Samsung Galaxy S5 is an Android-based smartphone unveiled, produced, released and marketed by Samsung Electronics as part of the Samsung Galaxy S series. Unveiled on 24 February 2014 at Mobile World Congress in Barcelona, Spain, it was rel ...
**
Samsung Galaxy Note 3
The Samsung Galaxy Note 3 is an Android phablet smartphone produced by Samsung Electronics as part of the Samsung Galaxy Note series. The Galaxy Note 3 was unveiled on September 4, 2013, with its worldwide release beginning later in the month. S ...
**
Samsung Galaxy Note 10.1 (2014 Edition)
**
Sony Xperia M
**
Sony Xperia Z
The Sony Xperia Z was announced by Sony at CES 2013 and was released on 9 February 2013 in Japan and 1 March 2013 in Singapore and the UK. The Xperia Z was initially shipped with the Android 4.1.2 (Jelly Bean) operating system. The smartphone h ...
/ZL
**
Sony Xperia Z1
**
Sony Xperia Z Ultra
The Sony Xperia Z Ultra is a 2013 Android phablet designed and manufactured by Sony Mobile.
Codenamed ''Togari'' and marketed as "the world's slimmest Full HD smartphone it is the first phone that allows users to take notes or draw on with a re ...
**
Sony Xperia Tablet Z
The Xperia Tablet Z is a touchscreen Android (operating system), Android tablet computer, tablet designed and manufactured by Sony and was first announced in Japan in January 2013. It was then announced globally in Barcelona at the Mobile World C ...
* iOS since version 7, on devices including:
**
iPhone 5S
**
iPad Air
The iPad is a brand of iOS and iPadOS-based tablet computers that are developed by Apple Inc. The iPad was conceived before the related iPhone but the iPhone was developed and released first. Speculation about the development, operating ...
**
iPad mini with Retina display
* BlackBerry 10 OS since version 10.2, on devices including:
**
BlackBerry Z3
The BlackBerry Z3 is a touchscreen smartphone developed by BlackBerry. Announced in February 2014, it is the first BlackBerry phone produced in partnership with Foxconn. Adopting a similar appearance and dimensions as BlackBerry Z30, Z3 is design ...
**
BlackBerry Z30
The BlackBerry Z30 is a high-end 4G touchscreen smartphone developed by BlackBerry. Announced on September 18, 2013, it succeeds the Z10 as the second totally touchscreen device to run the BlackBerry 10 operating system (and the first with vers ...
**
BlackBerry Passport
BlackBerry Passport is a smartphone developed by BlackBerry Limited. Officially released on September 24, 2014, the Passport is inspired by its namesake and incorporates features designed to make the device attractive to enterprise users, such as ...
Supported by some recent versions of these GPUs:
*
Adreno
Adreno is a series of graphics processing unit (GPU) semiconductor intellectual property cores developed by Qualcomm and used in many of their SoCs.
History
Adreno (an anagram of AMD's graphic card brand '' Radeon''), was originally developed ...
300 and 400 series (
Android,
BlackBerry 10
BlackBerry 10 is a discontinued proprietary mobile operating system for the BlackBerry line of smartphones, both developed by BlackBerry Limited (formerly Research In Motion). BlackBerry 10 is based on QNX, a Unix-like operating system that was ...
, Windows10
Windows RT
Windows RT is a mobile operating system developed by Microsoft. It is a version of Windows 8 or Windows 8.1 built for the 32-bit ARM architecture (ARMv7). First unveiled in January 2011 at Consumer Electronics Show, the Windows RT 8 operat ...
)
*
Mali
Mali (; ), officially the Republic of Mali,, , ff, 𞤈𞤫𞤲𞥆𞤣𞤢𞥄𞤲𞤣𞤭 𞤃𞤢𞥄𞤤𞤭, Renndaandi Maali, italics=no, ar, جمهورية مالي, Jumhūriyyāt Mālī is a landlocked country in West Africa. Mali ...
T600 series onwards (Android,
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
,
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
7)
*
PowerVR Series6 (
iOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also include ...
, Linux)
*
Vivante
Vivante Corporation is a fabless semiconductor company headquartered in Sunnyvale, California, with an R&D center in Shanghai, China. The company was founded in 2004 as GiQuila and focused on the portable gaming market. The company's first prod ...
(Android,
OS X
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
10.8.3, Windows 7)
*
Nvidia
Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
(Android), Tesla G80+: Linux, Windows 7+
*
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
HD Graphics Sandy Bridge and higher (Linux)
* AMD Terascale and actual GCN-architecture (Windows, Linux)
* LLVMpipe and Softpipe: soft drivers in Mesa
* VIRGL: virtual Driver for virtual machines in 2018 with Mesa 18.1 (See Mesamatrix.net)
OpenGL ES 3.1
Supported by Windows, Linux, Android (since version 5.0) on devices with appropriate hardware and drivers, including:
*
Adreno
Adreno is a series of graphics processing unit (GPU) semiconductor intellectual property cores developed by Qualcomm and used in many of their SoCs.
History
Adreno (an anagram of AMD's graphic card brand '' Radeon''), was originally developed ...
400 series
*
Adreno
Adreno is a series of graphics processing unit (GPU) semiconductor intellectual property cores developed by Qualcomm and used in many of their SoCs.
History
Adreno (an anagram of AMD's graphic card brand '' Radeon''), was originally developed ...
500 series (Mesa 18.1 for Linux and Android)
* AMD Terascale and actual GCN-architecture (Windows, Linux (r600, radeonSI))
* Intel HD Graphics for
Intel Atom Z3700 series (Android)
* Intel HD Graphics for Intel Celeron N and J series (Android)
* Intel HD Graphics for Intel Pentium N and J series (Android)
*
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
HD Graphics Haswell and higher (Linux Mesa: previous Ivy Bridge nearly without stencil texturing)
* Mali T6xx (midgard) series onwards (Android, Linux)
*
Nvidia
Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
GeForce 400 series
Serving as the introduction of Fermi, the GeForce 400 series is a series of graphics processing units developed by Nvidia. Its release was originally slated in November 2009; however, after delays, it was released on March 26, 2010 with availa ...
onwards (Windows, Linux)
* Nvidia Tegra K1 (Android, Linux)
* Nvidia Tegra X1 (Android)
* PowerVR Series 6, 6XE, 6XT, 7XE and 7XT (Linux, Android)
*
Vivante
Vivante Corporation is a fabless semiconductor company headquartered in Sunnyvale, California, with an R&D center in Shanghai, China. The company was founded in 2004 as GiQuila and focused on the portable gaming market. The company's first prod ...
GC2000 series onwards (optional with GC800 and GC1000)
* panfrost: ARM panfrost support (Linux Mesa 22.0)
* v3d: Driver for Broadcom ARM raspberry in Mesa (Linux)
* VIRGL: virtual Driver for virtual machines in 2018 with Mesa 18.1 (See Mesamatrix.net)
* LLVMpipe: software driver in Mesa 20.2 (Linux)
* softpipe: software driver in Mesa 20.3 (Linux)
* Zink: emulation driver in Mesa 21.1 (Linux)
* d3d12: WSL2 linux driver for Microsoft 10+ (Mesa 22.0)
Android Extension Pack
Android Extension Pack (AEP) is a set of OpenGL ES 3.1 extensions, all bundled into a single extension introduced by Google in 2014. This allows applications to use all of the features of the set of extensions, while only testing for the presence of a single one. The AEP was officially added to Android Lollipop to provide extra features like tessellation over what was officially in the GLES 3.1 revision. OpenGL ES 3.2 update is largely made up of the AEP additions, which are already present in desktop OpenGL.
OpenGL ES 3.2
OpenGL ES 3.2, incorporating the
Android Extension Pack (AEP), "boasts a small number of improvements over last year’s OpenGL ES 3.1. Both make use of similar features from the AEP. From the AEP, OpenGL ES 3.2 compliant hardware will support Tessellation for additional geometry detail, new geometry shaders, ASTC texture compression for a smaller memory bandwidth footprint, floating point render targets for high accuracy compute processes, and new debugging features for developers. These high-end features are already found in the group’s full OpenGL 4 specification."
Supported by Windows, Linux, Android (since version 6.0 possible, 7.0+ Vulkan 1.0 and OpenGL ES 3.2 needed) on devices with appropriate hardware and drivers, including:
*
Adreno
Adreno is a series of graphics processing unit (GPU) semiconductor intellectual property cores developed by Qualcomm and used in many of their SoCs.
History
Adreno (an anagram of AMD's graphic card brand '' Radeon''), was originally developed ...
420 and newer (Android, Linux (freedreno))
* AMD GCN-architecture (Windows, Linux (Mesa 18.2 with radeonSI))
*
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
HD Graphics Skylake and higher (Linux)
* Mali-T760 and newer (Android, Linux)
* Nvidia GeForce 400 series (Fermi) and newer (Windows, Linux)
* VIRGL: virtual Driver for virtual machines in 2018 with Mesa 18.1 (See Mesamatrix.net)
* LLVMpipe: software driver in Mesa 20 (Linux)
* Zink: Vulkan emulation driver in Mesa 21.2 (Linux)
Deprecation in Apple devices
OpenGL ES (and OpenGL) is
deprecated
In several fields, especially computing, deprecation is the discouragement of use of some terminology, feature, design, or practice, typically because it has been superseded or is no longer considered efficient or safe, without completely removing ...
in Apple's operating systems, but still works in up to at least iOS 12.
The Future
There is currently no plan for a new core version of OpenGL ES, as adoption of
Vulkan
Vulkan is a low- overhead, cross-platform API, open standard for 3D graphics and computing. Vulkan targets high-performance real-time 3D graphics applications, such as video games and interactive media. Vulkan is intended to offer higher perfor ...
has been deemed to displace it in embedded and mobile applications. Development of extensions to OpenGL ES continues as of 2017.
OpenGL compatibility
A few libraries have been created to emulate OpenGL calls using GL ES:
*
Nvidia
Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
offers a 2-clause
BSD license
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lic ...
d library called Regal, originally started by Cass Everitt. It was last updated in 2016. Regal is used for example by
Google's NaCl.
* The
MIT license
The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts only very limited restriction on reuse and has, therefore, high license comp ...
d GL4ES emulates OpenGL 2.1/1.5 using GL ES 2.0/1.1. It is based on glshim.
See also
*
Direct3D – Windows API for high-performance 3D graphics, with 3D acceleration hardware support
*
DirectX
Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct", ...
– Windows API for handling tasks related to graphics and video
*
Metal
A metal (from Greek μέταλλον ''métallon'', "mine, quarry, metal") is a material that, when freshly prepared, polished, or fractured, shows a lustrous appearance, and conducts electricity and heat relatively well. Metals are typicall ...
– low level, high-performance 3D accelerated graphics library for Apple devices
*
OpenSL ES
OpenSL ES (Open Sound Library for Embedded Systems) is a royalty-free, cross-platform, hardware-accelerated, C-language audio API for 2D and 3D audio. It provides access to features such as 3D positional audio and MIDI playback. It is made f ...
– API for audio on embedded systems, developed by the Khronos Group
*
ANGLE (software)
ANGLE (''Almost Native Graphics Layer Engine'') is an open source, cross-platform graphics engine abstraction layer developed by Google. ANGLE translates OpenGL ES 2/3 calls to DirectX 9, 11, OpenGL or Vulkan API calls. It's a portable versio ...
– Google developed library to turn OpenGL ES calls into those of DirectX or Vulkan
References
Further reading
*
*
*
*
External links
*
Public bug trackingOpenGL ES Conformant companiesPublic forumsList of OpenGL ES compatible devicesOpenGL home pageOpenGL ES 1.1 & 2.0 Emulator from ARM Link unusable. Do not click.
OpenGL ES 3.0 Emulator from ARMLink unusable. Do not click.
{{DEFAULTSORT:Opengl Es
3D graphics APIs
Es