Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen...

116
Computergrafik - Inhalt CG – 6.1 §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

Transcript of Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen...

Page 1: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

Computergrafik - Inhalt

CG – 6.1

§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

Page 2: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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

CG – 6.2

Page 3: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.1 Farbmodelle

Hierarchien bekannter FarbmengenEbener Schnitt durch den drei-dimensionalen Farbraum. JederPunkt entspricht einer Farbe.

CG – 6.3

A: Menge aller vom Menschenwahrnehmbaren Farben

B: Menge aller von einemAusgabegerät (z.B. Monitor)darstellbaren Farben – dies isteine Untermenge von A

C: Menge aller von einem Programmspezifizierbaren Farben – beschränktdurch die Grafikhardware (Bildspeicher),z.B. 24 Bit/Pixel → 16777216 Farben – i.A. Untermenge von A und Obermenge von B

Page 4: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.4

Page 5: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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 Bexakt 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

CG – 6.5

Page 6: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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!

CG – 6.6

Page 7: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.1 Farbmodelle

RGB-Farbmodell (cont.) RGB-Farbwürfel

CG – 6.7

Page 8: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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

CG – 6.8

Page 9: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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“

CG – 6.9

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

Page 10: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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)

(0, 1, 1) Cyan (180, 1, 1)

(0, 0, 1) Blau (240, 1, 1)

(1, 0, 1) Magenta (300, 1, 1)

CG – 6.10

Bemerkung: Im HSV-Modell besitzen Komplementär-farben eine Winkeldifferenz von 180° im H-Wert

Page 11: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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 einenSub-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.

CG – 6.11

Page 12: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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 durchC = X X + Y Y + Z Z

CG – 6.12

Page 13: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.1 Farbmodelle

CIE-Farbraum (cont.)

Von einem Monitordarstellbare Farben

CIE XYZ Farbkörper: enthältalle wahrnehmbaren Farben

CG – 6.13

Page 14: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.1 Farbmodelle

CIE-Farbraum (cont.) Eine alternative Spezifikation des CIE XYZ-

Farbtripels (X, Y, Z) ergibt sich durch eineAbbildung (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.

x XX Y Z

y YX Y Z

(CIE xyY-Farbraum)

CG – 6.14

und

Page 15: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.1 Farbmodelle

CIE-Farbraum (cont.)

CG – 6.15

Das (x, y)-Diagramm enthält (als 2D-Projektion der EbeneX+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.

Page 16: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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 derRealitä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.

CG – 6.16

Page 17: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.1 Farbmodelle

Gamma-Korrektur (cont.) Bei der Darstellung von Szenen in der

Computergrafik übernimmt ein Renderer die Rolleder 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).

CG – 6.17

Bildquelle:http://www.elektroniknet.de

Page 18: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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 mussnicht planar sein!

CG – 6.18

Page 19: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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!

CG – 6.19

Page 20: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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

CG – 6.20

Page 21: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.:

CG – 6.21

Page 22: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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

CG – 6.22

Page 23: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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 werdennicht mehr dargestellt!

CG – 6.23

Page 24: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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 : v N i 0

N5

N4

N6N1

N2

N3

v N1

0

v N2

0

v N3

0

v N4

0

v N5

0

v N6

0

v

(Sichtbarkeitsbedingung!)

hier: Parallelprojektion

CG – 6.24

Page 25: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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!

CG – 6.25

Page 26: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.26

Page 27: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.27

Page 28: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

5

5

5

5

5

5

5

m

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

m

m

m

m

m

5

5

m

m

m

m

m

m

5

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

+ =

CG – 6.28

Page 29: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.2 Visibilitätsverfahren

z-Buffer-Algorithmus (cont.) Beispiel (cont.)

Addiere ein Polygon, welches das 1. Polygon schneidet

5

5

5

5

5

5

5

m

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

m

m

m

m

m

5

5

m

m

m

m

m

m

5

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

5

5

5

5

5

6

7

m

5

5

5

5

5

5

6

m

5

5

5

5

5

4

5

m

5

5

5

5

2

3

4

m

5

5

5

m

m2

3

m

5

5

m

m

m

m2

m

5

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

2

3

4

5

6

7

2

3

4

5

6

2

3

4

5

2

3

4

2

3 2

+ =

CG – 6.29

Page 30: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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) – dxA/C

Nur eine Subtraktion notwendig, da A/C konstant ist und dx=1!

CG – 6.30

Page 31: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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)

CG – 6.31

Page 32: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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 Antialiasingnur durch aufwendige Modifikationen möglich

CG – 6.32

Page 33: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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

InitialisierungFür alle Polygone

Für alle Rasterzeilen im Polygon...

Scan-Line z-BufferFür alle Rasterzeilen

InitialisierungFür alle Polygone

...

CG – 6.33

Page 34: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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

Eye

Pixel

CG – 6.34

Bildraumverfahren!

Page 35: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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:

CG – 6.35

2 2 0x m r ‖ ‖

( )s t e tv

2 2 0e tv m r ‖ ‖

Page 36: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.36

2 2

2

2

2 2

0

( )·( ) 0

( ) ( ) · ( ) ( ) 0

· 2 ·( ) ( )·( ) 0

e tv m

e tv m e tv m r

tv e m tv e m

r

r

t v tv e m e m e m rv

‖ ‖

1,2 1,2 1,2( ·)s s t e t v

Page 37: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.37

Page 38: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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!

CG – 6.38

Page 39: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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 immerbei 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

CG – 6.39

Page 40: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.40

Page 41: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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

CG – 6.41

Page 42: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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

CG – 6.42

Page 43: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.2 Visibilitätsverfahren

Ray Casting (cont.) Raumteilung (cont.)

Notwendig: Testen, ob der berechnete Schnittpunkt innerhalb der aktuellen Partition liegt!

CG – 6.43

Abhilfe: Alle Partitionen solange weiterverfolgen, bisein Schnittpunkt gefunden wird, der innerhalb der Partition liegt.

Page 44: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.2 Visibilitätsverfahren

Increasing Reality... Was können wir bisher? Was fehlt uns noch?

Farben

Beleuchtung

Highlights

Schatten

Transparenz

Reflektionen

Refraktionen

CG – 6.44

Page 45: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.3 Beleuchtung und Schattierung

Die Grundbestandteile des Renderprozesses

Oberfläche

Reflektion/Transmission/Emission

EmissionAtmosphärische Streuung

CG – 6.45

Page 46: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.46

Page 47: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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!

CG – 6.47

Page 48: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.3 Beleuchtung und Schattierung

Illumination model (cont.) Mit dem Zusatz local ~ (cont.)

A B

direkt direkt

indirekt

CG – 6.48

Page 49: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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!

CG – 6.49

Page 50: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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 techniquesz.B. Flat shading, Gouraud shading, Phong

shading

CG – 6.50

Page 51: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.3 Beleuchtung und Schattierung

Gängige Praxis-Kombination

Weltkoordinaten Bildschirmkoordinaten

Local reflection model:berechnet die Lichtintensität anjedem Punkt P auf der Oberflächeeines Objektes

Interpolative shading algorithm:interpoliert Pixelintensitäten I aus berechneten Lichtintensitätenin den Polygonecken

CG – 6.51

Page 52: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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

CG – 6.52

Page 53: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.4 Lokale Beleuchtungsmodelle

Geometriebetrachtung

P

CG – 6.53

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)

Page 54: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.4 Lokale Beleuchtungsmodelle

Wiederholung:Reflexionsgesetz, (perfekte) spiegelnde Reflexion R = Vektor des reflektierten Strahls, normiert

N

LRθ θ R2

R1

Es gilt:L und R liegen in einer Ebeneund θ = θin = θref

CG – 6.54

2 1

2 2 2

· )

2

2(

R R

N N L

R

R R L R L

L

Page 55: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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änomenea) 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

CG – 6.55

Page 56: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.4 Lokale Beleuchtungsmodelle

CG – 6.56

Page 57: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.4 Lokale Beleuchtungsmodelle

Das Modell simuliert folgende physikalische Reflexionsphänomene (cont.)b) 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

CG – 6.57

Page 58: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.4 Lokale Beleuchtungsmodelle

Das Modell simuliert folgende physikalische Reflexionsphänomene (cont.)c) 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

CG – 6.58

Page 59: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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)

CG – 6.59

Page 60: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.4 Lokale Beleuchtungsmodelle

Polierte Oberflächen:

CG – 6.60

Page 61: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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

I kdI

d k

sI

s k

aI

a

kd k

s k

a1

kdI

d

IdI

icos

CG – 6.61

Page 62: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.4 Lokale Beleuchtungsmodelle

Diffuse Reflexion (cont.)

Also:

Die diffuse Komponente desPhong-Modells modelliertdas 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.

CG – 6.62

( · )d i

I I L N

Page 63: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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 Rn simuliert Perfektionsgrad der Oberfläche

(n → ∞ heißt perfekter Spiegel, d.h. reflektiertes Licht

nur in Richtung R)

ksI

s

IsI

icosn()

CG – 6.63

Page 64: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.4 Lokale Beleuchtungsmodelle

Spiegelnde Reflexion (cont.)

Also: cos ( )ns iI I

n=1

0

0,2

0,4

0,6

0,8

1

n=5

0

0,2

0,4

0,6

0,8

1

n=10

0

0,2

0,4

0,6

0,8

1

n=50

CG – 6.64

Page 65: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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 realenAbhängigkeit von Spiegelungenvon der Ausrichtung des Lichtvektors!

Gravierender Mangel des Models!

CG – 6.65

( · )n

s iI I R V

Page 66: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.4 Lokale Beleuchtungsmodelle

Das Gesamtmodell

Im 2D-Schnitt:

ambient

diffuse

specular

CG – 6.66

( ( ( )· ) · )

d d s s a a

ni d s a a

I k k I k I

I k

I

N k VL k IR

Page 67: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.4 Lokale Beleuchtungsmodelle

Beispiel

ka konstant

zunehmendes ks

zunehmend

es n

CG – 6.67

Page 68: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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:

CG – 6.68

Blinn-Modell

( ( · · ) )) ( n

i d s a aN kI I k HL N Ik

Page 69: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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:

CG – 6.69

mit

kdr, kdg, kdb modellieren die Farbe des Objektesksr, ksg, ksb modellieren die Farbe der Lichtquelle

(für weißes Licht ist ksr = ksg = ksb)kar, kag, kab modellieren die Farbe des

Umgebungslichtes

( ( ( )

( ( ( )

( ( (

· ) · )

· ) · )

· ) · ) )

nr i dr sr ar a

ni dg sg ag a

ni db sb a

g

ab b

N k H

N k

I I k L N k I

I I k L N k I

I I k L NN I

H

k kH

Page 70: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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).

CG – 6.70

Page 71: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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

CG – 6.71

Page 72: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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!

CG – 6.72

Page 73: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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 Unterscheidungzwischen (dreidimensionalem)Objektraum und(zweidimensionalem) Bildraum!

Weltkoordinaten Bildschirmkoordinaten

CG – 6.73

Page 74: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.74

Page 75: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.5 Interpolative Schattierungstechniken

CG – 6.75

Flat Shading (cont.) Einfaches, kostengünstiges Verfahren,

Interpolation findet nicht statt Kanten in Polygonnetzen bleiben bei

der Darstellung sichtbar, Objektewerden facettiert dargestellt,unstetiger Intensitätsverlauf überdie Polygonkanten

„Runde“ Objekte nur durch extremhohe Polygonanzahl Geht dies auch anders?

Anwendung für Voransicht, Entwurfsansicht, aber auchMobile Computing und Visualization

Page 76: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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 einergekrü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!) CG – 6.76

Page 77: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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)

CG – 6.77

Page 78: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.5 Interpolative Schattierungstechniken

Gouraud and Phong Shading (cont.):Bilineare Interpolation0. Schritt: Werte W(P1), W(P2), W(P3), W(P4) bestimmen

1. Schritt: Schnittpunkte Scanline mit PolygonkantenPa und Pb bestimmen

2. Schritt: Werte W(Pa), W(Pb) bestimmen

3. Schritt: Wert W(Ps) bestimmenP1(x1,y1)

P2(x2,y2)

P3(x3,y3)

P4(x4,y4)

Pb(xb,ys)Pa(xa,ys)

Ps(xs,ys)

W (Pa) 1y2 y1

(W (P1)(y2 ys)W (P2)(ys y1))

W (Pb) 1y4 y1

(W (P1)(y4 ys)W (P4)(ys y1))

W (Ps ) 1

xb xa

(W (Pa )(xb xs )W (Pb)(xs xa ))

CG – 6.78

Page 79: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.79

Page 80: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.5 Interpolative Schattierungstechniken

CG – 6.80

Gouraud Shading (cont.) Kanten in Polygonnetzen werden

geglättet, der Intensitätsverlauf überdie Polygonkanten ist stetig,aber nicht wirklich glatt

→ Anfälligkeit des Verfahrens für Mach-Band-Effekte

Verfahren kann Highlights nichtangemessen darstellen Diese können nur entstehen, falls

die Betrachtungsrichtung naheder Reflexionsrichtung liegt; dasBeleuchtungsmodell wird abernur in den Eckpunkten ausgewertet

Highlights werden durch Abtastfehler „verschluckt“

Page 81: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.5 Interpolative Schattierungstechniken

CG – 6.81

Gouraud Shading (cont.) Da Highlights i.d.R. sowieso

verschluckt werden, ist eineKombination von Gouraud Shadingund einem Beleuchtungsmodellmit ausschließlich diffuserReflexionskomponente gängig.

Bemerkung:Gouraud Shading wird alsStandard-Schattierungsverfahrenvon heutiger Graphikhardwareeffizient umgesetzt.

Page 82: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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!)

CG – 6.82

Page 83: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.5 Interpolative Schattierungstechniken

CG – 6.83

Phong Shading (cont.) Intensitätsverlauf über die

Polygonkanten ist stetig und glatt;das Erscheinungsbild der realen,gekrümmten Oberfläche wird durchdie Wahl der interpolierten Normalen gut angenähert

Äußerst rechenaufwendigesVerfahren!

Highlights werden adäquatdargestellt

Bemerkung:Phong Shading wird vonheutiger high-end Graphikhardware unterstützt.

Page 84: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.5 Interpolative Schattierungstechniken

Flat, Gouraud und Phong Shading im Vergleich

CG – 6.84

Page 85: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

Flat, Gouraud und Phong Shading im Vergleich

6.5 Interpolative Schattierungstechniken

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

CG – 6.85

Page 86: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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!)

CG – 6.86

Page 87: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.5 Interpolative Schattierungstechniken

Beispiel: Wireframe-Darstellung / Flat Shading

CG – 6.87

Wireframe Flat Shading

Page 88: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.5 Interpolative Schattierungstechniken

Beispiel: Gouraud / Phong Shading

CG – 6.88

Gouraud Shading Phong Shading

Page 89: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.89

Page 90: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.90

Page 91: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.6 Das Auge isst mit...

Lechners Gesetz (cont.) Anwendung: Helligkeitsverläufe / Farbverläufe

Intensitätssteigerung in äquidistantenSchritten von 12,5% bezogen auf dieeinfallende Intensität (von 0% bis 100%)

→ Helligkeitssprung in dunkler Regionist deutlicher als gleiche Sprüngein heller Region

→ große Unterschiede zwischen wahr-genommenen Intensitätssprüngen

Intensitätssteigerung in äquidistantenSchritten bezogen auf diewahrgenommene Intensität

→ Wahrnehmung nahezu äquidistanter Intensitätssprünge

CG – 6.91

Page 92: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.92

Page 93: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.6 Das Auge isst mit...

Mach Band-Effekt (cont.) Beispiel:

CG – 6.93

Page 94: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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

CG – 6.94

Page 95: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.6 Das Auge isst mit...

Mach Band-Effekt (cont.) Entstehung von Mach Band-Effekten beim Gouraud

Shading

CG – 6.95

Page 96: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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

CG – 6.96

Page 97: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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

CG – 6.97

Page 98: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.7 Globale Beleuchtungsmodelle

Ray-Tracing: Historie

CG – 6.98

Page 99: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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!

CG – 6.99

Page 100: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.7 Globale Beleuchtungsmodelle

Ray-Tracing: Rekursive Strahlverfolgung

opaque object

pixel

semi-transparent objecteye

light

initial ray

surface normal

R1

T1

R2

R3

R4

T4

light rays / shadow raysL1

L3

L4

CG – 6.100

Page 101: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.7 Globale Beleuchtungsmodelle

Ray-Tracing: Darstellung als Baum

eye

R3

R1

R2

T1

T4R4

L1

L4

CG – 6.101

Page 102: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.102

Page 103: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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 manSchattenfühler (shadow ray, shadow feeler, light ray).

L2L1

P2, nicht im Schatten

P1, im SchattenCG – 6.103

Page 104: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.104

Page 105: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.105

Page 106: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.106

Page 107: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.107

Page 108: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.108

Page 109: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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.

CG – 6.109

Page 110: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.7 Globale Beleuchtungsmodelle

Ray-Tracing: Stochastic Ray-Tracing Loslösung von der starren Unterteilung und

stochastisches Vorgehen, z. B. beim Supersampling:

CG – 6.110

Page 111: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

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

CG – 6.111

Page 112: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.8 Rendering-Pipelines

Genereller Aufbau:

Displaytraversal

Modelingtransformation

Viewingoperation

visible-surface determinationscan conversionshading

image

scene model /scene graph

front-end(geometryprocessing)

back-end(rasterization)

CG – 6.112

Page 113: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.8 Rendering-Pipelines

Beispiel: Lokales Beleuchtungsmodell Hier: Gouraud Shading mit z-Buffer

modelingtransformation

dbtraversal

trivialaccept / reject lighting

viewingtransformation rasterization displayclipping

CG – 6.113

Page 114: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.8 Rendering-Pipelines

Beispiel: Lokales Beleuchtungsmodell Hier: Phong Shading mit z-Buffer

modelingtransformation

dbtraversal

trivialaccept / reject

clipping

viewingtransformation

displayrasterization(with lighting)

CG – 6.114

Page 115: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.8 Rendering-Pipelines

Beispiel: Globales Beleuchtungsmodell Hier: Radiosity mit Gouraud Shading und z-Buffer

new dbtraversal

trivialaccept / reject

clipping

viewingtransformation

displayrasterization

modelingtransformation

dbtraversal

vertex intensitycalculation using

radiosity

newdb

CG – 6.115

Page 116: Computergrafik - Inhalt CG – 6.1 §0Historie, Überblick, Beispiele §1Begriffe und Grundlagen §2Objekttransformationen §3Objektrepräsentation und -Modellierung.

6.8 Rendering-Pipelines

Beispiel: Globales Beleuchtungsmodell Hier: Ray-Tracing

modelingtransformation ray tracing displaydb traversal

CG – 6.116