Grafikpipeline Flashcards
Computergrafik Prozess
- 3D Objekte
-> Modellierung - 3D-Modelle (Szene, Geometrie, Material, Beleuchtung)
-> Notwendig für Darstellung: Rasterisierung - Bilder (Interaktion, Animation)
3D-Grafik-Pipeline Schematisch
- CPU
-> Anwendung - GPU
-> Geometrieverarbeitung
-> Rasterisierung - Ausgabe
Anwendung: Repräsentation von 3D-Daten: Grafische Primitive
- Punkte
- Linien
- Dreiecke
Anwendung: Transformationen
Positionierung
- Transformation + relative Koordinaten
-> Translation, Rotation, Skalierung, Scherung
Anwendung: Räumliche Datenstrukturen: Klassifikation
- Hüllkörperhierarchie
- Raumunterteilung
-> k-d Tree
-> Quadtree
-> Binary Space Partition (BSP)
Hüllkörper
Hüllkörper müssen einfach sein, d.h. Schnitttests mit andern Primitiven müssen sich einfach berechnen lassen
Raumunterteilungen
- einfach
- Objekt ist in mehreren Zellen enthalten
- Kann sich der Geometrie nicht anpassen
- Sehr speicheraufwändig
- Effizient traversierbar
- Schneller Zugriff auf Nachbarn ist möglich
Geometrieverarbeitung: Kanonische Position und Orientierung
- Sichtvolumen wird nach dem Koordinatensystem ausgerichtet
- Ziel: Einheitliches Sichtvolumen für die nachfolgenden Algorithmen
Geometrieverarbeitung: Simulation der Beleuchtung
Bestimmung der Leuchtdichten eines Primitivs:
-> Flat Shading: Normale des Primitivs ergibt einheitliche Helligkeit
-> Gouraud shading: Normale in den Eckpunkten ergibt Helligkeitswerte für die Eckpunkte, Helligkeitswerte der Eckpunkte werden linear interpoliert
-> Phong Shading: Eckpunkt-Normalen werden für jeden Punkt linear interpoliert und normiert, Helligkeitswert ergibt sich aus interpolierter Normale
Phong-Beleuchtungsmodell
- Welcher Anteil des Lichts, das an der Position L emittiert und am Objekt reflektiert wurde, erreicht den Beobachter an der Position V?
- Lichtquellen sind punktförmig
- Geometrie der Oberflächen wird ignoriert
Phong-Beleuchtungsmodell: Komponenten/Reflektion
Berechnet Reflektion des Lichtes
- Ambiente Komponente: Umgebungslicht
- Diffuse Reflektion: Abhängig von Richtung des Lichts und Oberflächennormale
- Spiegelnde Reflektion: Abhängig von der Richtung der Reflektion und des Betrachters
Schattierung von Primitiven
- Wireframe
- Constant Shading
- Flat Shading
- Gouraud Shading
- Phong Shading
- Subdivision, Texture/Bump/Reflection Mapping
Geometrieverarbeitung: Clipping
- Sichtbarkeit: Sichtbar ist der dem Auge am nächsten liegende Punkt
- Clipping: Abschneiden von Objekten am Rand eines gewünschten Bildschirmausschnitts
Painters Algorithmus
- Soll Sichtbarkeitsproblem lösen (was ist sichtbar/verdeckt)
- Zeichne Polygone wie ein Maler
-> z-Wert: Tiefe - Sortiere Polygone nach z-Wert
- Berechne Schnittpolygone bei Überlappung
- Zeichne Polygone mit dem größten z-Wert begonnen
Geometrieverarbeitung: Culling
Bestimmung von Rückseiten in Szenen, die von der weiteren Betrachtung ausgeschlossen werden können
-> Skalarprodukt aus Sehstrahl und Normale ist positiv