Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Computergrafik - Inhalt

Ähnliche Präsentationen


Präsentation zum Thema: "Computergrafik - Inhalt"—  Präsentation transkript:

1 Computergrafik - Inhalt
§0 Historie, Überblick, Beispiele §1 Begriffe und Grundlagen §2 Objekttransformationen §3 Objektrepräsentation und -Modellierung §4 Sichttransformationen §5 Kurven und Flächen §6 Rendering und Visibilität §7 Mapping-Techniken

2 6.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computergrafik. Dieses Unterkapitel beschreibt die quantitativen Aspekte von Farbe, auf denen jegliche Verarbeitung von Farbinformationen während des Renderings beruht. Fragestellungen Wie kann man eine bestimmte Farbe exakt spezifizieren? Farbräume, Farbmodelle Wie viele verschiedene Farben können durch eine Grafikhardware spezifiziert werden? Technische Realisierbarkeit Wie exakt kann eine exakt spezifizierte Farbe auf einem Ausgabegerät angezeigt werden? Geräteabhängige Farbräume

3 6.1 Farbmodelle Hierarchien bekannter Farbmengen
Ebener Schnitt durch den drei- dimensionalen Farbraum. Jeder Punkt entspricht einer Farbe. A: Menge aller vom Menschen wahrnehmbaren Farben B: Menge aller von einem Ausgabegerät (z.B. Monitor) darstellbaren Farben – dies ist eine Untermenge von A C: Menge aller von einem Programm spezifizierbaren Farben – beschränkt durch die Grafikhardware (Bildspeicher), z.B. 24 Bit/Pixel → Farben – i.A. Untermenge von A und Obermenge von B

4 6.1 Farbmodelle Dreidimensionaler Farbraum
Der traditionellen Beschreibung von Farben durch Namen mangelt es naturgemäß an Exaktheit – Aschgrau, Steingrau, Mausgrau, ... Eine präzise Festlegung erhält man erst durch eine objektive quantitative Spezifikation. Physikalisch gesehen ist eine Farbe eine bestimmte Energie- verteilung im elektromagnetischen Spektrum zwischen 400 und 700 Nanometern Wellenlänge. Anhand physikalischer Experimente und Unter- suchungen der physiologischen Farbwahrnehmung durch das menschliche Auge gelangte man zur Erkenntnis, dass nahezu alle Farben, die das Auge unterscheiden kann, auf eine additive Mischung dreier Grundfarben zurückgeführt werden können.

5 6.1 Farbmodelle Dreidimensionaler Farbraum (cont.)
Definiert man die zu mischenden Anteile z. B. der Grundfarben Rot, Grün und Blau durch ein Tripel (r, g, b) von Gewichtsfaktoren, so lässt sich eine bestimmte Farbe C mittels C = r R + g G + b B exakt spezifizieren. Dies ist jedoch bei weitem nicht die einzige Möglichkeit, einen dreidimensionalen Farbraum zu definieren. Je nach Anforderung können verschiedene standardisierte Farbräume (Farbmodelle) verwendet werden, z. B. RGB: traditioneller Farbraum für Computergrafik, Monitore, ... HSV: erleichtert die intuitive Farbauswahl CIE: internationaler Standard zur Farbspezifikation CMY: subtraktives Farbmodell für die Drucktechnik

6 6.1 Farbmodelle RGB-Farbmodell
Verwendet die Grundfarben Rot, Grün und Blau zur additiven Farbmischung Beschreibung einer Farbe durch ein Tripel (r, g, b) von Gewichtsfaktoren mit 0 ≤ r,g,b ≤ 1. Es gilt: (0,0,0) = Schwarz (1,1,1) = Weiß (1,0,0) = Rot (0,1,0) = Grün (0,0,1) = Blau (0,1,1) = Cyan (1,0,1) = Magenta (1,1,0) = Gelb Im Rechner z.B. bei 8 Bit pro Grundfarbe: 0 ≤ r,g,b ≤ 255. Die Menge aller spezifizierbaren Farben wird im 3D- Raum durch einen Würfel repräsentiert („Farbkörper“) Dieser deckt jedoch nicht den gesamten wahrnehm-baren Farbraum ab!

7 6.1 Farbmodelle RGB-Farbmodell (cont.) RGB-Farbwürfel

8 6.1 Farbmodelle RGB-Farbmodell (cont.)
Modell ist bezüglich Farbwahrnehmung nicht linear Betrachtet man eine typische Farbauflösung von 8 Bit pro Grundfarbe (sog. True Color), so existieren im Farbwürfel Regionen, in denen benachbarte Punkte für das Auge denselben Farbeindruck hervorrufen. In anderen Regionen hingegen sind die Farben benachbarter Punkte für das Auge sehr wohl voneinander unterscheidbar. Für den Anwender ist es mitunter recht schwierig, zu einer gewünschten Farbe (z. B. Kastanienbraun) ein entsprechendes (r, g, b)-Tupel zu ermitteln. Ebenfalls schwierig ist es beispielsweise, eine Farbe ein wenig abzuschwächen (erfordert ungleiche Änderungen von r, g und b). → Übergang auf HSV-Farbmodell

9 6.1 Farbmodelle HSV-Farbmodell
Entwickelt zur Unterstützung einer intuitiven Farbauswahl (wahrnehmungsorientiertes Farbmodell) Der Farbkörper im 3D-Farbraum ist eine Pyramide mit sechseckiger Grundfläche Verwendet „Zylinderkoordinaten“ Hue Farbe („Farbfamilie“) als „Farbwinkel“ in Grad: 0O ≤ H < 360O Saturation Sättigung: 0 ≤ S ≤ 1 Verkleinerung addiert Weiß Value Helligkeit: 0 ≤ V ≤ 1 Verkleinerung addiert Schwarz

10 6.1 Farbmodelle Zusammenhang zwischen HSV- und RGB-Modell
Die Grundfläche der HSV-Pyramide entsteht aus dem RGB-Würfel durch Projektion entlang der Raum- diagonale von Weiß nach Schwarz auf eine dazu senkrecht stehende Ebene. Es ergeben sich folgende korrespondierende Punkte: RGB Farbe HSV (1, 0, 0) Rot (0, 1, 1) (1, 1, 0) Gelb (60, 1, 1) (0, 1, 0) Grün (120, 1, 1) Cyan (180, 1, 1) (0, 0, 1) Blau (240, 1, 1) (1, 0, 1) Magenta (300, 1, 1) Bemerkung: Im HSV-Modell besitzen Komplementär- farben eine Winkeldifferenz von 180° im H-Wert

11 6.1 Farbmodelle Zusammenhang HSV- und RGB-Modell (cont.)
Schreitet man im RGB-Würfel entlang der Hauptdiagonale von Schwarz nach Weiß, so kann man in jedem Punkt P dieser Diagonale einen Sub-Würfel wie folgt definieren: Die Hauptdiagonalen der Würfel fallen zusammen Eine Ecke des Sub-Würfels liegt bei Schwarz = (0,0,0), die gegenüberliegende Ecke liegt bei P Der Sub-Würfel liegt im Innern des RGB-Würfels Somit definiert jeder Sub-Würfel bei Anwendung der oben beschriebenen Projektion entlang der Hauptdiagonale ein Sechseck, das einem Schnitt durch die HSV-Pyramide für V = const. entspricht. Die Hauptdiagonale des RGB-Würfels entspricht also der V-Achse der HSV-Pyramide.

12 6.1 Farbmodelle CIE-Farbraum
Internationaler, geräteunabhängiger Standard zur Farbspezifikation, geeignet zur Beschreibung aller vom Menschen wahrnehmbaren Farben (der RGB-Farbkörper ist hierfür nicht geeignet!) Universeller Farbraum Verwendet die künstlichen Grundfarben X, Y und Z zur additiven Farbmischung (CIE XYZ-Farbraum) Begründung: Keine Auswahl dreier Grundfarben aus dem sichtbaren Farbbereich kann durch additive Mischung mit nicht negativen Gewichten alle wahrnehmbaren Farben abdecken. Die Mischung schon zweier Grundfarben ergibt immer eine weniger gesättigte Farbe Repräsentation einer Farbe C durch C = X X + Y Y + Z Z

13 6.1 Farbmodelle CIE-Farbraum (cont.)
CIE XYZ Farbkörper: enthält alle wahrnehmbaren Farben Von einem Monitor darstellbare Farben

14 6.1 Farbmodelle CIE-Farbraum (cont.)
Eine alternative Spezifikation des CIE XYZ- Farbtripels (X, Y, Z) ergibt sich durch eine Abbildung (X, Y, Z) → (x, y, Y) mit Wertet man die Gleichungen für alle Farben des XYZ-Farbkörpers aus und trägt man die Ergebnisse in einem (x, y)-Diagramm ein, so erhält man das hufeisenförmige CIE-Diagramm der Chromatizität. und (CIE xyY-Farbraum)

15 6.1 Farbmodelle CIE-Farbraum (cont.)
Das (x, y)-Diagramm enthält (als 2D-Projektion der Ebene X+Y+Z=1 in die XY-Ebene) alle sichtbaren Farben, wobei der Luminanz-Anteil ignoriert wird. Auf dem äußeren Rand der Hufeisenform liegen die reinen Spektralfarben von Blau (400nm) bis Rot (700nm). Auf der Geraden zwischen Blau und Rot befinden sich die Lila- und Magenta-Farben.

16 6.1 Farbmodelle Gamma-Korrektur
Bei einer Fernsehübertragung erwartet der Zuschauer, dass er eine Szene zu Hause in derselben Farbqualität sieht, wie er sie in der Realität auch sehen würde. Um dies zu verwirklichen, wird in der Fernsehkamera bereits eine Präkompensation vorgenommen, die die Nichtlinearität der Farbwiedergabe einer üblichen Fernsehröhre korrigiert.

17 6.1 Farbmodelle Gamma-Korrektur (cont.)
Bei der Darstellung von Szenen in der Computergrafik übernimmt ein Renderer die Rolle der Kamera, besitzt aber generell eine lineare Intensitätscharakteristik. Da jedoch ein Monitor eine ähnliche Nichtlinearität bei der Farbwiedergabe aufweist wie ein Fernsehgerät, muss dem Renderingprozess eine geeignete Gamma-Korrektur nachgeschaltet werden. In der Regel werden hierzu im RGB-Modell für jeden Farbkanal die zu ersetzenden Werte in einer look-up- Tabelle nachgeschlagen (bei 8 Bit/Grundfarbe: drei Arrays der Länge 256). Bildquelle:

18 6.2 Visibilitätsverfahren
Motivation Die grundlegende Modellierung unserer Objekte besteht in letzter Konsequenz aus planaren Polygonen, meist aus Vier- oder Dreiecken. Das Dreieck ist die favorisierte Form, denn ein Dreieck hat eine eindeutige Normale, die anzeigt, wo das Dreieck „hinzeigt“. Ein Viereck nicht? Den Prozess, der aus der mathematischen Beschreibung, beispielsweise einer Kugel, eine Menge von Dreiecken produziert, nennt man tesselation, triangulation bzw. „Tesselation“, „Triangulierung“ Vorsicht: Ein Viereck muss nicht planar sein!

19 6.2 Visibilitätsverfahren
Motivation (cont.) Die einfachste Form, unsere Objekte darzustellen (zu rendern) ist die Wireframe-Darstellung – wir zeichnen lediglich die Kanten der Polygone. Bemerkungen Wireframe-Darstellung mit Darstellung aller Kanten, d.h. auch der (teilweise) verdeckten Kanten von Objekten ist zwar trivial, die Darstellung einer 3D-Szene wirkt allerdings nicht wirklich räumlich → Visual Cluttering Wireframe-Darstellung mit Darstellung nur der wirklich sichtbaren Kanten führt zu sog. hidden-line-Algorithmen, die absolut nicht mehr trivial sind. → Man muss sich nun um die Sichtbarkeit / die Visibilität Gedanken machen!

20 6.2 Visibilitätsverfahren
Ziel der Visibilitätsverfahren Möglichst exakte Bestimmung der von einem gegebenen Blickpunkt aus sichtbaren bzw. unsichtbaren Teile der darzustellenden Szene Wünschenswert: hohe Interaktionsrate Eingaben des Benutzers wirken sich direkt auf die Darstellung aus. Im günstigsten Falle ist sogar eine Echtzeitausgabe der Szene möglich. Einteilung der Verfahren: Objektraumverfahren Geräteunabhängig, Genauigkeit ist Maschinengenauigkeit Bildraumverfahren Geräteabhängig Genauigkeit ist Auflösung des Ausgabegerätes

21 6.2 Visibilitätsverfahren
Unsichtbarkeit bzw. Verdeckungen Treten auf, wenn bei der Projektion der 3-dim. Szene auf die Bildebene unterschiedliche Objektteile auf dieselbe Stelle abgebildet werden. Sichtbar sind diejenigen Objektpunkte, die dem Auge des Betrachters am nächsten gelegen sind. Daher ist bei der Darstellung nicht nur die (x, y)-Koordinate in der Bildebene zu berücksichtigen, sondern auch die Tiefenrelation der Szene (z-Koordinate). Bem.:

22 6.2 Visibilitätsverfahren
Begriff: Kohärenz „Ausnutzung lokaler Ähnlichkeiten“ Beispiele: Flächenkohärenz: Eigenschaften benachbarter Punkte auf einer Fläche ändern sich oft nur unwesentlich, z.B. Farbe Tiefenkohärenz: Die Tiefe z(x,y) auf einer Fläche kann oft inkrementell berechnet werden

23 6.2 Visibilitätsverfahren
Back-Face-Culling Die Entfernung verdeckter Flächen und Linien kann sehr aufwendig sein. Es erweist sich daher als günstig, mit einem möglichst einfachen Test das Problem möglichst stark zu vereinfachen, bevor kompliziertere Verfahren eingesetzt werden. Einen ebenso einfachen wie wirkungsvollen Ansatz stellt das Back-Face-Culling dar: In Abhängigkeit von der Position des Betrachters werden die Rückseiten undurchsichtiger Körper entfernt, da diese naturgemäß nicht sichtbar sind. Wir entscheiden auf Grund der Normalen, welche Polygone von uns „wegsehen“, diese werden nicht mehr dargestellt!

24 6.2 Visibilitätsverfahren
Back-Face-Culling (cont.) Klassifikation der Rückseiten Es werden die Normalenvektoren Ni aller Flächen betrachtet Bei einer Vorderseite enthält der Normalenvektor Ni eine Komponente in Blickrichtung, d. h. es gilt für das Skalarprodukt aus Vektor zum Augpunkt (viewing vector) v und Ni : (Sichtbarkeitsbedingung!) N5 N4 N6 N1 N2 N3 v Achtung: Die Orientierung des Blickrichtungsvektors ist wichtig => Vorzeichenwechsel ! Skalarprodukt gibt die Länge des projizierten Normalenvektors auf den Blickrichtungsvektor an. hier: Parallelprojektion

25 6.2 Visibilitätsverfahren
Back-Face-Culling (cont.) Eigenschaften Die Zahl der beim Rendering zu berücksichtigenden Polygone wird durch Entfernen der Rückseiten durchschnittlich etwa um die Hälfte reduziert. Der Aufwand zur Berechnung des Skalarprodukts ist minimal. Besteht die Szene nur aus einem einzelnen konvexen Polyeder, so löst Back-Face-Culling bereits das Visibilitätsproblem. Bei konkaven Polyedern oder Szenen, an denen mehrere Objekte beteiligt sind, kann es zu Selbst- und / oder Fremdverdeckung kommen. Hier werden aufwendigere Verfahren benötigt. Objektraumverfahren!

26 6.2 Visibilitätsverfahren
z-Buffer-Algorithmus (Catmull, 1975) Bestimmt Sichtbarkeit von Bildpunkten Arbeitet im Bildraum / im Display-Koordinatensystem Geeignet für die Bildausgabe auf Rastergeräten Arbeitsweise Funktional gesehen führt der z-Buffer-Algorithmus innerhalb des Bildraums für jeden Bildpunkt eine Suche nach demjenigen Polygon durch, in dessen Innern der Punkt liegt und dessen zugehöriger z-Wert am größten ist (am weitesten vorne liegt). Zur Realisierung wird zusätzlicher Speicher verwendet (der sog. z-Buffer). Im z-Buffer wird zu jedem Bildpunkt der größte z-Wert, der bisher aufgetreten ist, gespeichert.

27 6.2 Visibilitätsverfahren
z-Buffer-Algorithmus (cont.) Algorithmus Initialisiere Bildspeicher (frame buffer) mit Hintergrundfarbe Initialisiere z-Buffer mit minimalem z-Wert Scan-conversion aller Polygone (beliebige Reihenfolge): Berechne z-Wert z(x, y) für jedes Pixel (x, y) im Polygon Falls z(x, y) größer als der Eintrag im z-Buffer bei (x, y) ist, trage Polygonattribute (Farbe) in Bildspeicher bei (x, y) ein und setze z-Buffer bei (x, y) auf z(x, y) Nach Abarbeitung des Algorithmus enthält der Bildspeicher das gewünschte Bild, der z-Buffer dessen Tiefenverteilung.

28 6.2 Visibilitätsverfahren
z-Buffer-Algorithmus (cont.) Beispiel z-Werte codiert durch Zahlen: größere Zahl ⇒ näher zum Auge Initialisiere z-Buffer mit min. z-Werten Addiere ein Polygon mit konstantem z-Wert m 5 + =

29 6.2 Visibilitätsverfahren
z-Buffer-Algorithmus (cont.) Beispiel (cont.) Addiere ein Polygon, welches das 1. Polygon schneidet 5 m 5 5 5 5 5 5 5 m 2 3 4 5 6 7 5 5 5 5 5 5 m m 5 5 5 5 5 m m m 5 5 5 5 m m m m + = 5 5 5 2 m m m m 6 5 4 3 2 m m m 7 6 5 4 3 2 m m m m m m m m m m

30 6.2 Visibilitätsverfahren
z-Buffer-Algorithmus (cont.) Berechnung von z bei Polygonen Zur Berechnung von z(x,y) : Ax+By+Cz+D=0 Also: z = (-D – Ax – By) / C = z(x, y) Damit: z(x+dx,y) = (-D – A(x+dx) – By) / C = z(x,y) – dx∙A/C Nur eine Subtraktion notwendig, da A/C konstant ist und dx=1!

31 6.2 Visibilitätsverfahren
z-Buffer-Algorithmus (cont.) Vorteile Sehr einfache Implementierung des Algorithmus (Soft- und Hardware!) Unabhängig von der Repräsentation der Objekte! Es muss nur möglich sein, zu jedem Punkt der Oberfläche einen z-Wert bestimmen zu können Keine Komplexitätsbeschränkung der Bildszene Keine besondere Reihenfolge oder Sortierung der Objekte notwendig (z. B. Tiefensortierung)

32 6.2 Visibilitätsverfahren
z-Buffer-Algorithmus (cont.) Nachteile Auflösung des z-Buffers bestimmt Diskretisierung der Bildtiefe Beispiel: Bei 20 Bit sind genau 220 Tiefenwerte unterscheidbar – problematisch sind weit entfernte Objekte mit kleinen Details Die sinnvolle Wahl der near- und far-clipping-plane (begrenzen view frustum!) ist entscheidend für die Qualität des Algorithmus! Es wird ein großer Speicher benötigt – Abhilfe durch Zerlegung in Teilbilder oder Streifen Berücksichtigung von Transparenz und Antialiasing nur durch aufwendige Modifikationen möglich

33 6.2 Visibilitätsverfahren
Scan-Line z-Buffer-Algorithmus Variation des z-Buffer-Algorithmus zur Einsparung von Speicher Arbeitet auf einer Rasterzeile (z-Buffer der Pixelhöhe 1) Vergleich der Vorgehensweisen z-Buffer Initialisierung Für alle Polygone Für alle Rasterzeilen im Polygon ... Scan-Line z-Buffer Für alle Rasterzeilen Initialisierung Für alle Polygone ...

34 6.2 Visibilitätsverfahren
Ray Casting Schieße (englisch: cast) Strahlen (englisch: ray) vom Augpunkt durch alle Pixel der Bildebene Berechne Schnittpunkte mit allen Objekten der Szene Das Objekt mit dem am nahesten gelegenen Schnittpunkt ist in diesem Pixel sichtbar Bildraumverfahren! Eye Pixel

35 6.2 Visibilitätsverfahren
Ray Casting (cont.) Beispiel: Schnitt mit einer impliziten Kugel Strahl Augpunkt e Sichtrichtung v Strahlparameter t Einsetzen des Strahls s(t) für x liefert:

36 6.2 Visibilitätsverfahren
Ray Casting (cont.) Lösen dieser quadratischen Gleichung nach t liefert maximal zwei Parameter der Schnittpunkte s1 und s2: Derjenige Schnittpunkt mit kleinstem t > 0 liegt dem Augpunkt am nächsten.

37 6.2 Visibilitätsverfahren
Ray Casting (cont.) Beispiel: Schnittpunktberechnung mit einem Polygon Gültigkeit des Schnittpunktes verifizieren! Polygon in Dreiecke zerlegen Betrachte Summe der Flächeninhalte der Teildreiecke. Ist diese Summe größer als der Flächeninhalt des ursprünglichen Dreiecks, so liegt der Punkt 𝑠 außerhalb.

38 6.2 Visibilitätsverfahren
Ray Casting (cont.) Nachteile Für jeden Strahl muss jedes Objekt der Szene daraufhin getestet werden, ob der Strahl das Objekt schneidet Bei einer Auflösung 1024*1024 mit 100 Objekten in der Szene müssen 100 Millionen Schnittpunkt-berechnungen durchgeführt werden! Bis zu 95% der Rechenzeit werden für Schnittpunkt-berechnungen bei typischen Szenen verbraucht!

39 6.2 Visibilitätsverfahren
Ray Casting (cont.) Beschleunigungsansätze Transformation der Strahlen auf die z-Achse; werden die Objekte mit der gleichen Transformation verschoben, so tritt ein Schnittpunkt immer bei x=y=0 auf. Bounding Volumes: Komplexe Objekte werden mit einfacher zu testenden Objekten umschlossen. Haben diese Bounding Volumes keinen Schnittpunkt mit einem Strahl, so sind auch die darin enthaltenen Objekte nicht auf einen Schnittpunkt zu testen. Beispiele: Bounding Box, Bounding Sphere Vermeidung von unnötigen Schnittpunktberechnungen: Hierarchien und Raumteilung

40 6.2 Visibilitätsverfahren
Ray Casting (cont.) Hierarchien Baumartige Strukturen von Bounding Volumes Blätter: Objekte der Szene Innere Knoten: Bounding Volume seiner Kinder Schneidet ein Strahl einen inneren Knoten nicht, so kann der Strahl auch nicht die Objekte seiner Kinder schneiden Problem: Die Generierung guter Hierarchien ist schwierig. Hierarchien beim modellieren: u.U. sehr flach und eher durch die Struktur des zu modellierenden Objektes induziert als durch die Verringerung von Schnittberechnungen

41 6.2 Visibilitätsverfahren
Ray Casting (cont.) Raumteilung Top-down Ansatz Zuerst wird die Bounding Box der Szene berechnet Anschließend wird diese in (gleich große) Teile unterteilt Jede Unterteilung enthält eine Liste mit allen Objekten, die in der Partition komplett oder auch nur teilweise enthalten sind Adaptiv: unterteile öfter wo auch mehr Objekte sind

42 6.2 Visibilitätsverfahren
Ray Casting (cont.) Raumteilung (cont.) Nur wenn ein Strahl eine Partition schneidet, müssen Schnittpunktberechnungen mit den assoziierten Objekten durchgeführt werden

43 6.2 Visibilitätsverfahren
Ray Casting (cont.) Raumteilung (cont.) Notwendig: Testen, ob der berechnete Schnittpunkt innerhalb der aktuellen Partition liegt! Abhilfe: Alle Partitionen solange weiterverfolgen, bis ein Schnittpunkt gefunden wird, der innerhalb der Partition liegt.

44 6.2 Visibilitätsverfahren
Increasing Reality... Was können wir bisher? Was fehlt uns noch? Farben Beleuchtung Highlights Schatten Transparenz Reflektionen Refraktionen

45 6.3 Beleuchtung und Schattierung
Die Grundbestandteile des Renderprozesses Oberfläche Reflektion/ Transmission/ Emission Emission Atmosphärische Streuung

46 6.3 Beleuchtung und Schattierung
Beleuchtung / Lichtquellen Punktlicht Das Licht strahlt von einem Punkt in der Szene gleichmäßig in alle Richtungen. Richtungslicht Das Licht strahlt (von einem unendlich weit entfernten Punkt aus) in eine bestimmte Richtung. Spotlight Das Licht strahlt in einem Kegel, ausgehend von der Kegelspitze. Flächenlichtquellen Weiche Ausleuchtung; technisch realisiert durch Ebenen, Kegel oder Zylinder mit „vielen“ Lichtquellen.

47 6.3 Beleuchtung und Schattierung
Die Bestimmung der Intensität (Farbe) derjenigen Pixel, auf die ein Objekt (z. B. in Form eines Polygons) projiziert wird, wird mittels sogenannter Beleuchtungs-, Reflexions- und Schattierungs- algorithmen bzw. -modellen durchgeführt. Illumination model Vorsicht vor Begriffswirrwarr in der Literatur! illumination model, lighting model, reflection model, shading model Mit dem Zusatz local ~ Berechnung der Intensität (Farbe) eines Punktes in Abhängigkeit von direktem Lichteinfall einer Lichtquelle Beispiele: Phong local reflection model, physikalisch basierte Modelle → Nur direkte Beleuchtung!

48 6.3 Beleuchtung und Schattierung
Illumination model (cont.) Mit dem Zusatz local ~ (cont.) direkt direkt A indirekt B

49 6.3 Beleuchtung und Schattierung
Illumination model (cont.) Mit dem Zusatz global ~ Berechnung der Intensität (Farbe) eines Punktes in Abhängigkeit von direktem Lichteinfall einer Lichtquelle und indirekt einfallendem Licht, d. h. nach Reflexion(en) an oder Transmission(en) durch die eigene oder andere Oberflächen Beispiele Ray-Tracing-Verfahren Radiosity-Verfahren Globale Beleuchtungsverfahren benutzen oft lokale Reflexionsmodelle oder erweitern diese geeignet. → Direkte und indirekte Beleuchtung!

50 6.3 Beleuchtung und Schattierung
Shading model Grundstruktur in die ein Beleuchtungsmodell „eingebettet“ ist Ein Schattierungsmodell bestimmt, wann ein Beleuchtungsmodell angewendet wird Bekannte Varianten Auswertung eines Beleuchtungsmodells für jedes Pixel, z. B. oft bei Ray-Tracing-Verfahren angewendet Auswertung eines Beleuchtungsmodells für ausgewählte Pixel, Farben von „Zwischenpixel“ werden per Interpolation bestimmt → Interpolative shading techniques z.B. Flat shading, Gouraud shading, Phong shading

51 6.3 Beleuchtung und Schattierung
Gängige Praxis-Kombination Weltkoordinaten Bildschirmkoordinaten Local reflection model: berechnet die Lichtintensität an jedem Punkt P auf der Oberfläche eines Objektes Interpolative shading algorithm: interpoliert Pixelintensitäten I aus berechneten Lichtintensitäten in den Polygonecken

52 6.3 Beleuchtung und Schattierung
Gängige Praxis-Kombination: (cont.) Gibt es hier kein Problem? Beleuchtung (und Betrachtung) der Szene erfolgt in Weltkoordinaten Interpolation zwischen Intensitätswerten erfolgt in Bildschirmkoordinaten Projektionstransformationen sind i. d. R. nicht affin! D.h.: Wir verwenden beim Interpolationsschema (z.B. bei linearer Interpolation) automatisch „falsche“ Teilverhältnisse in Bezug auf das Weltkoordinatensystem! Aber: Trotz mathematischer Inkorrektheit liefert diese Kombination schnelle und akzeptable visuelle Resultate! Weltkoordinaten Bildschirmkoordinaten

53 6.4 Lokale Beleuchtungsmodelle
Geometriebetrachtung P P Punkt auf Objektoberfläche N Flächennormalenvektor in P, normiert L Vektor von P zu einer Punktlichtquelle, normiert V Vektor von P zum Augpunkt (Viewing), normiert ϕi, θi (lokale) sphärische Koordinaten (von L und V)

54 6.4 Lokale Beleuchtungsmodelle
Wiederholung: Reflexionsgesetz, (perfekte) spiegelnde Reflexion R = Vektor des reflektierten Strahls, normiert N L R θ R2 R1 Es gilt: L und R liegen in einer Ebene und θ = θin = θref

55 6.4 Lokale Beleuchtungsmodelle
Wir betrachten zunächst das am häufigsten verwendete lokale Beleuchtungsmodell von Phong (Bui-Thong), 1975 Achtung: Es handelt sich um ein empirisches Modell ohne wirkliche physikalische Basis, aber guten praktischen Resultaten! Das Modell simuliert folgende physikalische Reflexionsphänomene Perfekte/vollkommene spiegelnde Reflexion: Ein Lichtstrahl wird ohne sich aufzustreuen, perfekt nach dem Reflexionsgesetz reflektiert. Oberfläche: idealer Spiegel, existiert in der Realität nicht

56 6.4 Lokale Beleuchtungsmodelle

57 6.4 Lokale Beleuchtungsmodelle
Das Modell simuliert folgende physikalische Reflexionsphänomene (cont.) Unvollkommene spiegelnde Reflexion Der Lichtstrahl wird bei der Reflexion „aufgespalten“, es entsteht ein Reflexionskegel um die ausgezeichnete Reflexionsrichtung. Oberfläche: unvollkommener Spiegel, rauhe Oberfläche, ein Oberflächenelement ist mikroskopisch aus vielen kleinen perfekten Spiegeln mit leicht unterschiedlichen Ausrichtungen zusammengesetzt

58 6.4 Lokale Beleuchtungsmodelle
Das Modell simuliert folgende physikalische Reflexionsphänomene (cont.) Perfekte/vollkommene diffuse Reflexion Der Lichtstrahl wird bei der Reflexion perfekt gestreut, d. h. mit gleichmäßiger Intensität in alle Richtungen Oberfläche: ideale matte Oberfläche, existiert in der Realität nicht, annäherungsweise: feine Lage Puder Das Phong Beleuchtungsmodell sieht vor, dass das reflektierte Licht eines Oberflächenpunktes aus drei Anteilen besteht, die linear kombiniert werden: reflected light = diffuse component + specular component + ambient light Streulicht + Glanzlicht + Umgebungslicht

59 6.4 Lokale Beleuchtungsmodelle
Ambient light Hilfskonstruktion! Der ambiente Teil wird oft konstant gewählt und simuliert die globale bzw. die indirekte Beleuchtung! Dies ist notwendig, da einige Objekte die Lichtquelle(n) nicht sehen und somit in dem Modell schwarz dargestellt würden. In der Realität werden solche Objekte aber indirekt beleuchtet. Durch das simple Addieren einer Konstante wird eine sehr komplexe globale Beleuchtungsberechnung ersetzt. Welchen Oberflächentyp beschreibt das Modell? Die lineare Kombination von diffuser und spiegelnder Reflexion entspricht zum Beispiel der Physik polierter Oberflächen, z. B. poliertem Holz (transparente Schicht: spiegelnd, Oberfläche: diffus)

60 6.4 Lokale Beleuchtungsmodelle
Polierte Oberflächen:

61 6.4 Lokale Beleuchtungsmodelle
Das mathematische Modell (ohne Farbe) Die Physik der Oberfläche wird über die Verhältnisse der einzelnen Komponenten modelliert. Für diese Konstanten gilt: Diffuse Reflexion: mit Ii Intensität des einfallenden Lichts θ Winkel zwischen Punktnormale N und Lichtvektor L

62 6.4 Lokale Beleuchtungsmodelle
Diffuse Reflexion (cont.) Also: Die diffuse Komponente des Phong-Modells modelliert das Kosinusgesetz von Lambert: Bei ideal diffusen (matten) Oberflächen ist die Intensität des (in alle Richtungen gleich) reflektierten Lichtes eine Funktion des Kosinus zwischen Oberflächennormale und Lichtvektor.

63 6.4 Lokale Beleuchtungsmodelle
Spiegelnde Reflexion: Physikalisch gesehen besteht die spiegelnde Reflexion aus einem Abbild der Lichtquelle, das über einen Teil der Oberfläche „geschmiert“ ist – üblicherweise als Highlight bezeichnet. Ein Highlight kann vom Betrachter nur gesehen werden, wenn seine Betrachtungsrichtung (V) nahe der Reflexionsrichtung (R) liegt. Dies wird simuliert durch: mit Ω Winkel zwischen V und R n simuliert Perfektionsgrad der Oberfläche (n → ∞ heißt perfekter Spiegel, d.h. reflektiertes Licht nur in Richtung R)

64 6.4 Lokale Beleuchtungsmodelle
Spiegelnde Reflexion (cont.) Also:

65 6.4 Lokale Beleuchtungsmodelle
Spiegelnde Reflexion: (cont.) Also: Bemerkung: Für verschiedene L entsteht (bis auf die Ausrichtung um R) immer der gleiche Reflexions- Intensitätskegel. Dies entspricht nicht der realen Abhängigkeit von Spiegelungen von der Ausrichtung des Lichtvektors! Gravierender Mangel des Models!

66 6.4 Lokale Beleuchtungsmodelle
Das Gesamtmodell Im 2D-Schnitt: specular diffuse ambient

67 6.4 Lokale Beleuchtungsmodelle
Beispiel ka konstant zunehmendes ks zunehmendes n

68 6.4 Lokale Beleuchtungsmodelle
Bemerkung Aus Geschwindigkeitsgründen stört im bisherigen mathematischen Modell die Berechnung des Reflexionsvektors R. Man definiert einen neuen Vektor H (halfway), mit der Richtung H=(L+V)/2, und betrachtet statt R∙V jetzt N∙H, das sich „auf die gleiche Art und Weise wie R∙V verhält“. Damit ergibt sich: Blinn-Modell

69 6.4 Lokale Beleuchtungsmodelle
Das mathematische Modell (mit Farbe) Für farbige Objekte (Lichtquellen) wird das Modell getrennt auf die Farbkomponenten Ir, Ig, Ib angewendet: mit kdr, kdg, kdb modellieren die Farbe des Objektes ksr, ksg, ksb modellieren die Farbe der Lichtquelle (für weißes Licht ist ksr = ksg = ksb) kar, kag, kab modellieren die Farbe des Umgebungslichtes

70 6.4 Lokale Beleuchtungsmodelle
Bemerkungen Das Beleuchtungsmodell nach Phong ist kein Versuch, optische Gesetze physikalisch exakt zu modellieren. Das Modell ist empirisch! Die lokale Beleuchtung ist schnell zu berechnen, die Bilder sind gut. Außer der Normaleninformation werden keine weiteren Geometrie-Informationen verwendet! Diffuser und spiegelnder Anteil werden lokal berechnet. Die Farbe des spiegelnden Anteils wird durch die Farbe der Lichtquelle bestimmt (bzw. über die der Lichtquelle zugeordneten Konstanten ksr, ksg, ksb).

71 6.4 Lokale Beleuchtungsmodelle
Bemerkungen (cont.) Gravierende Mängel des Modells Die Intensität der spiegelnden Reflexion hängt nicht wirklich von der Ausrichtung des Lichtvektors ab! Objektoberflächen wirken „plastikhaft“, zum Beispiel lässt sich kein blankes Metall modellieren. Abhilfe Physikalisch basierte lokale Beleuchtungsmodelle, die versuchen, die BRDF (bi-directional reflection distribution function) korrekt zu simulieren, z.B. Cook-Torrance oder Blinn (hauptsächlich für Metalle) Oder gänzlich andere Techniken, z.B. Mapping-Verfahren

72 6.4 Lokale Beleuchtungsmodelle
Nachteile „rein“ lokaler Beleuchtungsmodelle: Spiegeln Idealfall eines einzelnen von einer einzigen Punktlichtquelle beleuchteten Objektes in der Szene wider Betrachten ausschließlich direkte Beleuchtung (bis auf Hilfskonstruktionen) Interaktion mit anderen Objekten nicht modelliert (d.h. keine indirekte Beleuchtung, kein Schattenwurf!) Lösung: globale Beleuchtungsverfahren Späteres Unterkapitel!

73 6.5 Interpolative Schattierungstechniken
Wie wird nun die Auswertung eines Beleuchtungsmodells bei einem Objekt zur Bestimmung der Lichtintensität auf dessen Oberfläche angewendet? Wir setzen im Folgenden eine polygonale Objektrepräsentation, also eine facettierte Darstellung, voraus. Man beachte die Unterscheidung zwischen (dreidimensionalem) Objektraum und (zweidimensionalem) Bildraum! Weltkoordinaten Bildschirmkoordinaten

74 6.5 Interpolative Schattierungstechniken
Flat Shading Pro Polygon / Facette wird das verwendete Beleuchtungsmodell genau einmal in einem ausgewählten Oberflächenpunkt ausgewertet. Die dort ermittelte Lichtintensität wird auch allen weiteren Punkten der Polygonoberfläche zugewiesen. Grundlage der Berechnung ist die Polygonnormale oder Flächennormale ((sur)face normal) im Objektraum. (hier z. B. N1, N2, N3, N4, ...) Als ausgewählte Punkte werden z. B. die Polygonschwerpunkte oder der Einfachheit wegen Polygoneckpunkte gewählt.

75 6.5 Interpolative Schattierungstechniken
Flat Shading (cont.) Einfaches, kostengünstiges Verfahren, Interpolation findet nicht statt Kanten in Polygonnetzen bleiben bei der Darstellung sichtbar, Objekte werden facettiert dargestellt, unstetiger Intensitätsverlauf über die Polygonkanten „Runde“ Objekte nur durch extrem hohe Polygonanzahl Geht dies auch anders? Anwendung für Voransicht, Entwurfsansicht, aber auch Mobile Computing und Visualization

76 6.5 Interpolative Schattierungstechniken
Gouraud and Phong Shading Beide Verfahren versuchen mittels Interpolation die Kanten zwischen einzelnen Polygonfacetten in Polygonnetzen zu glätten bzw. ganz zum Verschwinden zu bringen. Bem.: Das Polygonnetz soll die Approximation einer gekrümmten Oberfläche darstellen) Grundlage der Berechnung sind die Eckpunkt- normalen (vertex normals) in den gemeinsamen Polygoneckpunkten. (hier z. B. NA, ...) Eine Eckpunktnormale entsteht aus (gewichteter) Mittelung der Polygonnormalen aller angrenzenden Polygone mit entsprechendem gemeinsamen Eckpunkt. (Normalisierung nicht vergessen!)

77 6.5 Interpolative Schattierungstechniken
Gouraud and Phong Shading (cont.) Beide Verfahren bedienen sich einer bilinearen Interpolation im Bildraum: Werte einer Größe im Innern (und auf dem Rand) eines Polygons werden aus den Werten der Größe in den Eckpunkten des Polygons (i. A. bezüglich des Objektraums ermittelt) mittels zweifacher linearer Interpolation im Bildraum bestimmt. Effiziente Implementierungen arbeiten Scanline-weise und inkrementell. P1(x1,y1) P2(x2,y2) P3(x3,y3) P4(x4,y4) Pb(xb,ys) Pa(xa,ys) Ps(xs,ys)

78 6.5 Interpolative Schattierungstechniken
Gouraud and Phong Shading (cont.): Bilineare Interpolation 0. Schritt: Werte W(P1), W(P2), W(P3), W(P4) bestimmen 1. Schritt: Schnittpunkte Scanline mit Polygonkanten Pa und Pb bestimmen 2. Schritt: Werte W(Pa), W(Pb) bestimmen 3. Schritt: Wert W(Ps) bestimmen P1(x1,y1) P2(x2,y2) P3(x3,y3) P4(x4,y4) Pb(xb,ys) Pa(xa,ys) Ps(xs,ys)

79 6.5 Interpolative Schattierungstechniken
Gouraud Shading Die Auswertung des Beleuchtungsmodells erfolgt ausschließlich in den Polygoneckpunkten unter Ausnutzung der Eckpunktnormalen. Mittels Interpolation folgt die Berechnung der Intensitätswerte projizierter innerer Polygonpunkte.

80 6.5 Interpolative Schattierungstechniken
Gouraud Shading (cont.) Kanten in Polygonnetzen werden geglättet, der Intensitätsverlauf über die Polygonkanten ist stetig, aber nicht wirklich glatt → Anfälligkeit des Verfahrens für Mach-Band-Effekte Verfahren kann Highlights nicht angemessen darstellen Diese können nur entstehen, falls die Betrachtungsrichtung nahe der Reflexionsrichtung liegt; das Beleuchtungsmodell wird aber nur in den Eckpunkten ausgewertet Highlights werden durch Abtastfehler „verschluckt“

81 6.5 Interpolative Schattierungstechniken
Gouraud Shading (cont.) Da Highlights i.d.R. sowieso verschluckt werden, ist eine Kombination von Gouraud Shading und einem Beleuchtungsmodell mit ausschließlich diffuser Reflexionskomponente gängig. Bemerkung: Gouraud Shading wird als Standard-Schattierungsverfahren von heutiger Graphikhardware effizient umgesetzt.

82 6.5 Interpolative Schattierungstechniken
Phong Shading Die Auswertung des Beleuchtungsmodells erfolgt für jeden projizierten Punkt der Polygonoberfläche. Die Oberflächennormalen in den einzelnen Polygonpunkten werden mittels Interpolation aus den Eckpunktnormalen ermittelt. (Normalisierung nicht vergessen!)

83 6.5 Interpolative Schattierungstechniken
Phong Shading (cont.) Intensitätsverlauf über die Polygonkanten ist stetig und glatt; das Erscheinungsbild der realen, gekrümmten Oberfläche wird durch die Wahl der interpolierten Normalen gut angenähert Äußerst rechenaufwendiges Verfahren! Highlights werden adäquat dargestellt Bemerkung: Phong Shading wird von heutiger high-end Graphikhardware unterstützt.

84 6.5 Interpolative Schattierungstechniken
Flat, Gouraud und Phong Shading im Vergleich

85 6.5 Interpolative Schattierungstechniken
Flat, Gouraud und Phong Shading im Vergleich Flat-Shading Gouraud-Shading Phong-Shading Ein Beleuchtungswert für das gesamte Polygon Interpolation der Beleuchtungswerte an den Eckpunkten Interpolation der Normalen an den Eckpunkten und Berechnen der Beleuchtungswerte

86 6.5 Interpolative Schattierungstechniken
Bemerkung: Was muss beachtet werden, wenn bei der Anwendung von Gouraud oder Phong Shading Polygonkanten explizit als Kanten sichtbar bleiben sollen? Von der räumlichen Position gemeinsame Polygoneckpunkte und -kanten müssen für die beteiligten Polygone explizit separat gespeichert werden. Enge Verknüpfung und Abhängigkeit zwischen der Schattierungstechnik und der Polygonalisierung bzw. der Triangulierungsmethode für das Objekt. (hier treten i. d. R. in der Praxis beim Datentransfer zwischen Visualisierungssystemen ungeahnte Schwierigkeiten auf!)

87 6.5 Interpolative Schattierungstechniken
Beispiel: Wireframe-Darstellung / Flat Shading Wireframe Flat Shading

88 6.5 Interpolative Schattierungstechniken
Beispiel: Gouraud / Phong Shading Gouraud Shading Phong Shading

89 6.6 Das Auge isst mit... Bevor wahrgenommene visuelle Impulse vom zuständigen Teil im Gehirn verarbeitet werden, unterliegen die Intensitätsinformationen im Auge einer Art Vorverarbeitung. Wie reagieren nun die Lichtrezeptoren im Auge auf Unterschiede einfallender Lichtintensität? Lechners Gesetz Die Beziehung zwischen der ins Auge einfallenden Lichtintensität und der vom Auge wahrgenommenen Lichtintensität ist nicht linear, sondern annähernd logarithmisch.

90 6.6 Das Auge isst mit... Lechners Gesetz (cont.) Folgerung:
Kleine Helligkeitsunterschiede in dunklen Regionen sind besser wahrnehmbar als vom Betrag her identische Helligkeitsunterschiede in hellen Regionen.

91 6.6 Das Auge isst mit... Lechners Gesetz (cont.)
Anwendung: Helligkeitsverläufe / Farbverläufe Intensitätssteigerung in äquidistanten Schritten von 12,5% bezogen auf die einfallende Intensität (von 0% bis 100%) → Helligkeitssprung in dunkler Region ist deutlicher als gleiche Sprünge in heller Region → große Unterschiede zwischen wahr- genommenen Intensitätssprüngen Intensitätssteigerung in äquidistanten Schritten bezogen auf die wahrgenommene Intensität → Wahrnehmung nahezu äquidistanter Intensitätssprünge

92 6.6 Das Auge isst mit... Mach Band-Effekt
Die Interaktion der Lichtrezeptoren im Auge betont „scharfe“ Intensitätsänderungen. Sobald das Auge bei der einfallenden Intensität solche Änderungen feststellt, addiert es zusätzlich Unterschwinger und Überschwinger zur wahrgenommenen Intensität, die den Übergang zusätzlich betonen. Dieser unbewußte Mechanismus der Kantenbetonung bei Intensitätsübergängen verhilft unserer visuellen Wahrnehmung zu einer automatischen Konturenschärfe.

93 6.6 Das Auge isst mit... Mach Band-Effekt (cont.) Beispiel:

94 6.6 Das Auge isst mit... Mach Band-Effekt (cont.)
Beim Rendering ist die automatische Kantenbetonung bei Intensitätsänderungen störend und kann lediglich durch möglichst glatte Intensitätsübergänge reduziert werden. Flat Shading: Unstetige Intensitätswechsel, sehr starke Mach Band-Effekte Gouraud Shading: Stetige Intensitätswechsel, trotzdem abhängig von der Polygonalisierung starke Mach Band-Effekte Phong Shading: Glatte Intensitätswechsel reduzieren Mach Band-Effekte erheblich

95 6.6 Das Auge isst mit... Mach Band-Effekt (cont.)
Entstehung von Mach Band-Effekten beim Gouraud Shading

96 6.7 Globale Beleuchtungsmodelle
Erinnerung: Ein lokales Beleuchtungsmodell berücksichtigt nur das direkt einfallende Licht einer Lichtquelle Nur lokale Beleuchtung + konstante ambiente Beleuchtung, um reflektiertes und gebrochenes Licht zu simulieren Besser: Globale Beleuchtung Sowohl das direkt einfallende Licht als auch reflektiertes und gebrochenes Licht wird in dem zu schattierenden Punkt berücksichtigt

97 6.7 Globale Beleuchtungsmodelle
Zwei verschiedene Ansätze Ray Tracing Ray Casting + Strahlverfolgung für reflektierte und gebrochene Strahlen, Schattenberechnung Abhängig vom Augpunkt Radiosity Trennung von Sichtbarkeitstests und Schattierung Alle Interaktionen des Lichts mit den Objekten der Szene werden vorberechnet Unabhängig vom Augpunkt

98 6.7 Globale Beleuchtungsmodelle
Ray-Tracing: Historie

99 6.7 Globale Beleuchtungsmodelle
Ray-Tracing: Funktionsprinzip „Backward ray-tracing“ (auch „whitted ray tracing“) Da die meisten Lichtstrahlen das Auge nicht treffen, verfolgt man die Strahlen rückwärts vom Auge zur Fläche und dann zu den einzelnen Lichtquellen und weiteren Flächen. Die Strahlen werden von jedem Pixel ausgehend zurück in die Szene verfolgt und bei jedem Schnittpunkt mit einem Objekt werden die direkten sowie die reflektierten und transmittierten Lichtanteile bestimmt. Die auftretende Verzweigungsstruktur impliziert eine Baumstruktur!

100 6.7 Globale Beleuchtungsmodelle
Ray-Tracing: Rekursive Strahlverfolgung opaque object pixel semi-transparent object eye light initial ray surface normal R1 T1 R2 R3 R4 T4 light rays / shadow rays L1 L3 L4 Darstellung durch einen Baum: Knoten: Schnittpunkt mit Fläche Kanten: reflektierte oder gebrochene Strahlen Lichtstrahlen werden an die Knoten geschrieben Eye->Initial ray -> 1 1 -> 2 reflektiert 1 -> 3 gebrochen

101 6.7 Globale Beleuchtungsmodelle
Ray-Tracing: Darstellung als Baum eye R3 R1 R2 T1 T4 R4 L1 L4 Darstellung durch einen Baum: Knoten: Schnittpunkt mit Fläche Kanten: reflektierte oder gebrochene Strahlen Lichtstrahlen werden an die Knoten geschrieben Eye->Initial ray -> 1 1 -> 2 reflektiert 1 -> 3 gebrochen

102 6.7 Globale Beleuchtungsmodelle
Ray-Tracing: Rekursive Strahlverfolgung Abbruch der rekursiven Strahlverfolgung, wenn reflektierte und gebrochene Strahlen kein Objekt mehr schneiden; oder die Strahlenergie unter ein vorgegebenes Kriterium fällt; oder eine vorgegebene maximale Baumtiefe (Rekursionstiefe) erreicht ist; oder nicht mehr genügend Speicher zur Verfügung steht  Bemerkungen Der Rechenaufwand des Verfahrens hängt stark von der Komplexität und Beschaffenheit der betrachteten Szene ab! Erst Raumteilungsverfahren, wie die Octree-Technik, machen Ray-Tracing-Verfahren überhaupt praktikabel.

103 6.7 Globale Beleuchtungsmodelle
Ray-Tracing: Schatten Verfolge einen Strahl von einem gefundenen Schnittpunkt zu allen Lichtquellen. Schneidet einer dieser Strahlen ein Objekt, dann liegt der Schnittpunkt im Schatten dieser Lichtquelle. Den direkten Lichtstrahl zwischen einem Oberflächenpunkt und einer Lichtquelle nennt man Schattenfühler (shadow ray, shadow feeler, light ray). L2 L1 P2, nicht im Schatten P1, im Schatten

104 6.7 Globale Beleuchtungsmodelle
Ray-Tracing: Distributed Ray-Tracing In der Realität sind Spiegelungen nie ohne Schleier, denn kein Spiegel ist ganz eben und spiegelt zu 100%. Distribution Ray-Tracing ermöglicht die Erzeugung realistisch unscharfer Effekte beim Ray Tracing. Es wird nun nicht nur ein Strahl mit der Szene geschnitten, sondern auch andere Richtungen berücksichtigt und anschließend die Werte gemittelt.

105 6.7 Globale Beleuchtungsmodelle
Ray-Tracing: Distributed Ray-Tracing (cont.) Von vielen Strahlen gehen die meisten in die ausgezeichnete Reflexionsrichtung und einige brechen aus. Die Verteilung sieht dann „birnenförmig“ aus.

106 6.7 Globale Beleuchtungsmodelle
Ray-Tracing: Distributed Ray-Tracing (cont.) Ein ähnliches Bild ergibt sich auch bei der Strahlbrechung. Durch stochastische Verteilung über die möglichen Reflexions- bzw. Brechungsrichtungen und Mittelwertbildung erhält man eine realistische Annäherung der Situation.

107 6.7 Globale Beleuchtungsmodelle
Ray-Tracing: Distributed Ray-Tracing: (cont.) Flächige Lichtquellen Eine zusätzliche Erhöhung der „Realistik“ ergibt sich, wenn man von der Annahme punktförmiger Lichtquellen abgeht. Um dies darstellen zu können, werden viele Strahlen in Richtung einer Lichtquelle gelegt. Mittels geeigneter stochastischer Strahlen-Verteilung lassen sich realistische Halbschatten erzeugen.

108 6.7 Globale Beleuchtungsmodelle
Ray-Tracing: Distributed Ray-Tracing: (cont.) Blendentechnik Photorealistische Bilder entstehen durch Simulation der Blendenöffnung der Kamera. Ein Punkt außerhalb der Schärfeebene wird verschwommen erscheinen. Man erreicht dies durch korrekte Berechnung der Linsenbrechung und stochastischer Verteilung der Strahlen über der Linsenoberfläche.

109 6.7 Globale Beleuchtungsmodelle
Ray-Tracing: Adaptives Supersampling Beim adaptiven Supersampling beginnt man bei jedem Pixel mit der Verfolgung der vier Strahlen durch die Pixelecken und des Strahls durch das Pixelzentrum. Liegen die Werte pro Pixel zu sehr auseinander, so unterteile und starte das Verfahren erneut.

110 6.7 Globale Beleuchtungsmodelle
Ray-Tracing: Stochastic Ray-Tracing Loslösung von der starren Unterteilung und stochastisches Vorgehen, z. B. beim Supersampling:

111 6.7 Globale Beleuchtungsmodelle
Ray-Tracing: Eigenschaften + Der physikalische Vorgang der Beleuchtung (Strahlengang) wird sehr gut simuliert + Hervorragend für Spiegelungen geeignet + Das Sichtbarkeitsproblem wird automatisch gelöst + Große Wirklichkeitsnähe – Nicht wirklich für diffuse Reflektion geeignet – Erzeugt „harte“ Bilder – Sehr großer Rechenaufwand – Schnittpunktberechnung sehr aufwendig – Anfälligkeit für numerische Probleme

112 Modeling transformation
6.8 Rendering-Pipelines Genereller Aufbau: Display traversal Modeling transformation Viewing operation visible-surface determination scan conversion shading image scene model / scene graph front-end (geometry processing) back-end (rasterization)

113 6.8 Rendering-Pipelines Beispiel: Lokales Beleuchtungsmodell
Hier: Gouraud Shading mit z-Buffer modeling transformation db traversal trivial accept / reject lighting viewing transformation rasterization display clipping

114 6.8 Rendering-Pipelines Beispiel: Lokales Beleuchtungsmodell
Hier: Phong Shading mit z-Buffer modeling transformation db traversal trivial accept / reject clipping viewing transformation display rasterization (with lighting)

115 6.8 Rendering-Pipelines Beispiel: Globales Beleuchtungsmodell
Hier: Radiosity mit Gouraud Shading und z-Buffer new db traversal trivial accept / reject clipping viewing transformation display rasterization modeling transformation db traversal vertex intensity calculation using radiosity new db

116 modeling transformation
6.8 Rendering-Pipelines Beispiel: Globales Beleuchtungsmodell Hier: Ray-Tracing modeling transformation ray tracing display db traversal


Herunterladen ppt "Computergrafik - Inhalt"

Ähnliche Präsentationen


Google-Anzeigen