OpenGL ES 3.1
   HOME

TheInfoList



OR:

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 (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 t ...
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, m ...
(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,
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 com ...
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
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 b ...
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 speci ...
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, 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
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 b ...
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 b ...
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, using one or more geometric shapes, called ''tiles'', with no overlaps and no gaps. In mathematics, tessellation can be generalized to higher dimensions and a variety o ...
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 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 Computer Entertainment. The successor to the PlayStation 2, it is part of the PlayStation brand of consoles. It was first released on November 11, 2006, in Japan, November ...
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 ...
, iPhone, and iPod Touch * 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 telecommunications, information technology, and consumer electronics corporation, established in 1865. Nokia's main headquarters are in Espoo, Finland, i ...
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


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 ...
,
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 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 ...
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 telecommunications, information technology, and consumer electronics corporation, established in 1865. Nokia's main headquarters are in Espoo, Finland, i ...
phones (such as Symbian^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 (re ...
) * 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 portable console * The PlayStation 4 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 **
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 ** 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 by ...
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. Mal ...
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, w ...
,
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 ser ...
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 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 by ...
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 by ...
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 by ...
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 lice ...
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 – 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 tracking

OpenGL ES Conformant companies

Public forums

List of OpenGL ES compatible devices

OpenGL home page

OpenGL ES 1.1 & 2.0 Emulator from ARM
Link unusable. Do not click.
OpenGL ES 3.0 Emulator from ARM
Link unusable. Do not click. {{DEFAULTSORT:Opengl Es 3D graphics APIs Es