EGL - Native Platform Interface

EGL™ is an interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system. It handles graphics context management, surface/buffer binding, and rendering synchronization and enables high-performance, accelerated, mixed-mode 2D and 3D rendering using other Khronos APIs.

EGL

EGL at a glance

EGL provides mechanisms for creating rendering surfaces onto which client APIs like OpenGL ES and OpenVG can draw, creates graphics contexts for client APIs, and synchronizes drawing by client APIs as well as native platform rendering APIs. This enables seamless rendering using both OpenGL ES and OpenVG for high-performance, accelerated, mixed-mode 2D and 3D rendering.

EGL (Native Platform Graphics Interface)

EGL Native Platform Graphics Interface is an interface portable layer for graphics resource management - and works between rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system. Learn More...

The EGL 1.4 specification, header files, and optional extension specifications are available in the Khronos Registry

Portable Layer for Graphics Resource Management

EGL can be implemented on multiple operating systems (such as Symbian, embedded Linux, Unix, and Windows) and native window systems (such as X and Microsoft Windows). Implementations may also choose to allow rendering into specific types of EGL surfaces via other supported native rendering APIs, such as Xlib or GDI. EGL provides:

  • Mechanisms for creating rendering surfaces (windows, pbuffers, pixmaps) onto which client APIs can draw and share
  • Methods to create and manage graphics contexts for client APIs
  • Ways to synchronize drawing by client APIs as well as native platform rendering APIs.
EGL Example Applications

Examples of OpenVG combined with OpenGL ES using EGL

  • OpenVG renders front/back buffer of OpenGL ES application (surface sharing)
  • OpenVG renders to OpenGL ES texture buffer
  • OpenGL ES renders on OpenVG image buffer
  • Share OpenVG objects among multiple OpenVG graphics contexts

Pablo: Open source Khronos API Implementations

Pablo is a cross-platform opensource implementation of the Khronos EGL, OpenVG and OpenGL ES APIs. Utilising the underlying OpenGL hardware available on most PCs and Macs, Pablo provides a performant, conformant implentation.

Download Pablo today.