Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Viewing: Sichtbarkeitsbestimmung. B. Preim AG Visualisierung Viewing2 Ziel: Integration von Einzeltechniken in ein System zur Bilderzeugung aus einem.

Ähnliche Präsentationen


Präsentation zum Thema: "Viewing: Sichtbarkeitsbestimmung. B. Preim AG Visualisierung Viewing2 Ziel: Integration von Einzeltechniken in ein System zur Bilderzeugung aus einem."—  Präsentation transkript:

1 Viewing: Sichtbarkeitsbestimmung

2 B. Preim AG Visualisierung Viewing2 Ziel: Integration von Einzeltechniken in ein System zur Bilderzeugung aus einem 3D-Modell. Große Teile: Viewing, Shading und Rasterisierung Bilderzeugung = Rendering Gegeben: ein Modell in 3D-Koordinaten sowie eine Sicht auf die Szene (Kameramodell). Gesucht: Pixelbild, das das gegebene Modell realitätsnah darstellt. Rendering: Einführung

3 B. Preim AG Visualisierung Viewing3 Die Rendering-Pipeline Bilderzeugung setzt sich aus verschiedenen Teilprozessen zusammen, die aufeinander aufbauen. –Modellierung von 3D-Objekten –Zusammenbau der Szene (Geometrie + Licht + Kamera) –Entfernen nicht benötigter Modellteile (Rückseiten und alle Objekte, die außerhalb des Sichtkörpers liegen) –Projektion –Entfernen von unsichtbaren Flächen (Verdeckungen) –Beleuchtung (Shading) –Rasterung

4 B. Preim AG Visualisierung Viewing4 Modellierung der Geometrie Transformation in Weltkoordinaten (Aufbau der Szene) Platzieren von Kamera und Lichtquellen Transformation in Kamerakoordinaten (bestimmt durch Position und Orientierung der Kamera) Entfernen verdeckter Rückseiten Projektion (bestimmt durch Attribute der Kamera) Clipping gegen den Sichtkörper Entfernen verdeckter Modellteile (HSR) Rasterung Beleuchtungsberechnung und Shading Die Rendering-Pipeline Vor 14 Tagen Letzte Woche Heute

5 B. Preim AG Visualisierung Viewing5 Geometrische Modelle Ausgangspunkt für das Rendering Rechnerinterne Darstellung der Oberfläche Verschiedene Modellierungsverfahren –Explizite Repräsentation Angabe von Eckpunkten, Flächen, etc. –Implizite / analytische Repräsentation Angabe einer mathematischen Beschreibung (z.B. Kugel mit Radius r: x²+y²+z²-r² =0) Angabe eines Algorithmus Graphik I: Konzentration auf polygonale Oberflächenmodelle Analytische und implizite Darstellungen lassen sich in explizite Darstellungen umwandeln (Polygonalisieren).

6 B. Preim AG Visualisierung Viewing6 Geometrische Modelle: Polygonale Modelle Ein 3D-Objekt wird durch ein Gitter aus polygonalen Facetten angenähert und beschrieben. Original-ObjektOberflächenpolygonale Oberfläche Eckpunkte Kanten Polygone

7 B. Preim AG Visualisierung Viewing7 Geometrische Modelle: Polygonale Modelle Umwandlung von analytischen/impliziten Beschreibungen in polygonale Modelle ist mit einem Verlust an Genauigkeit verbunden. Beispiele: –Polygonalisierung von Kugeln, Zylindern, Bezierkurven, … Kompromiss zwischen dem Wunsch nach hoher Genauigkeit (Qualität) und kleinen Modellen (Geschwindigkeit) Kompromiss ist oft einstellbar für den Anwendungsentwickler durch Angabe eines Wertes zwischen 0 und 1 (höchstmögliche Qualität) Polygonalisierung von Zylindern: Qualität 0: Darstellung der Grundfläche als Dreieck Qualität 1: Darstellung der Grundfläche als 20-eck

8 B. Preim AG Visualisierung Viewing8 Unterschiedliche Polygonalisierungen eines Zylinders Geometrische Modelle: Polygonale Modelle

9 B. Preim AG Visualisierung Viewing9 Vorteile von polygonalen Modellen: Einheitliche Behandlung aller geometrischer Modelle Relativ einfache Algorithmen daher Implementierung in Hardware möglich Wichtig: Polygone müssen in einer Ebene liegen (z.B. um zu bestimmen, was im Inneren liegt). Bei Drei- ecken immer der Fall. Daher: intern Triangulierung. Geometrische Modelle

10 B. Preim AG Visualisierung Viewing10 Definition eines Polygons: 1.Angabe der Koordinaten der Eckpunkte –x-, y-, z-Koordinatentripel –Verbindung der Eckpunkte zu einem Polygon wird implizit hergestellt: –Verbinde den i-ten Punkt mit dem (i+1)-ten –Verbinde den letzten mit dem ersten zum Schließen des Polygons P1 (0,0,0)-(1,0,0)- (1,1,0)- (0,1,0) P2 (0,0,0)-(0,0,-1)- (0,1,-1)- (0,1,0) P3 (0,0,0)-(1,0,0)- (1,0,-1)- (0,0,-1) P4 (1,0,0)-(1,0,-1)- (1,1,-1)- (1,1,0) P5 (0,1,0)-(1,1,0)- (1,1,-1)- (0,1,-1) P6 (0,0,-1)-(1,0,-1)-(1,1,-1)- (0,1,-1) P1 und P6 liegen in der xy-Ebene. P2 und P4 liegen in der yz-Ebene. P3 und P5 liegen in der xz-Ebene. Geometrische Modelle: Polygonale Modelle x y z

11 B. Preim AG Visualisierung Viewing11 2.Auflistung aller Eckpunkte (vertices) in einer Liste –Verbindung wird angegeben durch eine Liste von Indizes (Kanten definiert als indizierte Eckpunktliste) –Vorteil: kompakte Speicherung (keine Redundanz), Projektion/Transformation des Modells: Iteration über alle Eckpunkte 3.Weitere komplexere Modellierungstechniken Nr.Koord. 1(0,0,0) 2(1,0,0) 3(1,1,0) 4(0,1,0) 5(0,0,-1) 6(1,0,-1) 7(1,1,-1) 8(0,1,-1) P P P P P P Geometrische Modelle: Polygonale Modelle

12 B. Preim AG Visualisierung Viewing12 Vorteile: Einfache Darstellung der Objekte Einfache und einheitliche Handhabung bei Berechnungen Weit verbreitet – kleinster gemeinsamer Nenner bei 3D-Modellen Nachteile: Polygonale Modelle approximieren die Oberfläche eines runden Objektes. Je genauer diese Approximation sein soll, um so mehr Polygone werden benötigt – speicheraufwändig Geometrische Modelle: Polygonale Modelle

13 B. Preim AG Visualisierung Viewing13 Zusammenbau der Szene Bisher sind Objekte in lokalen Koordinaten gegeben, d.h. jedes Objekt hat sein eigenes Koordinatensystem. Berechnungen, die mehrere Objekte einbeziehen, sind schwierig Transformation in ein gemeinsames Koordinatensystem notwendig Weltkoordinaten Platzieren der Objekte in einem globalen Koordi- natensystem, in dem auch Kameras und Lichter sowie Oberflächeneigenschaften der Objekte definiert werden

14 B. Preim AG Visualisierung Viewing14 Zusammenbau der Szene

15 B. Preim AG Visualisierung Viewing15 Zusammenbau der Szene Wie entsteht ein größeres geometrisches Modell? Durch explizite Modellierung verschiedener Teile (oft durch mehrere Personen parallel durchgeführt) Durch extensive Wiederverwendung von Teilen (auch aus anderen Modellen) Wiederverwendung durch Kopieren, Verschieben, Rotieren von Modellteilen (Beispiele: Räder und Türgriffe an Autos, Fenster, Türen an Gebäuden, …) Repräsentation großer Modelle: –Mehrfach verwendete Geometrie oft nur einmalig repräsentiert; zusammen mit mehreren Transformationen

16 B. Preim AG Visualisierung Viewing16 Definition Kamera(s) und Lichtquelle(n) Kameramodell: –Position und Richtung –die Abbildung bestimmende Parameter Lichtquellen (LQ) –Üblich: Punktlichtquellen (LQ ohne Ausdehnung, die in alle Richtungen gleichstark abstrahlen) – vereinfachtes Modell Position Farbe des ausgestrahlten Lichtes Helligkeit –Weitere Typen von Lichtquellen möglich: Flächige LQ Gerichtete LQ (parallele Strahlen in eine Richtung) Spotlights (Gerichtete LQ mit Öffnungswinkel)

17 B. Preim AG Visualisierung Viewing17 Kamerakoordinatensystem Koordinatensystem, bei dem die Kamera im Ursprung steht und entlang der (negativen) z-Achse ausgerichtet ist. Definition des Sichtkörpers Einige Operationen lassen sich hier sehr einfach ausführen, daher dieser Zwischenschritt –Entfernen verdeckter Rückseiten –Clipping gegen den Sichtkörper

18 B. Preim AG Visualisierung Viewing18 Kamerakoordinatensystem Sichtkörper bei perspektivischer Projektion begrenzt durch 2 Ebenen (near und far)

19 B. Preim AG Visualisierung Viewing19 Kamerakoordinatensystem Abbildung von Weltkoordinaten (des Modells) in Kamerakoordinaten: Model-View-Matrix. Matrix in homogenen Koordinaten, wird mit Projektionsmatrix multipliziert. Quelle: Angel (2000)

20 B. Preim AG Visualisierung Viewing20 Sichtbarkeitsbestimmung: Entfernen verdeckter Rückseiten Polygone entfernen, die vom Betrachter wegzeigen (Rückseiten), da sie mit Sicherheit nicht sichtbar sind (engl.: back face culling) Generelles CG-Prinzip: Versuche mit einem schnellen (einfachen) Test eine aufwändigere Berechnung in vielen Fällen einzusparen.

21 B. Preim AG Visualisierung Viewing21 Einfacher Test auf Sichtbarkeit eines Polygons mit Hilfe von: –Polygonnormale N p (nach außen zeigend) –Vektor v(iew) vom Polygon zum Betrachterstandpunkt Ist der Winkel > 90°, dann zeigt die Normale (und damit die Außenseite des Polygons) vom Betrachter weg und das Polygon ist nicht sichtbar. NpNp V Sichtbarkeitsbestimmung: Entfernen verdeckter Rückseiten

22 B. Preim AG Visualisierung Viewing22 Backface Culling (Eliminieren von Polygonen mit einer vom Betrachter abgewandten Normale) Erster Schritt beim Entfernen verdeckter Polygone Vorgehen: –Bilde Skalarprodukt aus N p V –Polygon ist prinzipiell sichtbar, wenn N p V>0 (und damit cos zwischen beiden Vektoren < 90 Grad. Vorzeichentest ist schneller als Winkelberechnung) –wichtig: Vektoren vorher normalisieren Einfacher Test, weil Betrachterstandpunkt im Ursprung des Kamerakoordinatensystems Back face culling entfernt ~ 50% aller Polygone. Sichtbarkeitsbestimmung: Entfernen verdeckter Rückseiten

23 B. Preim AG Visualisierung Viewing23 Bestimmen der Teile des Modells, die nicht von anderen Teilen des Modells verdeckt werden (oder der Teile, die verdeckt werden) (Hidden Line bzw. Hidden Surface Removal) Sichtbarkeitsbestimmung: Entfernen verdeckter Kanten/Flächen

24 B. Preim AG Visualisierung Viewing24 Viele Verfahren zur Lösung der Aufgabe: –Unterschiedliche Herangehensweise mit Objektgenauigkeit (d.h. analytische Verfahren in 3D) mit Pixelgenauigkeit (d.h. Verfahren in 2D) –Unterschiedliche Komplexität –Unterschiedliche Algorithmenklassen –Keine detaillierte Behandlung hier, nur depth-sort und z- Buffer-Algorithmus (später) Sichtbarkeitsbestimmung: Entfernen verdeckter Kanten/Flächen

25 B. Preim AG Visualisierung Viewing25 Sichtbarkeitsbestimmung: Entfernen verdeckter Kanten/Flächen Aus dem Kamarakoordinatensystem werden die Koordinaten in der (2D-)Bildebene berechnet Projektionstransformation (Vorlesung 6) Änderung zu den bisher behandelten Transformationen: z-Werte bleiben erhalten, so dass jeder Objektpunkt einen Tiefenwert besitzt. Tiefenwerte werden für das Entfernen verdeckter Teile des Modelles beim z-Buffer-Algorithmus benötigt.

26 B. Preim AG Visualisierung Viewing26 Sichtbarkeitsbestimmung: Entfernen verdeckter Kanten/Flächen Mögliche Konstellationen zwischen den Polygonen A und B: B vor A und Projektion B und A überlappt (B verdeckt A teilweise) A vor B und Projektion A und B überlappt (A verdeckt B teilweise) Projektion von A und B überlappt nicht (beide komplett sichtbar) Ein Polygon vor dem anderen und Projektion des vorderen umschließt Projektion des hinteren (hinteres Polygon komplett verdeckt) Projektion des vorderen Polygones komplett in der Projektion des hinteren enthalten (vorderes Polygon wird über das hintere gezeichnet.)

27 B. Preim AG Visualisierung Viewing27 Sichtbarkeitsbestimmung: Entfernen verdeckter Kanten/Flächen Depth-Sort (Objektbasierter Algorithmus) Sortieren der Polygone nach ihrer Entfernung zum cop Zeichnen von hinten nach vorn Problem: Bei Polygonen, bei denen sich die Abstände zum cop und die Projektion überlappen, ist die Zeichenreihenfolge unklar. Lösung: Teile solche Polygone solange bis Polygonteile entstehen, die sich eindeutig sortieren lassen. Dreiecke: Schwerpunkt bilden; 3 kleinere Dreiecke konstruieren

28 B. Preim AG Visualisierung Viewing28 Z-Buffer-Algorithmus Effizienter Algorithmus zum Erkennen der sichtbaren Teile einer Szene, der in Bildschirmkoordinaten arbeitet (besser: im Bildraum) Ist in Hardware implementiert (NVidia, ATI, …). Voraussetzung: Alle Polygone liegen transformiert vor, wobei die Bildschirmkoordinaten eine trans- formierte z-Koordinate besitzen, die die Tiefe angibt. Technische Voraussetzung: zwei Bitmaps –Framebuffer enthält das eigentliche Bild –Z-Buffer enthält Tiefenwerte Sichtbarkeitsbestimmung: Entfernen verdeckter Kanten/Flächen

29 B. Preim AG Visualisierung Viewing29 Algorithmus 1.Fülle den Framebuffer mit der Hintergrundfarbe 2.Fülle den z-Buffer mit der maximal möglichen Tiefe 3.Zeichne alle Polygone nacheinander: a)Bestimme für jeden Punkt des Polygons die Position im Bild, die Farbe und den Tiefenwert b)Vergleiche den Tiefenwert an der Position mit dem, der dort im z-Buffer gespeichert ist c)Wenn der Tiefenwert des Polygonpunktes kleiner ist (weiter vorne), dann zeichne die Farbe in den Framebuffer und setze den Tiefenwert im z- Buffer auf den neuen Tiefenwert, sonst wird nichts verändert Was heißt jeder Punkt des Polygons? Polygon wird abgetastet; Berechnung wird für diskrete Punkte des Polygons durchgeführt. Abtastrate hängt von der Größe des projizierten Polygones ab. Sichtbarkeitsbestimmung: Entfernen verdeckter Kanten/Flächen

30 B. Preim AG Visualisierung Viewing30 Z-buffer Sichtbarkeitsbestimmung: Entfernen verdeckter Kanten/Flächen

31 B. Preim AG Visualisierung Viewing31 Sichtbarkeitsbestimmung: Entfernen verdeckter Kanten/Flächen OpenGL-Realisierung: glutInitDisplayMode (GLUT_DOUBLE| GLUT_RGB| GLUT_DEPTH); glEnable (GL_DEPTH_TEST); glClear (GL_DEPTH_BUFFER_BIT);

32 B. Preim AG Visualisierung Viewing32 Sichtbarkeitsbestimmung: Entfernen verdeckter Kanten/Flächen Probleme bei der Sichtbarkeitsbestimmung: Zyklisch überlappende Polygone Ein Polygon zersticht ein anderes (engl. Piercing). Lösung: Teilen in solche Polygone, die sich eindeutig in Tiefenrichtung sortieren lassen (schwierig) Quelle: Angel (2000)

33 B. Preim AG Visualisierung Viewing33 Zusammenfassung Entfernen von Rückseiten der Polygone (Normale und Vektor zur Kamera betrachten) Entfernen verdeckter Flächen(teile) durch bildbasierte oder objektbasierte Algorithmen Beispiele: –Objektbasiert: Sortierung der Polygone nach Abstand zur Kamera (Sortierreihenfolge nicht immer eindeutig) –Bildbasiert:z-Buffer

34 B. Preim AG Visualisierung Viewing34 Ausblick: Rasterung und Shading Nach der Projektion sind die Eckpunkte der Polygone in Bildschirmkoordinaten gegeben. Noch zu tun: –Umsetzung dieser Koordinaten auf Pixelpositionen –Bestimmen der entsprechenden Farbe des Pixels –Zeichnen der Objekte = Rasterung Farbe des Pixels ist abhängig von: –Einfallendem Licht in der 3D-Szene –Material und Oberflächeneigenschaft der Objekte –Betrachterstandpunkt Bestimmen der Farbe an einem Punkt im 3D-Modell über Beleuchtungsmodelle, Umsetzen auf Pixelfarbe: Shading


Herunterladen ppt "Viewing: Sichtbarkeitsbestimmung. B. Preim AG Visualisierung Viewing2 Ziel: Integration von Einzeltechniken in ein System zur Bilderzeugung aus einem."

Ähnliche Präsentationen


Google-Anzeigen