EGL (API)
From Infogalactic: the planetary knowledge core
220px | |
Original author(s) | Khronos Group |
---|---|
Developer(s) | Khronos Group |
Stable release | 1.5[1] / March 19, 2014 |
Written in | C |
Operating system | Cross-platform |
Platform | Cross-platform |
Type | API |
Website | www.khronos.org |
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
As interface between OpenGL ES or OpenVG and the underlying windowing system, EGL has found wide 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
- Mesa is a free and open-source software implementation of many graphic rendering APIs; among them is EGL.
- Generic Buffer Management is an API to manage buffers.
See also
- WGL – the equivalent Microsoft Windows interface to OpenGL
- CGL – the equivalent Mac OS X interface to OpenGL
- GLX – the equivalent X11 interface to OpenGL
- AIGLX – an attempt to accelerate GLX
References
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ EGL Overview
- ↑ EGL 1.2 Specification
- ↑ EGL 1.0 Specification
- ↑ EGL in X.org development documentation glossary
- ↑ http://developer.blackberry.com/native/documentation/core/opengl_es_developer_guide.html
- ↑ http://developer.android.com/about/versions/android-2.3-highlights.html
- ↑ http://ppaalanen.blogspot.com/2012/03/what-does-egl-do-in-wayland-stack.html
- ↑ Mesa EGL
- ↑ https://wiki.ubuntu.com/MirSpec
- ↑ http://elinux.org/RPi_VideoCore_APIs
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ https://wiki.tizen.org/wiki/Porting_Guide/Graphics_and_UI