- Open Graphics Library for Embedded Systems
-
OpenGL ES Entwickler Khronos Group Aktuelle Version 2.0 Betriebssystem plattformunabhängig 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.
Inhaltsverzeichnis
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. Der 2.x-Zweig definiert eine Schnittstelle für Grafikchips mit Shadern.
- OpenGL ES 1.0
- Gegen OpenGL 1.3 spezifiziert
- OpenGL ES 1.1
- Gegen OpenGL 1.5 spezifiziert
- Erleichtert Hardwarebeschleunigung
- Rückwärtskompatibel zur Version 1.0
- OpenGL ES 2.0
- Gegen OpenGL 2.0 spezifiziert
- Nicht rückwärtskompatibel
- Nur programmierbare Hardware mit Vertex- und Fragmentshadern wird unterstützt
Unterschiede zu OpenGL
Der wohl wichtigste Unterschied zu OpenGL besteht im Wegfall der glBegin()/glEnd() Funktionen. Dadurch müssen immer Arrays an OpenGL ES übergeben werden, welche dann zum Zeichnen verwendet 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, Common und Common Lite, definiert. Ist nur das Common-Lite-Profil implementiert, sind auch sämtliche Gleitkommatypen nicht mehr vorhanden. Als einziger nicht Ganzzahltyp kommt ein 16.16-Fixkommaformat zum Einsatz. Da Fixkommafunktionen in OpenGL nicht vorhanden sind, ist eine Emulation von OpenGL ES auf dem PC nicht ohne weiteres möglich.
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 ebenfalls OpenGL ES. Zudem findet es bei vielen Smartphones Anwendung, zum Beispiel Samsungs Wave mit Bada-Betriebssystem, Apples iPhone, das N900 von Nokia und dem Android von Google. Außerdem gibt es OpenGL-ES-1.1/2.0-State-Tracker für Gallium3D.[1]
Weiterhin besitzen moderne Browser (z. B. Firefox ab Version 4) eine OpenGL-ES-Schnittstelle in Form von WebGL.
Einzelnachweise
Weblinks
- OpenGL ES 1.0
Wikimedia Foundation.