Download - Benjamin Granzow Portfolio
Download - Benjamin Granzow Portfolio
Download - Benjamin Granzow Portfolio
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.