31.10.2013 Aufrufe

Download - Benjamin Granzow Portfolio

Download - Benjamin Granzow Portfolio

Download - Benjamin Granzow Portfolio

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

2.4. OPENGL ES 2.0 GRAFIKPIPELINE 13<br />

len von Shaderprogrammen können verschiedene Sprachen gewählt werden.<br />

Anfangs wurden die Programme mittels einer Assemblersprache geschrieben.<br />

Da diese aber nicht intuitiv zu verwenden ist, wurden einige Alternativen<br />

entwickelt, welche sich an der Programmiersprache C orientieren. Die<br />

Verbreitetsten sind C for Graphics (Cg) von NVIDIA, High Level Shading<br />

Language (HLSL), die für DirextX entwickelt wurde oder die OpenGL Shading<br />

Language (GLSL) für OpenGL Anwendungen. An diese Shader können<br />

beliebige zusätzliche Informationen übertragen werden, was eine erhöhte Interaktivität<br />

mit der Darstellung ermöglicht. Da für die Implementierung die<br />

Wahl auf OpenGL ES gefallen ist wird auch GLSL im nachfolgenden verwendet.<br />

Im Abschnitt 2.4 OpenGL ES 2.0 Grafikpipeline wird im Detail auf<br />

die zur Verfügung stehenden Shader von OpenGL ES eingegangen.<br />

2.4 OpenGL ES 2.0 Grafikpipeline<br />

Eine Grafikpipeline ist ein Modell, dass die einzelnen Schritte beschreibt,<br />

welche beim Grafikrendern durchlaufen werden, um eine Grafik auf den Bildschirm<br />

darzustellen. Dabei sind einige Schritte dieser Pipeline auf der Hardware<br />

implementiert, um eine bessere Performance zu erhalten. Die Schritte<br />

der OpenGL ES 2.0 Pipeline sind in Abbildung 2.4 mit ihren drei Phasen<br />

dargestellt. Um die Grafikpipeline zu betrachten, werden einige Begriffe benötigt:<br />

ˆ Vertex Buffer Object (VBO)<br />

Ein VBO ermöglicht eine schnelle und performante Speicherung und<br />

Übertragung von Daten, zB. Vertices und Normalen, zur Grafikkarte.<br />

Dabei wird dennoch ein einfacher Zugriff ermöglicht, um die Daten zu<br />

aktualisieren.<br />

ˆ Vertex(Vertices)<br />

Vertices sind Knotenpunkte aus welchen eine geometrische Form zusammengesetzt<br />

werden.<br />

ˆ Primitive<br />

Sind eine einfache geometrische Form, welche durch die Verbindung<br />

von Vertices repräsentiert werden. Üblich sind Punkte, Linien, Dreiecke<br />

und Vierecke.<br />

ˆ Fragment<br />

Fragments repräsentieren eine Farbe auf einer Rasterposition und beinhalten<br />

alle Informationen, um die betreffende Pixel darstellen zu können.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!