EGL (API) explained
EGL (OpenGL) |
Author: | Khronos Group |
Developer: | Khronos Group |
Latest Release Version: | 1.5[1] |
Programming Language: | C |
Operating System: | Cross-platform |
Platform: | Cross-platform |
Genre: | API |
EGL is an interface between Khronos rendering APIs (such as OpenGL, OpenGL ES or OpenVG) and the underlying native platform windowing system. EGL handles graphics context management, surface/buffer binding, rendering synchronization, and enables "high-performance, accelerated, mixed-mode 2D and 3D rendering using other Khronos APIs."[2] EGL is managed by the non-profit technology consortium Khronos Group.
The acronym EGL is an initialism, which starting from EGL version 1.2 refers to Khronos Native Platform Graphics Interface.[3] Prior to version 1.2, the name of the EGL specification was OpenGL ES Native Platform Graphics Interface.[4] X.Org development documentation glossary defines EGL as "Embedded-System Graphics Library".[5]
Adoption
- The BlackBerry 10 and BlackBerry Tablet OS mobile device operating system uses EGL for 3D graphics rendering. Both support EGL version 1.4.[6]
- The Android mobile device operating system uses EGL for 3D graphics rendering.[7]
- The Wayland display server protocol uses EGL.[8] It is implemented in a way that Wayland clients will draw directly to the framebuffer using EGL.
- Mesa 3D has an implementation of EGL formerly known as Eagle.[9]
- The Mir display server protocol by Canonical Ltd. uses EGL.[10]
- The Simple DirectMedia Layer toolkit has been ported to use EGL. It can use Xlib, write directly to the framebuffer or use EGL.
- The Raspberry Pi single-board computer has an EGL interface to hardware-accelerated 3D graphics rendering.[11]
- The proprietary Nvidia driver 331.13 BETA from 4 October 2013 supports the EGL API.[12]
- Tizen OS uses EGL with either OpenGL ES 1.1 or OpenGL ES 2.0 for 3D graphics rendering[13]
Implementations
See also
- WGL – the equivalent Windows interface to OpenGL
- CGL – the equivalent OS X interface to OpenGL
- GLX – the equivalent X11 interface to OpenGL
- AIGLX – an attempt to accelerate GLX
- WSI – the Vulkan Window System Interface (WSI) does for Vulkan what EGL does for OpenGL ES.
Notes and References
- Web site: Press Release, Khronos Releases EGL 1.5 Specification . . 2014-03-19 . 2014-03-20.
- Web site: EGL Overview, Native Platform Interface. July 19, 2011. The Khronos Group.
- Web site: Khronos Native Platform Graphics Interface (EGL Version 1.2) (July 28, 2005) . Jon Leech.
- Web site: OpenGL® ES Native Platform Graphics Interface (Version 1.0). Jon Leech.
- Web site: Glossary. X.Org Foundation.
- Web site: Developer Guide . 2014-05-28 . https://web.archive.org/web/20131010082650/http://developer.blackberry.com/native/documentation/core/opengl_es_developer_guide.html . 2013-10-10 . dead .
- Web site: Android 2.3 Gingerbread, New Features. Android Developers.
- Web site: What does EGL do in the Wayland stack . 10 March 2012 . Pekka Paalanen.
- Web site: EGL — The Mesa 3D Graphics Library latest documentation. Mesa 3D Documentation.
- Web site: MirSpec . 2013-03-07 . 2013-03-06 . https://web.archive.org/web/20130306104754/https://wiki.ubuntu.com/MirSpec . dead .
- Web site: Raspberry Pi VideoCore APIs - eLinux.org. elinux.org.
- Web site: Added support for the EGL API on 32-bit platforms. Currently, the supported client APIs are OpenGL ES 1.1, 2.0 and 3.0, and the only supported window system backend is X11. . 2013-10-04 . 2013-10-05.
- Web site: Porting Guide/Graphics and UI - Tizen Wiki . 2015-03-06 . 2015-04-27 . https://web.archive.org/web/20150427204349/https://wiki.tizen.org/wiki/Porting_Guide/Graphics_and_UI . dead .