05.10.2013 Aufrufe

Integration von 3D-Visualisierungstechniken in 2D-Grafiksystemen

Integration von 3D-Visualisierungstechniken in 2D-Grafiksystemen

Integration von 3D-Visualisierungstechniken in 2D-Grafiksystemen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Kapitel 2. Grundlagen<br />

2.2.2. OpenGL<br />

Die Open Graphics Library (OpenGL) ist die Spezifikation e<strong>in</strong>er Software-Schnittstelle<br />

zur Grafikhardware[16, Abschnitt 1.2]. Die Grafikhardware wird so weit abstrahiert,<br />

dass e<strong>in</strong>e allgeme<strong>in</strong>e, plattformunabhängige Schnittstelle genutzt werden<br />

kann. Diese Abstraktionsebene ist noch immer hardwarenah genug, um e<strong>in</strong> e zientes<br />

Erzeugen <strong>von</strong> <strong>3D</strong>-Grafiken <strong>in</strong> Echtzeit zu erreichen.<br />

OpenGL-Implementierungen s<strong>in</strong>d auf den meisten Arbeitsplatzrechnern vorhanden.<br />

Unter Microsoft W<strong>in</strong>dows ist allerd<strong>in</strong>gs die Installation e<strong>in</strong>es (proprietären) Grafikkartentreibers<br />

sehr wichtig, da die ansonsten auf diesem System vorhandene Implementierung<br />

nur der Version 1.1 des OpenGL-Standards entspricht 3 . Falls ke<strong>in</strong>e Hardwarebeschleunigung<br />

vorhanden ist, können sogenannte Software-Renderer, re<strong>in</strong> auf<br />

dem Hauptprozessor arbeitende OpenGL-Implementierungen, genutzt werden. Diese<br />

s<strong>in</strong>d natürlich deutlich weniger leistungsfähig als Implementierungen, welche e<strong>in</strong>e<br />

Grafikkarte verwenden.<br />

Die OpenGL-API bietet zwei verschiedene Ansätze zum „Zeichnen“:<br />

• Die traditionelle Methode ist die Fixed Function Pipel<strong>in</strong>e, <strong>in</strong> der man die Art<br />

der Projektion, Beleuchtung, etc. durch Variablen kontrolliert. Wie die e<strong>in</strong>zelnen<br />

Schritte, <strong>von</strong> e<strong>in</strong>er aus Primitiven (Punkt, L<strong>in</strong>ie, Dreieck) bestehenden E<strong>in</strong>gabe<br />

zur fertigen Grafik, ablaufen, ist dabei fest im Treiber implementiert.<br />

• Bei dem „modernen“ Ansatz wird e<strong>in</strong>e Shader-basierte Pipel<strong>in</strong>e verwendet, d. h.<br />

e<strong>in</strong> Teil der Schritte (z. B. Transformation oder E<strong>in</strong>färben <strong>von</strong> Pixeln) wird<br />

durch kle<strong>in</strong>e, vom Anwendungsentwickler geschriebene Programme, die sogenannten<br />

Shader-Programme, auf der Grafikhardware ausgeführt.<br />

Die Erzeugung <strong>von</strong> Grafiken erfolgt <strong>in</strong> OpenGL nach dem Pr<strong>in</strong>zip der Rasterisierung,<br />

d. h. die Objekte der Szene werden als e<strong>in</strong>e Art Vektorgrafik an die Implementierung<br />

übergeben und dort <strong>in</strong> e<strong>in</strong>e Rastergrafik umgewandelt. Dabei wird mit e<strong>in</strong>em Tiefenpu<br />

er, e<strong>in</strong>em Speicherbereich <strong>in</strong> dem für jeden Pixel e<strong>in</strong> Tiefenwert gespeichert<br />

wird, sicher gestellt, dass im dreidimensionalen Raum näher an der Kamera liegende<br />

Punkte weiter entfernte Punkte verdecken.<br />

Die Spezifikation wird durch e<strong>in</strong> Non-Profit-Industriekonsortium <strong>von</strong> Mitgliedern<br />

wie Nvidia, AMD und Intel, der Khronos Group[5], verwaltet und weiter entwickelt.<br />

Die aktuelle Version wird auf der Webseite http://www.opengl.org/registry/ verö<br />

entlicht.<br />

2.2.3. HMTL5/JavaScript und WebGL<br />

E<strong>in</strong>e noch relativ neue Entwicklung im Bereich der <strong>3D</strong>-Visualisierung ist die WebGL-<br />

API. Der ebenfalls <strong>von</strong> der Khronos Group entwickelte Web-Standard ermöglicht<br />

e<strong>in</strong> plattformunabhängiges, hardwarebeschleunigtes Rendern <strong>von</strong> <strong>3D</strong>-Grafik im Webbrowser.<br />

Das auf OpenGL ES 2.0 basierende WebGL stellt e<strong>in</strong>en sehr großen Teil<br />

4<br />

3 Version 1.1 wurde 1997 verö entlicht; aktuell s<strong>in</strong>d die Versionen 3.3 und 4.3

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!