EGL (Programmierschnittstelle)

aus Wikipedia, der freien Enzyklopädie
EGL

EGL logo
Basisdaten

Maintainer Khronos Group
Entwickler Khronos Group
Aktuelle Version 1.5[1]
(19. März 2014)
Programmiersprache keine, Spezifikation
Kategorie Programmierschnittstelle (API)
www.khronos.org

EGL ist eine Programmierschnittstelle zwischen OpenGL, OpenGL ES sowie OpenVG und dem Fenstersystem. OpenGL, OpenGL ES und OpenVG sind Programmierschnittstellen zur hardwarebeschleunigten Rasterung. EGL wird von verschiedenen Fenstersystemen unterstützt, wie z. B. dem Android-Fenstersystem, Wayland oder dem Raspberry Pi, also hauptsächlich in eingebetteten Systemen wie Mobiltelefonen, Spielkonsolen und anderen Medien-Geräten eingesetzt. EGL wird unter anderem auch in eingebetteten Systemen ohne Fenstermanager wie z. B. in Flugzeug- oder Auto-Cockpits verwendet. Durch Mesa 3D wird EGL aber auch im X Window System unterstützt. EGL wird vom Industriekonsortium Khronos Group herausgegeben.

Verwendung

Das Wayland Protokoll definiert, dass Klienten via EGL direkt in den Framebuffer zeichnen. Für Mesa 3D wurde dafür libwayland-EGL geschrieben. Diese Bibliothek erweitert die vorhandene Mesa-Implementierung von EGL dahingehend, dass die Zugriffe effizienter werden. EGL ist eine Abstraktion zwischen z. B. Wayland und den APIs OpenGL, OpenGL ES sowie OpenVG.
Der Linux Grafik-Stapel baut auf Mesa 3D, eine freie Implementierung vieler Grafik-Programmierschnittstellen
Wayland nutzt EGL, damit Direct Rendering.

Implementierung

  • Mesa 3D – ist zurzeit die einzige freie Implementierung von EGL (und etlichen weiteren graphic rendering APIs)
  • Nvidia hat EGL-Unterstützung in seine proprietären Treiber eingebaut[7][8]

Siehe auch

  • WGL – eine zu EGL äquivalente Schnittstelle zwischen dem Windows-Fenstersystem und OpenGL
  • CGL – eine zu EGL äquivalente Schnittstelle zwischen dem macOS-Fenstersystem und OpenGL
  • GLX – eine zu EGL äquivalente Schnittstelle zwischen dem X11-Fenstersystem und OpenGL

Referenzen