Open GL
 
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Inhalt
Einleitung   
Historisches   
Links   
Bibliotheken, die OpenGL verwenden   

Einleitung    

OpenGL (Open Graphics Library) ist eine Spezifikation für ein plattform- und programmiersprachenunabhängiges API (Application Programming Interface) zur Entwicklung von 2D und 3D-Computergrafik. Der OpenGL-Standard beschreibt etwa 250 Befehle, die die Darstellung komplexer 3D-Szenen in Echtzeit erlauben. Hersteller können jedoch auch eigene Erweiterungen definieren.

OpenGL ist nur ein Standard, keine Implementierung. Wie das Betriebssystem die Befehle verarbeitet, ist Sache des Grafikkarten-Treibers, der die Befehle an die Grafikkarte weitergibt (Hardware- oder auch Direct Rendering) oder auf der CPU ausführt, wenn die Grafikkarte den entsprechenden Befehl nicht bearbeiten kann (Software Rendering). Die Implementierungen werden daher in der Regel vom Hersteller zur Verfügung gestellt, es gibt jedoch auch Open Source Varianten wie z. B. die Mesa-Bibliothek.

Grundsätzlich arbeitet OpenGL nach dem Prinzip einer state machine. Das bedeutet, dass nicht bei jedem Funktionsaufruf alle Parameter gesetzt werden müssen, sondern viele Variablen global gehalten werden. Der Grund liegt darin, dass man z. B. nicht für jeden Vertex einmal die Farbe an die Grafikkarte schicken möchte (was zu langsam wäre) sondern lieber einmal eine Farbe festlegt und alle folgenden Vertices in dieser Farbe darstellen lässt.

OpenGL entstand ursprünglich aus dem von Silicon Graphics (SGI) entwickelten IRIS GL. Im so genannten Fahrenheit-Projekt versuchten Microsoft und SGI ihre 3D-Standards zu vereinheitlichen, das Projekt wurde jedoch aufgrund finanzieller Schwierigkeiten auf Seiten von SGI abgebrochen.

Der OpenGL-Standard wird vom OpenGL Architecture Review Board (ARB) festgelegt. Das ARB existiert seit 1992 und besteht aus einer Reihe von Firmen wie 3Dlabs, Apple, ATI, Dell, Evans & Sutherland, Hewlett-Packard, IBM, Intel, Matrox, NVidia, SGI und Sun. Microsoft, eines der Gründungsmitglieder, hat das ARB im März 2003 verlassen. Neue Funktionen in OpenGL werden meist zuerst als herstellerspezifische Erweiterungen eingeführt und gehen dann den Weg über herstellerübergreifende Erweiterungen und ARB Erweiterungen zu Kernfunktionalität. Dies erlaubt es, neueste Möglichkeiten der Grafikhardware zu nutzen und dennoch OpenGL abstrakt genug zu halten.

Aufgrund seiner Plattformunabhängigkeit ist OpenGL im professionellen Bereich als 3D-Standard nach wie vor führend. Im Bereich der Computerspiele wurde es jedoch in den letzten Jahren zunehmend von Microsofts Direct3D? verdrängt und hält sich hauptsächlich noch aufgrund der Beliebtheit der Engines von id Software und der Portabilität auf andere Plattformen. Die aktuelle Version des Standards ist OpenGL 2.0. Mit dieser Version wurde auch die OpenGL Shading Language in den Standard mit aufgenommen, mit deren Hilfe es möglich ist nicht nur vordefinierte Funktionen der Grafikkarten zu nutzen, sondern auch eigene Programme (sogenannte Shader) direkt auf der Grafikkarte ausführen zu lassen.

Habe die Seite etwas überarbeitet HermannWacker

Historisches    
OpenGL wurde von der Firma Silicon Graphics entwickelt.
Ursprünglich wurde es lizensiert aber gibt es mittlerweile eine freie OpenSource Beispielimplementation von SGI (Silicon Graphics) http://oss.sgi.com/projects/ogl-sample/, siehe auch http://www.sgi.com/software/opengl/license.html. Die Hauptseite zu OpenGL ist http://www.sgi.com/software/opengl/.

Früher gab es mal eine Kopie des Referenzwerks unter http://www.parallab.uib.no/SGI_bookshelves/index.html. Dort findet man jetzt u. a. was zu Cosmo 3D, offenbar soetwas wie ein Nachfolger von OpenGL.

Das bisherige Lizenzmodell hatte dazu geführt, dass viele Entwickler auf das freie Mesa ausgewichen sind. Mesa implementiert die von SGI entworfene Schnittstelle, ohne auf SGI-Code zuzugreifen: http://www.mesa3d.org/.
http://sourceforge.net/projects/mesa3d Main Download.
Links    
OpenGL.org
Ada OpenGL
Using OpenGL with SWT
Delphi OpenGL Community
DGL Wiki Eine Open GL Wiki Seite
Neon Helium Tutorials
Robsite Tutorials
Silicon Graphics
Bibliotheken, die OpenGL verwenden    


KategorieGrafikProgrammierung
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 7. April 2006 13:56 (diff))
Suchbegriff: gesucht wird
im Titel
im Text