Die Grafik-Pipeline


Exposé Écrit pour un Séminaire / Cours, 2008

31 Pages, Note: 1,8


Extrait


Inhaltsverzeichnis

1. Einleitung

2. Schritte einer Grafik Pipeline

Geometrische Verfahren

3. Koordinatensysteme
3.1 Das lokale Koordinatensystem
3.2 Das Weltkoordinatensystem
3.3 Das Augen-, Kamera- oder Ansichtskoordinatensystem
3.4 Zusammenfassung der Koordinatensysteme

4. Operationen in Koordinatenräumen
4.1 Culling
4.2 Sichtvolumen und Clipping
4.3 Der dreidimensionale Bildschirmraum

5. Erweitertes Ansichtssystem (PHIGS)
5.1 Implementieren eines PHIGS-Ansichtssystems

Algorithmische Prozesse

6. Zuschneiden von Polygonen
6.1 Die Verwendung von Hüllkörpern
6.2 Demonstration Clipping
6.3 Der Sutherland und Hodgman Algorithmus

7. Schattieren von Pixeln
7.1 Das lokale Reflexionsmodell
7.2 Praktische Hinweise
7.3 Überlegung zur Lichtquelle
7.4 Schattierung durch Interpolation
7.5 Die Gouraud Methode
7.6 Die Phong Methode
7.7 Die Schattierungsfunktionen von Renderern

8. Das Rastern von Polygonen

9. Fazit

1. Einleitung

Eine Grafik-Pipeline ist eine Abfolge von Ausführungsschritte um einen dreidimensionalen Raum in eine zweidimensionale Projektion zu überführen.

Die einzelnen Ausführungsschritte, werden in dieser Ausarbeitung dargestellt und im Einzelnen erläutert, wobei es zu unterscheiden gilt, welche Ausführungsschritte zu den so genannten geometrischen Verfahren oder den algorithmischen Prozessen zuzuordnen sind.

Es werden in dieser Ausarbeitung sowohl die geometrischen Verfahren, wie auch die algorithmischen Prozesse behandelt und an Beispielen gefestigt.

Da ein Objekt in der Abfolge der Ausführungsschritte in einer Grafik-Pipeline mehrere Koordinatenräume durchläuft, werden wir diese Koordinatenräume ebenfalls im Einzelnen inspizieren.

Des Weiteren werden Ihnen einige Operationen nahe gebracht, welche in einer Grafik-Pipeline unabdingbar sind.

Darüber hinaus werden wir uns mit der Schattierung und dem Rastern von Pixeln beschäftigen und ein erweitertes Ansichtssystem kennen lernen.

Die vorhin angesprochenen zweidimensionalen Projektionsmedien sind beispielsweise der Computermonitor, Beamer oder Fernseher.

Zur heutigen Zeit gibt es einzelne Anzeigegeräte, welche dreidimensionale Grafik darstellen können, doch bleibt zu beachten, dass die meist benutzten Bildoberflächen zur Anzeige von Grafik zweidimensional sind.

Ein dreidimensionales Anzeigegerät ist jedoch nicht zu verwechseln mit den so genannten „Head Mounted Displays“.

Diese „Head Mounted Displays“ sind Helme, welche mit meist drei oder mehreren Displays ausgestattet sind.

Dem Träger dieser Helme wird hierdurch ein dreidimensionaler Raum vorgetäuscht. Jedoch erfolgt die Darstellung des Bildes auf zweidimensionalen Anzeigegeräten.

Abbildung in dieser Leseprobe nicht enthalten12

2. Schritte einer Grafik Pipeline

Die Schritte einer Grafik Pipeline müssen klassifiziert werden in geometrische Verfahren und algorithmische Prozesse.

Die geometrischen Verfahren befassen sich mit den Punkten von den, zum späteren Zeitpunkt angezeigten, Polygonen.

Diese Ausarbeitung wird sich im Folgenden ausschließlich auf die Betrachtung von Polygonen Netzobjekten beschränken.

Als Beispiel ist zu nennen, dass in den geometrischen Verfahren Punkte von einem in einen anderen Koordinatenraum transformiert und diese Polygone verworfen, welche vom Blickpunkt aus nicht gesehen werden können oder welche von einem anderen Polygon verdeckt werden.

Die algorithmischen Schritte bilden die zweite Kategorie.

Diese Kategorie befasst sich mit den weiteren Vorgängen, welche im Anschluss zu den geometrischen Schritten auszuführen sind. Sie beinhaltet beispielsweise die Schattierung der verschiedenen Objekte, sowie das Textur Mapping.

Unter Textur Mapping ist das Aufbringen eines Musters auf eine Fläche eines dreidimensionalen Objektes zu verstehen. Transparent dem Begriff des Textur Mappings wird die deutsche Übersetzung der Musterabbildung verwendet.

Da die geometrischen Schritte fast rein auf Matrizenmultiplikation basieren, sind die algorithmischen Schritte um Einiges kostenintensiver. Wobei unter dem Begriff der Kostenintensität die benötigte Rechnerleistung zu verstehen ist.

Abbildung in dieser Leseprobe nicht enthalten3

In Abbildung 3 ist eine dreidimensionale Rendering Pipepline dargestellt.

In dieser Abbildung kann man erkennen, welche Ausführungsschritte eine solche Pipeline beinhaltet.

Auf diese Ausführungsschritte, sowie die Koordinatenräume oder Koordinatensysteme werden wir nun näher eingehen.

3. Koordinatensysteme

Wir unterscheiden zwischen drei verschiedenen Koordinatensystemen.

Das Lokales- oder Modellierungs-Koordinatensystem, das Weltkoordinatensystem und das Kamera-, Augen- oder Ansichtskoordinatensystem.

3.1 Das lokale Koordinatensystem

Um ein modelliertes Objekt rendern zu können, muss es zuerst in einem Koordinatensystem positioniert werden. Die 3d Objekte werden in einem eigenen Objekt-Koordinatensystem, auch Modellierungskoordinatensystem oder lokales Koordinatensystem genannt, definiert.

Die Objektkomponenten wie Punkte, Flächen und Normalen werden ebenfalls in einem lokalen Koordinatensystem gespeichert.

3.2 Das Weltkoordinatensystem

Ist das entsprechende Objekt im Lokalen Koordinatensystem modelliert worden, so muss es anschließend in ein gemeinsames Koordinatensystem aufgenommen werden.

Dieses globale Koordinatensystem ist auch als „Weltkoordinatensystem bekannt“. Sämtliche Objekte müssen nach der Modellierung in dieses Koordinatensystem übertragen werden, damit die räumliche Zuordnung vorgenommen werden kann.

Ist es die Aufgabe, ein animiertes Objekt in das Weltkoordinatensystem zu übertragen, so wird jedes einzelne Bild, also Frame für Frame in das globale System übertragen.

In dem Weltkoordinatensystem wird aber nicht nur die räumliche Zuordnung zueinander festgelegt. Vielmehr wird die komplette Szene, nicht nur das einzelne Objekt, im globalen Raum beleuchtet. Das heißt, es werden Lichtquellen festgelegt.

Des Weiteren werden noch die Schattierungen vorgenommen und die Oberflächeneigenschaften, wie Textur, Farbe und weitere Eigenschaften, festgelegt und angepasst.

3.3 Das Augen-, Kamera- oder Ansichtskoordinatensystem

Als drittes Koordinatensystem ist das Augen-, Kamera- oder Ansichtskoordinatensystem zu nennen.

Das Ansichtskoordinatensystem, wie es nun fortlaufend in dieser Ausarbeitung benannt wird, wird für den Blickpunkt, die Blickrichtung und das Sichtvolumen verwendet.

Sehr oft wird das Ansichtskoordinatensystem mit einer virtuellen Kamera verglichen. Diese Beschreibung ist jedoch aus folgendem Grund nicht korrekt:

Ich möchtet nun eine solche Kamera als Beispiel in betracht ziehen. Es gibt eventuell eine Linse und einen festen Datenträger (Film oder Flächensensor bei einer Digitalkamera) in dieser angesprochenen Kamera.

Dies ist jedoch keinesfalls vergleichbar mit einem Ansichtskoordinatensystem. Viel besser ist die Beschreibung einer Lochkamera, also eine Kamera ohne Linse, bei der der Bilddatenträger in beliebiger Entfernung vom Loch aufgestellt werden kann.

Sollen die Punkte im Weltkoordinatensystem transformiert werden, so muss eine Änderung der Koordinatensytem-Transformation herbeigeführt werden.

Hierfür wird die Translation und die Rotation benötigt:

Abbildung in dieser Leseprobe nicht enthalten

Will man im System eine Benutzerschnittstelle implementieren, besteht das Problem, alle Parameter, die verwendet werden, den Koordinatenachsen U, V und N zuzuordnen.

Vom Benutzer müssen die Punkte C, N und V festgelegt werden, wobei der Punkt C, der Blickpunkt, keine größeren Schwierigkeiten bereiten wird.

Der Punkt N, welcher die Normale auf der Ansichtsebene beschreibt, kann durch zwei Winkel angegeben werden:

θ dem Azimutwinkel und $ dem Höhenwinkel. Dann gilt:

Nx = sin $ cos θ Ny = sin $ sin θ Nz = cos $

Es haben sich mehrere Strategien entwickelt, wie der Punkt V, der Aufwärtsvektor des Ansichtskoordinatensystems, zu berechnen gilt.

Eine dieser Strategien besagt, dass der Benutzer eine ungefähre Richtung von V angibt und das System die genauen Koordinaten berechnet.

V’ = Vom Benutzer angegebene, ungefähre Richtung von V Dann gilt:

V = V '- (VN) N

Der Seitwärtsvektor des Ansichtskoordinatensystems U, kann ebenfalls vom Benutzer frei gewählt werden.

Ist dies nicht der Fall dann wird U wie folgt berechnet: U = N x V

Der Frage, warum es überhaupt ein Ansichtskoordinatensystem gibt, da man das Bild doch direkt vom globalen Koordinatensystem in den Bildschirmraum übertragen könnte, muss entgegengewirkt werden, dass verschiedene Operationen sehr bequem und ohne weitere Konvertierungen im Ansichtsraum durchgeführt werden können.

Als nächsten muss der Begriff des Ansichtssystems definiert werden.

„Wir definieren ein Ansichtssystem als die Kombination eines Ansichtskoordinatensystems mit den Spezifikationen bestimmter Einrichtungen wie einem Sichtvolumen“.4)

Für ein minimales Ansichtssystem sind folgende Bestandteile nötig:

- Blickpunkt mit Blickrichtung N
- Ansichtskoordinatensystem mit Bezug auf den Blickpunkt
- Ansichtsebene für die Projektion des zweidimensionalen Bildes
- Sichtvolumen € stellt das Blickfeld dar

Abbildung 4:

Die Mindestanforderung für ein funktionierendes Ansichtssystem5)

Abbildung in dieser Leseprobe nicht enthalten

In Abbildung 4 ist die Mindestanforderung für ein funktionierendes Ansichtssystems dargestellt.

Der Blickpunkt C beschreibt den Punkt des Betrachters, welcher auf ein Ebene schaut. Diese Ebene wird als Ansichtsebene bezeichnet.

Die Ansichtsebene ist jedoch durch die Blickrichtungslinien begrenzt. Es bildet sich ein Ansichtsstumpf.

Den Bereich, der für den Betrachter sichtbar ist, wird als Sichtvolumen bezeichnet.

Es sei zu bedenken, dass es sich bei der Grafik nur um die Minimalanforderung für ein Ansichtssystem handelt.

Selbstverständlich ist das Sichtvolumen für den Betrachter nicht unendlich und es kommen zusätzlich mehrere Komponenten hinzu, welche das Ansichtssystem verfeinern und komplettieren.

3.4 Zusammenfassung der Koordinatensysteme

In Abbildung 5 sind zwei Lokale Koordinatensysteme zu sehen, welche in Ihrem Koordinatensystem transformiert wurden. Im lokalen Koordinatenraum wurde mit den Objekten eine Rotation vorgenommen.

Gerastert dargestellt sehen wir das Welt- oder globale Koordinatensystem. In diesem Koordinatensystem werden alle Objekte, weitere Koordinatensysteme, sowie Ebenen dargestellt.

Auch zu sehen ist eine Vorschau auf die Ansichtsebene, auf welcher die Objekte zweidimensional dargestellt werden.

Abbildung 5:

Objektkoordinaten, Weltkoordinaten und Ansichtskoordinaten6)

Abbildung in dieser Leseprobe nicht enthalten

4. Operationen in Koordinatenräumen

In den einzelnen Koordinatenräumen gibt es verschiedene Operationen, welche dort ausgeführt werden müssen.

Dieses Kapitel wird die oben genannten Operationen darlegen und auf diese einzeln eingehen.

4.1 Culling

Mit dem Begriff „Culling“ wird das Entfernen von Rückseiten beschrieben.

Ist man im Besitz eines Polygons und einer Ansichtsebene, so kann leicht festgestellt werden, welcher Teil des Polygons vom Betrachter aus nicht gesehen werden kann. Dieser Teil wird nun entfernt.

Das Entfernen hat den Vorteil, dass die Darstellungsgeschwindigkeit erhöht wird, da der entfernte Teil nicht mit berechnet werden muss.

Ebenfalls werden hierdurch Ressourcen eingespart.

Für das Entfernen von Rückseiten benötigt man den Blickpunkt C und die Blickrichtung N.

Ist der Winkel des Blickpunktes zum Normalvektor größer als 90 Grad, wird dieser Pixel verworfen.

Die Operation wird für jeden einzelnen Pixel durchgeführt, bis das komplette Objekt abgetastet ist.

Das Culling entfernt jedoch nicht nur Rückseiten, sondern auch verdeckte Oberflächen.

Wenn ein Polygon ganz oder teilweise von einem anderen Polygon verdeckt wird, werden die verdeckten Pixel ermittelt und diese verworfen.

Die Reihenfolge des Cullings ist so festgelegt, dass erst die nicht sichtbaren Oberflächen ermittelt und verworfen werden und anschließend selbiges mit den verdeckten Oberflächen geschieht.

4.2 Sichtvolumen und Clipping

Als Sichtvolumen ist der entstehende Bereich, welcher zwischen Ansichtsebene und ferner Clipping Ebene liegt.

Es wurde vorhin das Sichtvolumen als eine unendliche Halbpyramide angesehen. Lassen wir die nahe Clipping Ebene fallen und betrachten das Sichtvolumen als den Bereich zwischen der Ansichtsebene und der fernen Clipping Ebene.

Entstanden ist nun eine unendliche Pyramide.

Durch eine Ferne Clipping Ebene müssen weniger Polygone verarbeitet werden. Wir stellen uns einen Flugsimulator vor, indem ein Horizont gezeichnet wurde. Der Horizont muss nicht dreidimensional gerendert werden. Hierdurch bleiben die Rendering-Operationen erspart.

Um zu vermeiden, dass die Objekte, welche in die Clipping Ebene eintreten, wie

„angeknipst“ aussehen, damit ist gemeint, dass das Objekt in die Ansichtsebene komplett eintritt und nicht langsam auftaucht, wird meist ein leichter Nebel über die ferne Ebene gelegt, so dass die Grafik aus diesem Nebel langsam auftaucht.

Das ganze kann man sich als fertiges Bild vorstellen. In Abbildung 6 ist zu sehen, dass die blaue Tasse den Clipping Bereich streift und abgeschnitten wird, die braune Tasse liegt hinter der Fernen Clipping Ebene und wird ebenfalls abgeschnitten.

Wie vorhin beschrieben kann dieser Effekt des plötzlichen Abschneidens mit einem leichten Nebel am Ende der fernen Clipping Ebene behoben werden.

[...]


1) online im Internet: http://blogs.guardian.co.uk/technology/archives/2006/10/16/daily_mail_unveils_unbelievable_360degree_head_mounted_displa y.html [Stand 11.01.2008]

2) online im Internet: http://www.produktdesign.com/cyberspacebrille.htm [Stand 11.01.2008]

3) Quelle: Alan Watt – 3D-Computergrafik 3. Auflage - Seite165

4) Quelle: Alan Watt – 3D-Computergrafik 3. Auflage - Seite167

5)online im Internet: http://www.dma.ufg.ac.at/app/link/Grundlagen%3A3D-Grafik/module/9320 [Stand 11.01.2008]

6) online im Internet: http://www.dma.ufg.ac.at/app/link/Grundlagen%3A3D-Grafik/module/9320 [Stand 11.01.2008]

Fin de l'extrait de 31 pages

Résumé des informations

Titre
Die Grafik-Pipeline
Université
University of Applied Sciences Giessen
Note
1,8
Auteur
Année
2008
Pages
31
N° de catalogue
V118726
ISBN (ebook)
9783640221011
Taille d'un fichier
1106 KB
Langue
allemand
Annotations
Diese Ausarbeitung beinhaltet die geometrischen Verfahren, wie Koordinatensysteme, Operationen in Koordinatenräumen und das erweiterte Ansichtssytem PHIGS, sowie die algorithmischen Prozesse, wie das Zuschneiden, Schattieren und Rastern von Polygonen. Des Weiteren erfährt der interessierte Leser mehr über den Sutherland und Hodgman Algorithmus, die Gouraud und Phong Methode, sowie das Culling und das Clipping.
Mots clés
Grafik-Pipeline
Citation du texte
Marcus Steller (Auteur), 2008, Die Grafik-Pipeline, Munich, GRIN Verlag, https://www.grin.com/document/118726

Commentaires

  • Pas encore de commentaires.
Lire l'ebook
Titre: Die Grafik-Pipeline



Télécharger textes

Votre devoir / mémoire:

- Publication en tant qu'eBook et livre
- Honoraires élevés sur les ventes
- Pour vous complètement gratuit - avec ISBN
- Cela dure que 5 minutes
- Chaque œuvre trouve des lecteurs

Devenir un auteur