Notice: Unexpected clearActionName after getActionName already called in /var/www/html/includes/context/RequestContext.php on line 338
Open Graphics Library for Embedded Systems – Wikipedia Zum Inhalt springen

Open Graphics Library for Embedded Systems

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von OpenGL ES)
OpenGL ES

colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | Datei:OpenGL ES Nov14.svg
Basisdaten

Maintainer Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Entwickler Khronos Group
Erscheinungsjahr Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Aktuelle Version Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Aktuelle Vorabversion Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Betriebssystem plattformunabhängig
Programmier­sprache Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Kategorie Programmierschnittstelle
Lizenz verschieden
www.khronos.org/opengles

Open Graphics Library for Embedded Systems (kurz OpenGL ES geschrieben) ist eine Spezifikation für eine plattform- und sprachenunabhängige Programmierschnittstelle zur Entwicklung von 3D-Computergrafik. Die Spezifikation beschreibt eine vereinfachte Version der OpenGL-Spezifikation, welche sich besonders für den Einsatz im Bereich von eingebetteten Systemen eignet.

Versionen

OpenGL ES wird, im Gegensatz zu OpenGL, in zwei separaten Zweigen spezifiziert. Der Zweig 1.x definiert eine Schnittstelle zu Hardware ohne Vertex- oder Fragmentshader. Ab 2.0 wird eine Schnittstelle für Grafikchips mit Shadern definiert.


Legende: Ältere Version; nicht mehr unterstützt Ältere Version; noch unterstützt Aktuelle Version Aktuelle Vorabversion Zukünftige Version

<ref>Khronos Group: Conformant Products</ref>

Version Beschreibung / Änderungen
Ältere Version; nicht mehr unterstützt: 1.0
  • Gegen OpenGL 1.3 spezifiziert
Ältere Version; noch unterstützt: 1.1
  • Gegen OpenGL 1.5 spezifiziert
  • Erleichtert Hardwarebeschleunigung
  • Abwärtskompatibel zur Version 1.0
Ältere Version; noch unterstützt: 2.0
  • Gegen OpenGL 2.0 spezifiziert
  • Nicht abwärtskompatibel
  • Nur programmierbare Hardware mit Vertex- und Fragmentshadern wird unterstützt
  • OpenGL ES Shading Language 1.00
Ältere Version; noch unterstützt: 3.0
  • Ähnlich wie OpenGL 3.3 spezifiziert (allerdings fehlen die Geometry Shader)
  • Abwärtskompatibel zur Version 2.0
  • Strengere Vorgaben für Texturen (u. a. 3D-Texturen, 2D-Array-Texturen)
  • OpenGL ES Shading Language 3.00
Ältere Version; noch unterstützt: 3.1
  • Compute-Shader
  • Separate Shader-Objekte
  • Indirekte Zeichenbefehle
  • Erweiterte Texturierungs-Funktionalität
  • OpenGL ES Shading Language 3.10
  • Abwärtskompatibel zur Version 2.0 und 3.0
Aktuelle Version: 3.2

Unterschiede zu OpenGL

Bei der Spezifikation von OpenGL ES legte die Khronos Group spezielles Augenmerk auf die Kompaktheit der API. Redundante OpenGL-Operationen wurden entfernt, um die Anzahl der Wege zu reduzieren, die zum gleichen Ergebnis führen. Dies spiegelt auch der Wegfall der glBegin()-/glEnd()-Funktionen wider. An OpenGL-ES-Funktionen müssen Felder übergeben werden, welche dann zum Zeichnen der jeweiligen Objekte ausgewertet werden. Diese Funktionen wurden auch bei OpenGL ab Version 3.0 entfernt. Weiterhin wird der Datentyp double nicht unterstützt. Funktionen, die in OpenGL nur mit double als Argument vorhanden waren, wurden durch entsprechende Funktionen mit float-Parametern ersetzt.

Im 1.x-Zweig sind weiterhin zwei Profile, „{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)“ und „{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)“, definiert. Ist nur das Common-Lite-Profil implementiert, sind auch sämtliche Gleitkommatypen nicht mehr vorhanden. Als einziger Nichtganzzahltyp kommt ein 16.16-Festkommaformat zum Einsatz. Da Festkommafunktionen in OpenGL nicht vorhanden sind, ist eine Emulation von OpenGL ES auf dem PC nicht ohne weiteres möglich. OpenGL ES 3.0 ist hingegen OpenGL 3.3 sehr ähnlich, es fehlen allerdings die Geometry-Shader.

Implementierungen

Diverse Firmen haben OpenGL ES auf vielen verschiedenen Hard- und Softwareplattformen implementiert. Dabei reicht die Spannweite von Mobiltelefonen über PDAs bis hin zum PC, wobei die dortigen Implementierungen mehr der Softwareentwicklung als der eigentlichen Anwendung dienen. Die PlayStation 3 nutzt optional ebenfalls OpenGL ES 1.1 mit Erweiterungen, um Shader zu unterstützen. Zudem findet es bei vielen Smartphones Anwendung, zum Beispiel Samsungs Wave mit Bada-Betriebssystem, Apples iPhone, das N900 von Nokia und auf Android von Google basierten Geräten. Außerdem gibt es OpenGL-ES-1.1/2.0-State-Tracker für Gallium3D.<ref>Michael Larabel: OpenGL ES 1.1/2.0 State Trackers For Gallium3D. Phoronix, 15. Mai 2009, abgerufen am 3. März 2015.</ref> Eine der bekanntesten Implementierungen von OpenGL ES ist in dem Grafik-Softwarepaket Mesa 3D integriert, das auf vielen UNIXoiden Betriebssystemen gerne aufgespielt wird, wobei letztere wiederum oft eine größere Anzahl an Hardwareplattformen unterstützen.<ref>https://mesamatrix.net/</ref>

Weiterhin besitzen moderne Browser (z. B. Firefox ab Version 4; Google Chrome, insbesondere Google Native Client<ref>Chrome Developer’s Guide: 3D Graphics</ref>) eine OpenGL-ES-Schnittstelle in Form von WebGL. Version 2.0 von WebGL basiert auf OpenGL ES 3.0 und wird von Firefox 51+, Chrome 56+ und Opera 43+ unterstützt.<ref>WebGL 2.0 Specification. Khronos Group, abgerufen am 1. Februar 2025.</ref>

Einzelnachweise

<references />

Weblinks