Grafikprogrammierung für Windows

Frank Rieg

Grafikprogrammierung für Windows

2005

296 Seiten

Format: PDF, Online Lesen

E-Book: €  19,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446403772

 

4 Windows und OpenGL (S. 107)

4.1 Überblick

OpenGL – das ist die lingua franca der Computergrafik und die einzige Bibliothek, die von allen plattformübergreifenden Grafikbibliotheken übrig geblieben ist. DirectX soll hier außen vor bleiben, denn es ist nur für Windows-Rechner verfügbar. Was hat es früher nicht alles an Grafikbibliotheken gegeben: PHIGS, HOOPS, GKS und wie sie alle hießen. Die Gründe für ihren Untergang sind vielfältig und interessieren auch nicht weiter.

Was bietet OpenGL an Vorteilen?

- OpenGL ist plattformunabhängig. Es ist Teil von Windows ab Windows 95 und existiert für praktisch alle namhaften UNIX-Maschinen sowie für neuere Apple- Computer. Für LINUX gibt es einen freien Nachbau namens Mesa und ferner Spezialtreiber für diverse Grafikkarten, z.B. von Nvidia. Damit sind 98 % aller Computertypen überhaupt abgedeckt.

- Dadurch ist es möglich, bei Programmen, die sowohl auf Windows-Rechnern als auch auf UNIX-Computern laufen sollen, den eigentlichen Grafikkern in OpenGL völlig betriebssystemneutral in z.B. C-Routinen zu programmieren. Diese kann sowohl die Windows-Version als auch die UNIX-Version des Programms nutzen; nur die Startsequenzen sind unterschiedlich. Das ist ein ganz enormer Vorteil gegenüber DirectX und dem Windows-GDI! Ein Beispiel dafür ist mein FEA-Programm Z88 [9,10].

- OpenGL erlaubt simple 2-D-Grafik bis hin zu höchst komplexer 3-D-Grafik. Falls Sie Spiele, Monster oder einen Flugsimulator programmieren wollen – mit OpenGL ist das grundsätzlich kein Problem.

- OpenGL nutzt nicht nur bei seinen Ursprüngen, den Computern des Grafikspezialisten Silicon Graphics Inc, SGI, die spezielle Hardware, sondern auch die Hardware moderner PC-Grafikkarten und erzielt damit höchste Bildaufbaugeschwindigkeiten. Ein beliebter Test für die OpenGL-Grafikleistung einer Grafikkarte ist übrigens das in Deutschland indizierte Computerspiel Quake.

- OpenGL ist nicht auf Integer-Datentypen wie das GDI festgelegt. Da gerade bei Grafikoperationen sehr viel Gleitkommarechnungen vorkommen, ist eine Konversion von float oder double nach int nicht nötig, denn jeder OpenGL-Befehl kann mit einer Vielzahl von Datentypen umgehen. Die Ansteuerung mit double ist völlig normal und fast nie langsamer als eine Integer-Ansteuerung.

- Obgleich die Standard-Schnittstelle von OpenGL eine C-Schnittstelle ist, gibt es gelungene Zweitschnittstellen, z.B. für FORTRAN und Pascal. Sie müssen also nicht in C oder auch C++ programmieren, wenn Sie das nicht mögen.

 

© 2009-2024 ciando GmbH