20.01.2014 Aufrufe

Kapitel 4 - Rendering und Visibilität - ICSY

Kapitel 4 - Rendering und Visibilität - ICSY

Kapitel 4 - Rendering und Visibilität - ICSY

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

4.1 Farbmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Farbe ist ein wesentlicher Bestandteil realistischer Computergrafik.<br />

Dieses Unterkapitel beschreibt die quantitativen Aspekte<br />

von Farbe, auf denen jegliche Verarbeitung von Farbinformationen<br />

während des <strong>Rendering</strong>s beruht.<br />

Fragestellungen:<br />

- Wie kann man eine bestimmte Farbe exakt spezifizieren?<br />

→ Farbräume, Farbmodelle<br />

- Wie viele verschiedene Farben können durch eine<br />

Grafikhardware spezifiziert werden?<br />

→ technische Realisierbarkeit<br />

- Wie exakt kann eine exakt spezifizierte Farbe auf einem<br />

Ausgabegerät angezeigt werden?<br />

→ geräteabhängige Farbräume<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-1<br />

4.1 Farbmodelle<br />

Hierarchien bekannter Farbmengen<br />

A: Menge aller vom Menschen<br />

wahrnehmbaren Farben<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Ebener Schnitt durch den dreidimensionalen<br />

Farbraum. Jeder<br />

Punkt entspricht einer Farbe.<br />

B: Menge aller von einem Ausgabegerät<br />

(z. B. Monitor) darstellbaren<br />

Farben – dies ist eine Untermenge von A<br />

C: Menge aller von einem Programm<br />

spezifizierbaren Farben – beschränkt durch die<br />

Grafikhardware (Bildspeicher) 24 Bit/Pixel → 16777216 Farben<br />

– i. a. Untermenge von A <strong>und</strong> Obermenge von B<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-2<br />

4-1


4.1 Farbmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Dreidimensionaler Farbraum<br />

Der traditionellen Beschreibung von Farben durch Namen mangelt<br />

es naturgemäß an Exaktheit – Aschgrau, Steingrau, Mausgrau, ...<br />

Eine präzise Festlegung erhält man erst durch eine objektive<br />

quantitative Spezifikation. Physikalisch gesehen ist eine Farbe eine<br />

bestimmte Energieverteilung im elektromagnetischen Spektrum<br />

zwischen 400 <strong>und</strong> 700 Nanometern Wellenlänge.<br />

Anhand physikalischer Experimente <strong>und</strong> Untersuchungen der<br />

physiologischen Farbwahrnehmung durch das menschliche<br />

Auge gelangte man zur Erkenntnis, dass nahezu alle Farben,<br />

die das Auge unterscheiden kann, auf eine additive Mischung<br />

dreier Gr<strong>und</strong>farben zurückgeführt werden können.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-3<br />

4.1 Farbmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Dreidimensionaler Farbraum (cont.)<br />

Definiert man die zu mischenden Anteile z. B. der Gr<strong>und</strong>farben<br />

Rot, Grün <strong>und</strong> Blau durch ein Tripel (r, g, b) von Gewichtsfaktoren,<br />

so lässt sich eine bestimmte Farbe C mittels<br />

C = r R + g G + b B exakt spezifizieren.<br />

Dies ist jedoch bei weitem nicht die einzige Möglichkeit, einen<br />

dreidimensionalen Farbraum zu definieren. Je nach Anforderung<br />

können verschiedene standardisierte Farbräume (Farbmodelle)<br />

verwendet werden, z. B.<br />

RGB: traditioneller Farbraum für Computergrafik, Monitore, ...<br />

HSV: erleichtert die intuitive Farbauswahl<br />

CIE: internationaler Standard zur Farbspezifikation<br />

CMY: subtraktives Farbmodell für die Drucktechnik<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-4<br />

4-2


4.1 Farbmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

RGB-Farbmodell<br />

- verwendet die Gr<strong>und</strong>farben Rot, Grün <strong>und</strong> Blau<br />

zur additiven Farbmischung<br />

- Beschreibung einer Farbe durch ein Tripel (r, g, b) von<br />

Gewichtsfaktoren mit 0≤r, g, b≤1. Es gilt:<br />

(0, 0, 0) = Schwarz (1, 1, 1) = Weiß<br />

(1, 0, 0) = Rot (0, 1, 0) = Grün (0, 0, 1) = Blau<br />

(0, 1, 1) = Cyan (1, 0, 1) = Magenta (1, 1, 0) = Gelb<br />

Im Rechner: z. B. 8 Bit pro Gr<strong>und</strong>farbe, d. h. 0≤r, g, b≤255.<br />

- die Menge aller spezifizierbaren Farben wird im 3D-Raum durch<br />

einen Würfel repräsentiert („Farbkörper“) – dieser deckt jedoch<br />

nicht den gesamten wahrnehmbaren Farbraum ab<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-5<br />

4.1 Farbmodelle<br />

RGB-Farbmodell (cont.)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

B<br />

R<br />

G<br />

RGB-Farbwürfel<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-6<br />

4-3


4.1 Farbmodelle<br />

RGB-Farbmodell (cont.)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

- Das Modell ist bezüglich der Farbwahrnehmung nicht linear:<br />

Betrachtet man eine typische Farbauflösung von 8 Bit pro<br />

Gr<strong>und</strong>farbe (sog. True Color), so existieren im Farbwürfel<br />

Regionen, in denen benachbarte Punkte für das Auge<br />

denselben Farbeindruck hervorrufen. In anderen Regionen<br />

hingegen sind die Farben benachbarter Punkte für das Auge<br />

sehr wohl voneinander unterscheidbar.<br />

- Für den Anwender ist es mitunter recht schwierig, zu einer<br />

gewünschten Farbe (z. B. Kastanienbraun) ein entsprechendes<br />

(r, g, b)-Tupel zu ermitteln oder eine Farbe beispielsweise<br />

ein wenig abzuschwächen (erfordert ungleiche Änderungen<br />

von r, g <strong>und</strong> b). → HSV-Farbmodell<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-7<br />

4.1 Farbmodelle<br />

- verwendet „Zylinderkoordinaten“<br />

Hue: Farbe („Farbfamilie“) als<br />

„Farbwinkel“ in Grad:<br />

Cyan<br />

0° ≤ H < 360°<br />

Saturation: Sättigung: 0≤ S ≤1<br />

(Verkleinerung addiert Weiß)<br />

Value: Helligkeit: 0≤V<br />

≤1<br />

(Verkleinerung addiert Schwarz)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

HSV-Farbmodell<br />

- entwickelt zur Unterstützung einer intuitiven Farbauswahl<br />

(wahrnehmungsorientiertes Farbmodell)<br />

- der Farbkörper im 3D-Farbraum ist eine Pyramide<br />

mit sechseckiger Gr<strong>und</strong>fläche<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-8<br />

4-4


4.1 Farbmodelle<br />

Zusammenhang zwischen HSV- <strong>und</strong> RGB-Modell:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

- Die Gr<strong>und</strong>fläche der HSV-Pyramide entsteht aus dem RGB-<br />

Würfel durch Projektion entlang der Raumdiagonale von Weiß<br />

nach Schwarz auf eine dazu senkrecht stehende Ebene.<br />

- Es ergeben sich folgende<br />

korrespondierende Punkte:<br />

RGB<br />

(1, 0, 0)<br />

(1, 1, 0)<br />

Farbe<br />

Rot<br />

Gelb<br />

HSV<br />

(0, 1, 1)<br />

(60, 1, 1)<br />

- Bemerkung:<br />

Im HSV-Modell besitzen<br />

Komplementärfarben eine<br />

Winkeldifferenz von 180°<br />

im H-Wert<br />

(0, 1, 0)<br />

(0, 1, 1)<br />

(0, 0, 1)<br />

(1, 0, 1)<br />

Grün<br />

Cyan<br />

Blau<br />

Magenta<br />

(120, 1, 1)<br />

(180, 1, 1)<br />

(240, 1, 1)<br />

(300, 1, 1)<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-9<br />

4.1 Farbmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Zusammenhang HSV- <strong>und</strong> RGB-Modell: (cont.)<br />

- Schreitet man im RGB-Würfel entlang der Hauptdiagonale von<br />

Schwarz nach Weiß, so kann man in jedem Punkt P dieser<br />

Diagonale einen Sub-Würfel wie folgt definieren:<br />

- die Hauptdiagonalen der Würfel fallen zusammen<br />

- eine Ecke des Sub-Würfels liegt bei Schwarz = (0, 0, 0) ,<br />

die gegenüberliegende Ecke liegt bei P<br />

- der Sub-Würfel liegt im Innern des RGB-Würfels<br />

- Somit definiert jeder Sub-Würfel bei Anwendung der oben<br />

beschriebenen Projektion entlang der Hauptdiagonale ein<br />

Sechseck, das einem Schnitt durch die HSV-Pyramide für<br />

V = const. entspricht. (Die Hauptdiagonale des RGB-Würfels<br />

entspricht also der V-Achse der HSV-Pyramide.)<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-10<br />

4-5


4.1 Farbmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

CIE-Farbraum<br />

- internationaler, geräteunabhängiger Standard zur Farbspezifikation,<br />

geeignet zur Beschreibung aller vom<br />

Menschen wahrnehmbaren Farben<br />

(der RGB-Farbkörper ist hierfür nicht geeignet!)<br />

- universeller Farbraum, verwendet die künstlichen Gr<strong>und</strong>farben<br />

X, Y <strong>und</strong> Z zur additiven Farbmischung (CIE XYZ-<br />

Farbraum), da keine Auswahl dreier Gr<strong>und</strong>farben aus dem<br />

sichtbaren Farbbereich durch additive Mischung mit nicht<br />

negativen Gewichten alle wahrnehmbaren Farben abdecken<br />

kann: die Mischung schon zweier Gr<strong>und</strong>farben ergibt immer<br />

eine weniger gesättigte Farbe<br />

- Repräsentation einer Farbe C durch C = X X + Y Y + Z Z<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-11<br />

4.1 Farbmodelle<br />

CIE-Farbraum (cont.)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

CIE XYZ Farbkörper: enthält<br />

alle wahrnehmbaren Farben<br />

von einem Monitor<br />

darstellbare Farben<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-12<br />

4-6


4.1 Farbmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

CIE-Farbraum (cont.)<br />

Eine alternative Spezifikation des CIE XYZ-Farbtripels (X, Y, Z)<br />

ergibt sich durch eine Abbildung (X, Y, Z) → (x, y, Y) mit<br />

x =<br />

X +<br />

X<br />

Y + Z<br />

y = .<br />

X +<br />

Y<br />

Y + Z<br />

<strong>und</strong><br />

(CIE xyY-Farbraum)<br />

Wertet man die Gleichungen für alle Farben des XYZ-Farbkörpers<br />

aus <strong>und</strong> trägt man die Ergebnisse in einem (x, y)-Diagramm ein, so<br />

erhält man das hufeisenförmige CIE-Diagramm der Chromatizität.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-13<br />

4.1 Farbmodelle<br />

CIE-Farbraum (cont.)<br />

Das (x, y)-Diagramm enthält (als<br />

zweidimensionale Projektion der<br />

Ebene X+Y+Z=1 in die XY-Ebene)<br />

alle sichtbaren Farben, wobei der<br />

Luminanz-Anteil ignoriert wird.<br />

Auf dem äußeren Rand der Hufeisenform<br />

liegen die reinen<br />

Spektralfarben von Blau (400 nm)<br />

bis Rot (700 nm).<br />

Auf der Geraden zwischen Blau<br />

<strong>und</strong> Rot befinden sich die Lila- <strong>und</strong><br />

Magenta-Farben.<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-14<br />

4-7


4.1 Farbmodelle<br />

Gamma-Korrektur<br />

Bei einer Fernsehübertragung<br />

erwartet der Zuschauer, dass er<br />

eine Szene zu Hause in derselben<br />

Farbqualität sieht, wie er sie in der<br />

Realität auch sehen würde.<br />

Um dies zu verwirklichen, wird<br />

in der Fernsehkamera bereits<br />

eine Präkompensation vorgenommen,<br />

die die Nichtlinearität<br />

der Farbwiedergabe<br />

einer üblichen Fernsehröhre<br />

korrigiert.<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-15<br />

4.1 Farbmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Gamma-Korrektur (cont.)<br />

Bei der Darstellung von Szenen in der Computergrafik<br />

übernimmt ein Renderer die Rolle der Kamera, besitzt aber<br />

generell eine lineare Intensitätscharakteristik.<br />

Da jedoch ein Monitor eine ähnliche Nichtlinearität bei der Farbwiedergabe<br />

aufweist wie ein Fernsehgerät, muss dem <strong>Rendering</strong>prozess<br />

eine geeignete Gamma-Korrektur nachgeschaltet werden.<br />

In der Regel werden hierzu im RGB-Modell für jeden Farbkanal die<br />

zu ersetzenden Werte in einer look-up-Tabelle nachgeschlagen<br />

(bei 8 Bit/Gr<strong>und</strong>farbe: drei Arrays der Länge 256).<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-16<br />

4-8


4.2 Visibilitätsverfahren<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Motivation:<br />

- Die gr<strong>und</strong>legende Modellierung unserer Objekte besteht<br />

in letzter Konsequenz aus planaren Polygonen, meist aus<br />

Vier- oder Dreiecken.<br />

- Das Dreieck ist die favorisierte Form, denn ein Dreieck hat<br />

eine eindeutige Normale, die anzeigt, wo das Dreieck „hinzeigt“.<br />

Ein Viereck nicht?<br />

Vorsicht:<br />

- Den Prozess, der aus der mathematischen Beschreibung,<br />

beispielsweise einer Kugel, eine Menge von Dreiecken<br />

produziert, nennt man tesselation, triangulation bzw.<br />

„Tesselation“, „Triangulierung“<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-17<br />

4.2 Visibilitätsverfahren<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Motivation: (cont.)<br />

- Die einfachste Form, unsere Objekte darzustellen (zu rendern)<br />

ist die Wireframe-Darstellung – wir zeichnen lediglich die<br />

Kanten der Polygone.<br />

Bem.:<br />

- Wireframe-Darstellung mit Darstellung aller Kanten, d.h.<br />

auch der (teilweise) verdeckten Kanten von Objekten<br />

ist zwar trivial, die Darstellung einer 3D-Szene wirkt<br />

allerdings nicht wirklich räumlich -> visual cluttering<br />

- Wireframe-Darstellung mit Darstellung nur der wirklich<br />

sichtbaren Kanten führt zu sog. hidden-line-Algorithmen,<br />

die absolut nicht mehr trivial sind – man muss sich nun um<br />

die Sichtbarkeit / die Visibilität Gedanken machen!<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-18<br />

4-9


4.2 Visibilitätsverfahren<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Ziel der Visibilitätsverfahren ist die möglichst exakte Bestimmung<br />

der von einem gegebenen Blickpunkt aus sichtbaren bzw. unsichtbaren<br />

Teile der darzustellenden Szene.<br />

Wünschenswert ist eine hohe Interaktionsrate, so dass Eingaben<br />

des Benutzers sich direkt auf die Darstellung auswirken. Im<br />

günstigsten Falle ist sogar eine Echtzeitausgabe der Szene<br />

möglich.<br />

Einteilung der Verfahren:<br />

- Objektraumverfahren<br />

geräteunabhängig, Genauigkeit ist Maschinengenauigkeit<br />

- Bildraumverfahren<br />

geräteabhängig, Genauigkeit ist Auflösung des Ausgabegerätes<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-19<br />

4.2 Visibilitätsverfahren<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Unsichtbarkeit bzw. Verdeckungen treten auf, wenn bei der<br />

Projektion der dreidimensionalen Szene auf die Bildebene<br />

unterschiedliche Objektteile auf dieselbe Stelle abgebildet werden.<br />

Sichtbar sind diejenigen Objektpunkte, die dem Auge des Betrachters<br />

am nächsten gelegen sind. Daher ist bei der Darstellung nicht<br />

nur die (x, y)-Koordinate in der Bildebene zu berücksichtigen,<br />

sondern auch die Tiefenrelation der Szene (z-Koordinate).<br />

Bem.:<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-20<br />

4-10


4.2 Visibilitätsverfahren<br />

Begriff: Kohärenz<br />

„Ausnutzung lokaler Ähnlichkeiten“<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Beispiele:<br />

- Flächenkohärenz:<br />

Eigenschaften benachbarter Punkte auf einer Fläche<br />

ändern sich oft nur unwesentlich,<br />

z. B. Farbe<br />

- Tiefenkohärenz:<br />

Die Tiefe z(x,y) auf einer Fläche kann oft inkrementell<br />

berechnet werden<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-21<br />

4.2 Visibilitätsverfahren<br />

Back-Face-Culling<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Die Entfernung verdeckter Flächen <strong>und</strong> Linien kann sehr<br />

aufwendig sein. Es erweist sich daher als günstig, mit einem<br />

möglichst einfachen Test das Problem möglichst stark zu<br />

vereinfachen, bevor kompliziertere Verfahren eingesetzt<br />

werden.<br />

Einen ebenso einfachen wie wirkungsvollen Ansatz stellt<br />

das Back-Face-Culling dar:<br />

In Abhängigkeit von der Position des Betrachters werden die<br />

Rückseiten <strong>und</strong>urchsichtiger Körper entfernt, da diese naturgemäß<br />

nicht sichtbar sind. Wir entscheiden auf Gr<strong>und</strong> der<br />

Normalen, welche Polygone von uns „wegsehen“, diese werden<br />

nicht mehr dargestellt!<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-22<br />

4-11


§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

4.2 Visibilitätsverfahren<br />

Back-Face-Culling (cont.)<br />

Klassifikation der Rückseiten:<br />

- es werden die Normalenvektoren N i aller Flächen betrachtet<br />

- bei einer Vorderseite enthält der Normalenvektor N i eine<br />

Komponente in Blickrichtung, d. h. es gilt für das Skalarprodukt<br />

aus Vektor zum Augpunkt (viewing vector) v <strong>und</strong> N i : v⋅<br />

N > 0<br />

i<br />

hier: Parallelprojektion N 3 N 4<br />

v⋅<br />

N > 0<br />

1<br />

v v⋅<br />

N > 0<br />

N 2<br />

N 5 2<br />

v⋅<br />

N > 0<br />

3<br />

N 1<br />

N 6<br />

v⋅<br />

N<br />

v⋅<br />

N<br />

v⋅<br />

N<br />

<<br />

4<br />

<<br />

5<br />

<<br />

6<br />

0<br />

0<br />

0<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-23<br />

4.2 Visibilitätsverfahren<br />

Back-Face-Culling (cont.)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Eigenschaften:<br />

- Die Zahl der beim <strong>Rendering</strong> zu berücksichtigenden Polygone<br />

wird durch Entfernen der Rückseiten durchschnittlich etwa<br />

um die Hälfte reduziert.<br />

- Der Aufwand zur Berechnung des Skalarprodukts ist minimal.<br />

- Besteht die Szene nur aus einem einzelnen konvexen<br />

Polyeder, so löst Back-Face-Culling bereits das Visibilitätsproblem.<br />

Bei konkaven Polyedern oder Szenen, an denen mehrere<br />

Objekte beteiligt sind, kann es zu Selbst- <strong>und</strong> / oder<br />

Fremdverdeckung kommen. Hier werden aufwendigere<br />

Verfahren benötigt.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-24<br />

4-12


4.2 Visibilitätsverfahren<br />

Bekannte Visibilitätsverfahren:<br />

- erste Lösung des hidden-line-Problems: Roberts, 1963<br />

Objektraumverfahren für konvexe Objekte<br />

- area subdivision (divide-and-conquer): Warnock, 1969<br />

Ausnutzung von Flächenkohärenz; Quadtrees!<br />

- sample spans: Watkins, 1970<br />

Ausnutzung von Rasterzeilenkohärenz<br />

- depth list: Newell et al., 1972<br />

Prioritätslistenalgorithmus im Objektraum<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Im Vergleich zum z-Buffer-Algorithmus haben diese Verfahren<br />

keine sonderlich große Popularität gewonnen. Teilweise blieben<br />

sie speziellen Verwendungszwecken vorbehalten.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-25<br />

4.2 Visibilitätsverfahren<br />

z-Buffer-Algorithmus (Catmull, 1975)<br />

- bestimmt Sichtbarkeit von Bildpunkten<br />

- arbeitet im Bildraum<br />

- geeignet für die Bildausgabe auf Rastergeräten<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Arbeitsweise:<br />

Funktional gesehen führt der z-Buffer-Algorithmus innerhalb des<br />

Bildraums für jeden Bildpunkt eine Suche nach demjenigen<br />

Polygon durch, in dessen Innern der Punkt liegt <strong>und</strong> dessen<br />

zugehöriger z-Wert am größten ist (am weitesten vorne liegt).<br />

Zur Realisierung wird zusätzlicher Speicher verwendet (der sog.<br />

z-Buffer), in dem zu jedem Bildpunkt der größte z-Wert gespeichert<br />

wird, der bisher aufgetreten ist.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-26<br />

4-13


4.2 Visibilitätsverfahren<br />

z-Buffer-Algorithmus (cont.)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Algorithmus:<br />

- initialisiere Bildspeicher (frame buffer) mit Hintergr<strong>und</strong>farbe<br />

- initialisiere z-Buffer mit minimalem z-Wert<br />

- scan-conversion aller Polygone (beliebige Reihenfolge)<br />

- berechne z-Wert z(x,y) für jedes Pixel (x, y) im Polygon<br />

- falls z(x, y) größer als der Eintrag im z-Buffer bei (x, y) ist,<br />

trage Polygonattribute (Farbe) in Bildspeicher bei (x, y) ein<br />

<strong>und</strong> setze z-Buffer bei (x, y) auf z(x, y)<br />

Nach Abarbeitung des Algorithmus enthält der Bildspeicher das<br />

gewünschte Bild, der z-Buffer dessen Tiefenverteilung.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-27<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

4.2 Visibilitätsverfahren<br />

z-Buffer-Algorithmus (cont.)<br />

Beispiel:<br />

- z-Werte codiert durch Zahlen: größere Zahl => näher zum Auge<br />

- initialisiere Z-Buffer mit min. z-Werten<br />

- addiere ein Polygon mit konstantem z-Wert<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

5 5 5 5 5 5 5<br />

5 5 5 5 5 5<br />

5 5 5 5 5<br />

5 5 5 5<br />

+ =<br />

5 5 5<br />

5 5<br />

5<br />

5<br />

5<br />

5<br />

5<br />

5<br />

5<br />

5<br />

m<br />

5<br />

5<br />

5<br />

5<br />

5<br />

5<br />

m<br />

m<br />

5<br />

5<br />

5<br />

5<br />

5<br />

m<br />

m<br />

m<br />

5<br />

5<br />

5<br />

5<br />

m<br />

m<br />

m<br />

m<br />

5<br />

5<br />

5<br />

m<br />

m<br />

m<br />

m<br />

m<br />

5<br />

5<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

5 m<br />

m m<br />

m m<br />

m m<br />

m m<br />

m m<br />

m m<br />

m m<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-28<br />

4-14


4.2 Visibilitätsverfahren<br />

z-Buffer-Algorithmus (cont.)<br />

Beispiel: (cont.)<br />

- addiere ein Polygon, welches das 1. Polygon schneidet<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

5<br />

5<br />

5<br />

5<br />

5<br />

5<br />

5<br />

m<br />

5<br />

5<br />

5<br />

5<br />

5<br />

5<br />

5<br />

m<br />

5<br />

5<br />

5<br />

5<br />

5<br />

5<br />

m<br />

m<br />

2<br />

5<br />

5<br />

5<br />

5<br />

5<br />

5<br />

m<br />

m<br />

5<br />

5<br />

5<br />

5<br />

5<br />

m<br />

m<br />

m<br />

3<br />

2<br />

5<br />

5<br />

5<br />

5<br />

5<br />

m<br />

m<br />

m<br />

5<br />

5<br />

5<br />

5<br />

5<br />

5<br />

5<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

4 3 2<br />

+ =<br />

5 4 3 2<br />

5<br />

5<br />

5<br />

5<br />

5<br />

5<br />

5<br />

2<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

5<br />

5<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

6<br />

5<br />

4<br />

3<br />

2<br />

6<br />

5<br />

4<br />

3<br />

2<br />

m<br />

m<br />

m<br />

5<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

7<br />

6<br />

5<br />

4<br />

3 2<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

m<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-29<br />

4.2 Visibilitätsverfahren<br />

z-Buffer-Algorithmus (cont.)<br />

Berechnung von z bei Polygonen:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Zur Berechnung von z(x,y) : Ax+By+Cz+D=0<br />

Also: z = (-D – Ax – By) / C = z(x, y)<br />

damit<br />

z(x+d x ,y) = (-D – A(x+d x ) – By) / C<br />

= z(x,y) – d x * A/C<br />

Nur eine Subtraktion notwendig da A/C konstant ist <strong>und</strong> d x =1!<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-30<br />

4-15


4.2 Visibilitätsverfahren<br />

z-Buffer-Algorithmus (cont.)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Vorteile:<br />

+ sehr einfache Implementierung des Algorithmus<br />

(Soft- <strong>und</strong> Hardware!)<br />

+ unabhängig von der Repräsentation der Objekte!<br />

es muss nur möglich sein, zu jedem Punkt der Oberfläche<br />

einen z-Wert bestimmen zu können<br />

+ keine Komplexitätsbeschränkung der Bildszene<br />

+ keine besondere Reihenfolge oder Sortierung der<br />

Objekte notwendig (z. B. Tiefensortierung)<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-31<br />

4.2 Visibilitätsverfahren<br />

z-Buffer-Algorithmus (cont.)<br />

Nachteile:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

- Auflösung des z-Buffers bestimmt Diskretisierung der Bildtiefe,<br />

z. B. sind bei 20 Bit genau 2 20 Tiefenwerte unterscheidbar –<br />

problematisch sind weit entfernte Objekte mit kleinen Details<br />

Hier ist die sinnvolle Wahl der near- <strong>und</strong> far-clipping-plane<br />

(begrenzen view frustum!) entscheidend für die Qualität<br />

des Algorithmus!<br />

- Es wird ein großer Speicher benötigt –<br />

Abhilfe durch Zerlegung in Teilbilder oder Streifen möglich<br />

- Berücksichtigung von Transparenz <strong>und</strong> Antialiasing<br />

nur durch aufwendige Modifikationen möglich<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-32<br />

4-16


4.2 Visibilitätsverfahren<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Scan-Line z-Buffer-Algorithmus<br />

- Variation des z-Buffer-Algorithmus zur Einsparung<br />

von Speicher<br />

- arbeitet auf einer Rasterzeile (z-Buffer der Pixelhöhe 1)<br />

Vergleich der Vorgehensweisen:<br />

z-Buffer:<br />

Initialisierung<br />

für alle Polygone<br />

für alle Rasterzeilen im Polygon<br />

...<br />

Scan-Line z-Buffer: für alle Rasterzeilen<br />

Initialisierung<br />

für alle Polygone<br />

...<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-33<br />

4.2 Visibilitätsverfahren<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Strahlverfolgungs-Algorithmus (Ray Tracing / Ray Casting)<br />

- Ray Casting: Löst die Sichtbarkeit<br />

- Ray Tracing: Ray Casting + Weiterverfolgung reflektierter bzw.<br />

gebrochener Strahlen<br />

(siehe auch „globale Beleuchtungsmodelle“)<br />

- Bildraumalgorithmus<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-34<br />

4-17


4.2 Visibilitätsverfahren<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Ray Casting<br />

- Verfolge (englisch: trace) Strahlen (englisch: ray) vom Augpunkt<br />

durch alle Pixel der Bildebene<br />

- Berechne Schnittpunkte mit allen Objekten der Szene<br />

- Das Objekt mit dem am nahesten gelegenen Schnittpunkt ist<br />

in diesem Pixel sichtbar<br />

Eye<br />

Pixel<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-35<br />

4.2 Visibilitätsverfahren<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Ray Casting (cont.)<br />

Beispiel: Schnittpunktberechnung mit einem Polygon<br />

1. Berechne den Schnittpunkt mit der Ebene, in der das Polygon<br />

liegt<br />

2. Teste, ob der Schnittpunkt innerhalb des Polygons liegt<br />

(Punktklassifizierung).<br />

Im Falle eines Dreiecks: Summe der Flächeninhalte der Teildreiecke<br />

p3<br />

p3<br />

p1<br />

p2<br />

Punkt innerhalb!<br />

p1<br />

Punkt außerhalb!<br />

p2<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-36<br />

4-18


4.2 Visibilitätsverfahren<br />

Ray Casting (cont.)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Nachteile:<br />

- Für jeden Strahl muss jedes Objekt der Szene daraufhin<br />

getestet werden, ob der Strahl das Objekt schneidet<br />

- Bei einer Auflösung 1024*1024 mit 100 Objekten in der<br />

Szene müssen 100 Millionen Schnittpunktberechnungen<br />

durchgeführt werden!<br />

- Bis zu 95% der Rechenzeit werden für Schnittpunktberechnungen<br />

bei typischen Szenen verbraucht!<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-37<br />

4.2 Visibilitätsverfahren<br />

Ray Casting (cont.)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Beschleunigungsansätze:<br />

1. Transformation der Strahlen auf die z-Achse; werden die Objekte<br />

mit der gleichen Transformation verschoben, so tritt ein<br />

Schnittpunkt immer bei x=y=0 auf.<br />

2. Bo<strong>und</strong>ing Volumes: komplexe Objekte mit einfacher<br />

zu testenden Objekten umschließen<br />

Haben diese Bo<strong>und</strong>ing Volumes keinen Schnittpunkt mit einem<br />

Strahl, so sind auch die darin enthaltenen Objekte nicht auf einen<br />

Schnittpunkt zu testen. Beispiele:<br />

3. Vermeidung von unnötigen Schnittpunktberechnungen:<br />

Hierarchien <strong>und</strong> Raumteilung<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-38<br />

4-19


§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

4.2 Visibilitätsverfahren<br />

Ray Casting (cont.)<br />

Hierarchien:<br />

- baumartige Strukturen von Bo<strong>und</strong>ing Volumes<br />

- Blätter: Objekte der Szene<br />

- Innere Knoten: Bo<strong>und</strong>ing Volume seiner Kinder<br />

- schneidet ein Strahl einen inneren Knoten nicht, so kann der<br />

Strahl auch nicht die Objekte seiner Kinder schneiden<br />

- Problem: Die Generierung guter Hierarchien ist schwierig.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-39<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

4.2 Visibilitätsverfahren<br />

Ray Casting (cont.)<br />

Raumteilung:<br />

- Top-down Ansatz<br />

- Zuerst wird die Bo<strong>und</strong>ing Box der Szene berechnet<br />

- Anschließend wird diese in (gleich große) Teile unterteilt<br />

- Jede Unterteilung enthält eine Liste mit allen Objekten, die in der<br />

Partition komplett oder auch nur teilweise enthalten sind<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-40<br />

4-20


4.2 Visibilitätsverfahren<br />

Ray Casting (cont.)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Raumteilung: (cont.)<br />

- Nur wenn ein Strahl eine Partition schneidet, müssen<br />

Schnittpunktberechnungen mit den assoziierten Objekten<br />

durchgeführt werden<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-41<br />

4.2 Visibilitätsverfahren<br />

Ray Casting (cont.)<br />

Raumteilung: (cont.)<br />

- Notwendig: Testen, ob der Schnittpunkt innerhalb<br />

der Partition liegt!<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Abhilfe: Alle Partitionen solange weiterverfolgen, bis ein<br />

Schnittpunkt gef<strong>und</strong>en wird, der innerhalb der Partition liegt.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-42<br />

4-21


4.2 Visibilitätsverfahren<br />

Increasing Reality...<br />

Was können wir bisher?<br />

Was fehlt uns noch?<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Farben<br />

Beleuchtung<br />

Highlights<br />

Schatten<br />

Transparenz<br />

Reflektionen<br />

Refraktionen<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-43<br />

4.3 Beleuchtung <strong>und</strong> Schattierung<br />

Die Gr<strong>und</strong>bestandteile des Renderprozesses<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Atmosphärische<br />

Streuung<br />

Emission<br />

Reflektion/<br />

Transmission/<br />

Emission<br />

Oberfläche<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-44<br />

4-22


4.3 Beleuchtung <strong>und</strong> Schattierung<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Beleuchtung / Lichtquellen<br />

- Punktlicht:<br />

Das Licht strahlt von einem Punkt in der Szene gleichmäßig<br />

in alle Richtungen.<br />

- Richtungslicht:<br />

Das Licht strahlt (von einem unendlich weit entfernten<br />

Punkt aus) in eine bestimmte Richtung.<br />

- Spotlight:<br />

Das Licht strahlt in einem Kegel, ausgehend von der<br />

Kegelspitze.<br />

- Flächenlichtquellen:<br />

Weiche Ausleuchtung; technisch realisiert durch Ebenen, Kegel<br />

oder Zylinder mit „vielen“ Lichtquellen.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-45<br />

4.3 Beleuchtung <strong>und</strong> Schattierung<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Die Bestimmung der Intensität (Farbe) derjenigen Pixel, auf<br />

die ein Objekt (z. B. in Form eines Polygons) projiziert wird,<br />

wird mittels sogenannter Beleuchtungs-, Reflexions- <strong>und</strong><br />

Schattierungsalgorithmen bzw. -modellen durchgeführt.<br />

Vorsicht vor Begriffswirrwarr in der Literatur!:<br />

illumination model, lighting model, reflection model,<br />

shading model<br />

- mit dem Zusatz local ~<br />

Berechnung der Intensität (Farbe) eines Punktes in<br />

Abhängigkeit von direktem Lichteinfall einer Lichtquelle<br />

→ z. B. the Phong local reflection model,<br />

physikalisch basierte Modelle<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-46<br />

4-23


4.3 Beleuchtung <strong>und</strong> Schattierung<br />

illumination model (cont.)<br />

- mit dem Zusatz local ~ (cont.)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

direkt<br />

direkt<br />

indirekt<br />

A<br />

B<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-47<br />

4.3 Beleuchtung <strong>und</strong> Schattierung<br />

illumination model (cont.)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

mit dem Zusatz global ~<br />

Berechnung der Intensität (Farbe) eines Punktes in<br />

Abhängigkeit von direktem Lichteinfall einer Lichtquelle<br />

<strong>und</strong> indirekt einfallendem Licht, d. h. nach Reflexion(en) an<br />

oder Transmission(en) durch die eigene oder<br />

andere Oberflächen<br />

→ z. B. Ray-Tracing-Verfahren, Radiosity-Verfahren<br />

Globale Beleuchtungsverfahren benutzen oft<br />

lokale Reflexionsmodelle oder erweitern diese geeignet.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-48<br />

4-24


4.3 Beleuchtung <strong>und</strong> Schattierung<br />

shading model<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Gr<strong>und</strong>struktur in die ein Beleuchtungsmodell „eingebettet“ ist<br />

Ein Schattierungsmodell bestimmt, wann ein<br />

Beleuchtungsmodell angewendet wird, z. B.<br />

Auswertung eines Beleuchtungsmodells für jedes Pixel<br />

→ z. B. oft bei Ray-Tracing-Verfahren angewendet<br />

kontra<br />

Auswertung eines Beleuchtungsmodells für ausgewählte Pixel,<br />

Farben von „Zwischenpixel“ werden per Interpolation bestimmt<br />

→ interpolative shading techniques,<br />

z. B. flat shading, Gouraud shading, Phong shading<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-49<br />

4.3 Beleuchtung <strong>und</strong> Schattierung<br />

Gängige Praxis-Kombination:<br />

Weltkoordinaten<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Bildschirmkoordinaten<br />

local reflection model:<br />

berechnet die Lichtintensität an<br />

jedem Punkt P auf der Oberfläche<br />

eines Objektes<br />

interpolative shading algorithm:<br />

interpoliert Pixelintensitäten I<br />

aus berechneten Lichtintensitäten<br />

in den Polygonecken<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-50<br />

4-25


4.3 Beleuchtung <strong>und</strong> Schattierung<br />

Gängige Praxis-Kombination: (cont.)<br />

Gibt es hier kein Problem?<br />

- Beleuchtung (<strong>und</strong> Betrachtung)<br />

der Szene erfolgt in Weltkoordinaten<br />

- Interpolation zwischen<br />

Intensitätswerten erfolgt in Bildschirmkoordinaten<br />

- Projektionstransformationen sind i. d. R. nicht affin!<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Weltkoordinaten<br />

→ wir verwenden beim Interpolationsschema (z. B. linearer<br />

Interpolation) automatisch „falsche“ Teilverhältnisse in<br />

Bezug auf das Weltkoordinatensystem!<br />

Trotz mathematischer Inkorrektheit liefert diese Kombination<br />

schnelle <strong>und</strong> akzeptable visuelle Resultate!<br />

Bildschirmkoordinaten<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-51<br />

4.4 Lokale Beleuchtungsmodelle<br />

Geometriebetrachtung:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

„theta“<br />

„phi“<br />

P<br />

P Punkt auf Objektoberfläche<br />

N Flächennormalenvektor in P, normiert<br />

L Vektor von P zu einer Punktlichtquelle, normiert<br />

V Vektor von P zum Augpunkt (Viewing), normiert<br />

φ i , θ i (lokale) sphärische Koordinaten (von L <strong>und</strong> V)<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-52<br />

4-26


4.4 Lokale Beleuchtungsmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Wiederholung: Reflexionsgesetz, (perfekte) spiegelnde Reflexion<br />

R<br />

Vektor des reflektierten Strahls, normiert<br />

N<br />

L<br />

R θ θ R 2<br />

R 1<br />

Es gilt:<br />

R= R2 + R1<br />

L <strong>und</strong> R liegen in einer Ebene<br />

= R2 + R2 − L= 2⋅R2<br />

−L<br />

<strong>und</strong> θ = θ in = θ ref<br />

= 2( ⋅ LN i ) ⋅N−L<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-53<br />

4.4 Lokale Beleuchtungsmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Wir betrachten zunächst das am häufigsten verwendete<br />

lokale Beleuchtungsmodell von Phong (Bui-Thong), 1975<br />

Achtung: Es handelt sich um ein empirisches Modell ohne<br />

wirkliche physikalische Basis, aber guten praktischen<br />

Resultaten!<br />

Das Modell simuliert folgende physikalische Reflexionsphänomene:<br />

(a) perfekte/vollkommene spiegelnde Reflexion<br />

Ein Lichtstrahl wird ohne sich aufzustreuen, perfekt nach<br />

dem Reflexionsgesetz reflektiert.<br />

Oberfläche: idealer Spiegel, existiert in der Realität nicht<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-54<br />

4-27


4.4 Lokale Beleuchtungsmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-55<br />

4.4 Lokale Beleuchtungsmodelle<br />

Simulierte physikalische Reflexionsphänomene: (cont.)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

(b) unvollkommene spiegelnde Reflexion<br />

Der Lichtstrahl wird bei der Reflexion „aufgespalten“,<br />

es entsteht ein Reflexionskegel um die ausgezeichnete<br />

Reflexionsrichtung.<br />

Oberfläche: unvollkommener Spiegel, rauhe Oberfläche,<br />

ein Oberflächenelement ist mikroskopisch aus vielen kleinen<br />

perfekten Spiegeln mit leicht unterschiedlichen Ausrichtungen<br />

zusammengesetzt<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-56<br />

4-28


4.4 Lokale Beleuchtungsmodelle<br />

Simulierte physikalische Reflexionsphänomene: (cont.)<br />

(c) perfekte/vollkommene diffuse Reflexion<br />

Der Lichtstrahl wird bei der Reflexion perfekt gestreut,<br />

d. h. mit gleichmäßiger Intensität in alle Richtungen<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Oberfläche: ideale matte Oberfläche, existiert in der Realität<br />

nicht, annäherungsweise: feine Lage Puder<br />

Das Phong Beleuchtungsmodell sieht vor, dass<br />

das reflektierte Licht eines Oberflächenpunktes<br />

aus drei Anteilen besteht, die linear kombiniert werden:<br />

reflected light = diffuse component + specular component<br />

+ ambient light<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-57<br />

4.4 Lokale Beleuchtungsmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

ambient light: eine Hilfskonstruktion!<br />

Der ambiente Teil wird oft konstant gewählt <strong>und</strong> simuliert<br />

die globale bzw. die indirekte Beleuchtung! Dies ist notwendig,<br />

da einige Objekte die Lichtquelle(n) nicht sehen <strong>und</strong> somit<br />

in dem Modell schwarz dargestellt würden. In der Realität<br />

werden solche Objekte aber indirekt beleuchtet.<br />

Hier wird durch das simple Addieren einer Konstante<br />

eine sehr komplexe globale Beleuchtungsberechnung ersetzt.<br />

Welchen Typ von Oberflächen beschreibt nun das Modell?<br />

Die lineare Kombination von diffuser <strong>und</strong> spiegelnder Reflexion<br />

entspricht zum Beispiel der Physik polierter Oberflächen,<br />

z. B. poliertem Holz (transparente Schicht: spiegelnd, Oberfläche: diffus)<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-58<br />

4-29


4.4 Lokale Beleuchtungsmodelle<br />

Polierte Oberflächen:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-59<br />

4.4 Lokale Beleuchtungsmodelle<br />

Das mathematische Modell: (ohne Farbe)<br />

I = kd ⋅ Id + ks⋅ Is + ka⋅Ia<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Die Physik der Oberfläche wird über die Verhältnisse der<br />

einzelnen Komponenten modelliert. Für diese Konstanten gilt:<br />

kd + ks + ka<br />

= 1<br />

- Diffuse Reflexion, der Term k ⋅ I :<br />

I = I ⋅cosθ<br />

d<br />

i<br />

mit<br />

I i Intensität des einfallenden Lichts<br />

θ Winkel zwischen Punktnormale N <strong>und</strong> Lichtvektor L<br />

d<br />

d<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-60<br />

4-30


4.4 Lokale Beleuchtungsmodelle<br />

- Diffuse Reflexion: (cont.)<br />

also<br />

I = I ⋅( LiN)<br />

d<br />

i<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Die diffuse Komponente des<br />

Phong-Modells modelliert<br />

das Kosinusgesetz von Lambert:<br />

Bei ideal diffusen (matten)<br />

Oberflächen ist die Intensität des<br />

(in alle Richtungen gleich) reflektierten<br />

Lichtes eine Funktion des Kosinus<br />

zwischen Oberflächennormale<br />

<strong>und</strong> Lichtvektor.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-61<br />

4.4 Lokale Beleuchtungsmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

- Spiegelnde Reflexion, der Term ks<br />

⋅ Is<br />

:<br />

Physikalisch gesehen besteht die spiegelnde Reflexion<br />

aus einem Abbild der Lichtquelle, das über einen Teil<br />

der Oberfläche „geschmiert“ ist - üblicherweise als<br />

Highlight bezeichnet.<br />

Ein Highlight kann vom Betrachter nur gesehen werden,<br />

wenn seine Betrachtungsrichtung (V) nahe der<br />

Reflexionsrichtung (R) liegt. Dies wird simuliert durch:<br />

n<br />

Is<br />

= Ii⋅cos ( Ω)<br />

mit<br />

Ω Winkel zwischen V <strong>und</strong> R<br />

n simuliert Perfektionsgrad der Oberfläche<br />

(n→∞ heißt perfekter Spiegel, d. h. reflektiertes Licht<br />

nur in Richtung R)<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-62<br />

4-31


4.4 Lokale Beleuchtungsmodelle<br />

- Spiegelnde Reflexion: (cont.)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

n<br />

also I = I ⋅cos ( Ω)<br />

s<br />

i<br />

n=1<br />

1<br />

0,8<br />

0,6<br />

0,4<br />

0,2<br />

0<br />

1<br />

0,8<br />

0,6<br />

0,4<br />

0,2<br />

0<br />

n=5<br />

n=10<br />

n=50<br />

1<br />

0,8<br />

0,6<br />

0,4<br />

0,2<br />

0<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-63<br />

4.4 Lokale Beleuchtungsmodelle<br />

- Spiegelnde Reflexion: (cont.)<br />

also<br />

I = I ⋅( RiV)<br />

n<br />

s<br />

i<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Bemerkung:<br />

Für verschiedene L entsteht<br />

(bis auf die Ausrichtung um R)<br />

immer der gleiche Reflexions-<br />

Intensitätskegel.<br />

Dies entspricht nicht der realen<br />

Abhängigkeit von Spiegelungen<br />

von der Ausrichtung des Lichtvektors!<br />

Gravierender Mangel des Models!<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-64<br />

4-32


4.4 Lokale Beleuchtungsmodelle<br />

Das Gesamtmodell:<br />

I = k ⋅ I + k ⋅ I + k ⋅I<br />

d d s s a a<br />

n<br />

= I ⋅( k ⋅ ( LiN) + k ⋅ ( RiV) ) + k ⋅I<br />

i d s a a<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

im 2D-Schnitt:<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-65<br />

4.4 Lokale Beleuchtungsmodelle<br />

Beispiel:<br />

k a<br />

konstant<br />

zunehmendes k s<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

zunehmendes n<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-66<br />

4-33


4.4 Lokale Beleuchtungsmodelle<br />

Bemerkung:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Aus Geschwindigkeitsgründen stört im bisherigen mathematischen<br />

Modell die Berechnung des Reflexionsvektors R.<br />

Man definiert einen neuen Vektor H (halfway),<br />

mit der Richtung H=(L+V)/2,<br />

<strong>und</strong> betrachtet statt R·V jetzt N·H,<br />

das sich „auf die gleiche Art <strong>und</strong> Weise<br />

wie R·V verhält“.<br />

Damit ergibt sich:<br />

I = I ⋅( k ⋅ ( LiN) + k ⋅ ( NiH) n ) + k ⋅I<br />

i d s a a<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-67<br />

4.4 Lokale Beleuchtungsmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Das mathematische Modell: (mit Farbe)<br />

Für farbige Objekte (Lichtquellen) wird das Modell getrennt<br />

auf die Farbkomponenten I r , I g , I b angewendet:<br />

n<br />

Ir = Ii⋅( kdr ⋅ ( LiN) + ksr ⋅ ( NiH) ) + kar ⋅Ia<br />

n<br />

Ig = Ii⋅( kdg ⋅ ( LiN) + ksg ⋅ ( NiH) ) + kag ⋅Ia<br />

n<br />

I = I ⋅( k ⋅ ( LiN) + k ⋅ ( NiH)<br />

) + k ⋅I<br />

b i db sb ab a<br />

mit<br />

k dr , k dg , k db<br />

k sr , k sg , k sb<br />

k ar , k ag , k ab<br />

modellieren die Farbe des Objektes<br />

modellieren die Farbe der Lichtquelle<br />

(für weißes Licht ist k sr = k sg = k sb )<br />

modellieren die Farbe des Umgebungslichtes<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-68<br />

4-34


4.4 Lokale Beleuchtungsmodelle<br />

Bemerkungen:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

- Das Beleuchtungsmodell nach Phong ist kein Versuch,<br />

optische Gesetze physikalisch exakt zu modellieren.<br />

Das Modell ist empirisch!<br />

- Die lokale Beleuchtung ist schnell zu berechnen, die Bilder<br />

sind gut.<br />

- Außer der Normaleninformation werden keine weiteren<br />

Geometrie-Informationen verwendet!<br />

- Diffuser <strong>und</strong> spiegelnder Anteil werden lokal berechnet.<br />

- Die Farbe des spiegelnden Anteils wird durch die Farbe<br />

der Lichtquelle bestimmt (bzw. über die der Lichtquelle<br />

zugeordneten Konstanten k sr , k sg , k sb ).<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-69<br />

4.4 Lokale Beleuchtungsmodelle<br />

Bemerkungen: (cont.)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

- Gravierende Mängel des Modells:<br />

Die Intensität der spiegelnden Reflexion hängt<br />

nicht wirklich von der Ausrichtung des Lichtvektors ab!<br />

Objektoberflächen wirken „plastikhaft“,<br />

zum Beispiel lässt sich kein blankes Metall modellieren.<br />

→<br />

physikalisch basierte lokale Beleuchtungsmodelle,<br />

die versuchen die BRDF korrekt zu simulieren,<br />

z. B. Cook-Torrance oder Blinn (hauptsächlich für Metalle!)<br />

oder<br />

gänzlich andere Techniken, wie z. B. Mapping-Verfahren<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-70<br />

4-35


4.4 Lokale Beleuchtungsmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

BRDF (bi-directional reflection distribution function):<br />

Allgemein wird das von einem Punkt einer Oberfläche<br />

reflektierte Licht durch eine BRDF beschrieben.<br />

Die Bezeichnung betont insbesondere die Abhängigkeit<br />

des in einer beliebigen Richtung reflektierten Lichts von<br />

der Richtung des einfallenden Lichts.<br />

Sind die Richtungen von L <strong>und</strong> V gegeben,<br />

so wird der Zusammenhang zwischen<br />

den Intensitäten also durch eine<br />

BRDF = f ( θ , φ , θ , φ ) = f( L, V)<br />

beschrieben.<br />

in in ref ref<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-71<br />

4.4 Lokale Beleuchtungsmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

BRDF: (cont.)<br />

In der Praxis fällt natürlich an einem<br />

Oberflächenpunkt Licht von mehr<br />

als einer Richtung ein.<br />

Das gesamte resultierende reflektierte Licht muss dann<br />

mittels Integration über die Hemisphäre gewonnen werden.<br />

Fragestellungen:<br />

- Wie gewinnt man BRDFs?<br />

→ z. B. Messung, Modelle<br />

- In welcher Feinheit repräsentieren man BRDFs?<br />

→ Heuristiken falls keine geschlossene Form<br />

- Wie speichert <strong>und</strong> verarbeitet man effizient BRDFs?<br />

→ z. B. Matrizen<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-72<br />

4-36


4.4 Lokale Beleuchtungsmodelle<br />

BRDF: (cont.)<br />

Darstellung von (nach einem Modell von Blinn (1977))<br />

erzeugten BRDFs für zwei verschiedene Richtungen<br />

des einfallenden Lichtes:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-73<br />

4.4 Lokale Beleuchtungsmodelle<br />

Nachteile „rein“ lokaler Beleuchtungsmodelle:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

- spiegeln Idealfall eines einzelnen von einer einzigen<br />

Punktlichtquelle beleuchteten Objektes in der Szene wider<br />

- betrachten ausschließlich direkte Beleuchtung<br />

(bis auf Hilfskonstruktionen)<br />

- Interaktion mit anderen Objekten nicht modelliert<br />

(d. h. keine indirekte Beleuchtung, kein Schattenwurf!)<br />

→ globale Beleuchtungsverfahren<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-74<br />

4-37


4.5 Interpolative Schattierungstechniken<br />

Wie wird nun die Auswertung eines Beleuchtungsmodells<br />

bei einem Objekt zur Bestimmung der Lichtintensität<br />

auf dessen Oberfläche angewendet?<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Wir setzen im Folgenden eine polygonale<br />

Objektrepräsentation, also eine facettierte<br />

Darstellung, voraus.<br />

Weltkoordinaten<br />

Bildschirmkoordinaten<br />

Man beachte die Unterscheidung<br />

zwischen (dreidimensionalem)<br />

Objektraum <strong>und</strong> (zweidimensionalem)<br />

Bildraum!<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-75<br />

4.5 Interpolative Schattierungstechniken<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Flat Shading<br />

Pro Polygon / Facette wird das verwendete Beleuchtungsmodell<br />

genau einmal in einem ausgewählten Oberflächenpunkt<br />

ausgewertet. Die dort ermittelte Lichtintensität wird auch allen<br />

weiteren Punkten der Polygonoberfläche zugewiesen.<br />

Gr<strong>und</strong>lage der Berechnung ist die Polygonnormale oder Flächennormale<br />

((sur)face normal) im Objektraum.<br />

(hier z. B. N 1 , N 2 , N 3 , N 4 , ...)<br />

Als ausgewählte Punkte werden z. B. die<br />

Polygonschwerpunkte oder der Einfachheit<br />

wegen Polygoneckpunkte gewählt.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-76<br />

4-38


4.5 Interpolative Schattierungstechniken<br />

Flat Shading (cont.)<br />

- einfaches, kostengünstiges Verfahren,<br />

Interpolation findet nicht statt<br />

- Kanten in Polygonnetzen bleiben bei<br />

der Darstellung sichtbar,<br />

Objekte werden facettiert dargestellt,<br />

unstetiger Intensitätsverlauf<br />

über die Polygonkanten<br />

- „r<strong>und</strong>e“ Objekte nur durch extrem<br />

hohe Polygonanzahl, geht dies auch anders?<br />

- Anwendung für Voransicht,<br />

Entwurfsansicht, aber auch<br />

Mobile Computing <strong>und</strong> Visualization<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-77<br />

4.5 Interpolative Schattierungstechniken<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Gouraud and Phong Shading<br />

Beide Verfahren versuchen mittels Interpolation die Kanten<br />

zwischen einzelnen Polygonfacetten in Polygonnetzen<br />

zu glätten bzw. ganz zum Verschwinden zu bringen.<br />

(Bem.: Das Polygonnetz soll die Approximation einer<br />

gekrümmten Oberfläche darstellen)<br />

Gr<strong>und</strong>lage der Berechnung sind<br />

die Eckpunktnormalen (vertex normals)<br />

in den gemeinsamen Polygoneckpunkten.<br />

(hier z. B. N A<br />

, ...)<br />

Eine Eckpunktnormale entsteht aus (gewichteter) Mittelung der<br />

Polygonnormalen aller angrenzenden Polygone mit dem<br />

entsprechenden gemeinsamen Eckpunkt. (Normalisierung nicht vergessen!)<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-78<br />

4-39


4.5 Interpolative Schattierungstechniken<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Gouraud and Phong Shading (cont.)<br />

Beide Verfahren bedienen sich einer bilinearen Interpolation<br />

im Bildraum:<br />

Werte einer Größe im Innern (<strong>und</strong> auf dem Rand) eines Polygons<br />

werden aus den Werten der Größe in den Eckpunkten<br />

des Polygons (i. A. bezüglich des Objektraums ermittelt)<br />

mittels zweifacher linearer Interpolation<br />

P 1<br />

(x 1<br />

,y 1<br />

)<br />

im Bildraum bestimmt.<br />

Effiziente Implementierungen<br />

arbeiten Scanlineweise <strong>und</strong><br />

inkrementell.<br />

P 2<br />

(x 2<br />

,y 2<br />

)<br />

P a<br />

(x a<br />

,y s<br />

)<br />

P s<br />

(x s<br />

,y s<br />

)<br />

P 3<br />

(x 3<br />

,y 3<br />

)<br />

P b<br />

(x b<br />

,y s<br />

)<br />

P 4<br />

(x 4<br />

,y 4<br />

)<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-79<br />

4.5 Interpolative Schattierungstechniken<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Gouraud and Phong Shading (cont.), (bilineare Interpolation)<br />

0. Schritt: Werte W(P 1 ), W(P 2 ), W(P 3 ), W(P 4 ) bestimmen<br />

1. Schritt: Schnittpunkte Scanline-Polygonkanten<br />

P a , P b bestimmen<br />

2. Schritt: Werte W(P a ), W(P b ) bestimmen<br />

WP ( ) =<br />

1<br />

⋅( WP ( )( ⋅ y− y) + WP ( )( ⋅ y−y))<br />

y − y<br />

a 1 2 s 2 s 1<br />

2 1<br />

WP ( ) =<br />

1<br />

⋅( WP ( )( ⋅ y− y) ( )( ))<br />

b<br />

1 4 s + WP ⋅ y<br />

4 s−y<br />

y − y<br />

1<br />

4 1<br />

3. Schritt: Wert W(P s ) bestimmen<br />

1<br />

W( Ps ) = ⋅( W( Pa)( ⋅ xb<br />

− xs) + W( Pb)( ⋅ xs −xa))<br />

x − x<br />

b<br />

a<br />

P 2<br />

(x 2<br />

,y 2<br />

)<br />

P a<br />

(x a<br />

,y s<br />

)<br />

P s<br />

(x s<br />

,y s<br />

)<br />

P 1<br />

(x 1<br />

,y 1<br />

)<br />

P 3<br />

(x 3<br />

,y 3<br />

)<br />

P b<br />

(x b<br />

,y s<br />

)<br />

P 4<br />

(x 4<br />

,y 4<br />

)<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-80<br />

4-40


4.5 Interpolative Schattierungstechniken<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Gouraud Shading<br />

Die Auswertung des Beleuchtungsmodells erfolgt<br />

ausschließlich in den Polygoneckpunkten<br />

unter Ausnutzung der Eckpunktnormalen. Mittels Interpolation<br />

folgt die Berechnung der Intensitätswerte projizierter<br />

innerer Polygonpunkte.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-81<br />

4.5 Interpolative Schattierungstechniken<br />

Gouraud Shading (cont.)<br />

- Kanten in Polygonnetzen werden geglättet,<br />

der Intensitätsverlauf über die Polygonkanten<br />

ist stetig, aber nicht wirklich glatt<br />

→ Anfälligkeit des Verfahrens<br />

für Mach-Band-Effekte<br />

- Verfahren kann Highlights nicht angemessen<br />

darstellen: diese können nur entstehen, falls<br />

die Betrachtungsrichtung nahe der Reflexionsrichtung<br />

liegt; das Beleuchtungsmodell wird<br />

aber nur in den Eckpunkten ausgewertet<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-82<br />

4-41


4.5 Interpolative Schattierungstechniken<br />

Gouraud Shading (cont.)<br />

→ Highlights werden durch Abtastfehler<br />

„verschluckt“<br />

→ gängig: Kombination von Gouraud Shading<br />

<strong>und</strong> Beleuchtungsmodell mit ausschließlich<br />

diffuser Reflexionskomponente<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Bemerkung:<br />

Gouraud Shading wird als Standard-<br />

Schattierungsverfahren von heutiger<br />

Graphikhardware effizient umgesetzt.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-83<br />

4.5 Interpolative Schattierungstechniken<br />

Phong Shading<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Die Auswertung des Beleuchtungsmodells erfolgt<br />

für jeden projizierten Punkt der Polygonoberfläche.<br />

Die Oberflächennormalen in den einzelnen Polygonpunkten<br />

werden mittels Interpolation aus den Eckpunktnormalen<br />

ermittelt. (Normalisierung nicht vergessen!)<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-84<br />

4-42


4.5 Interpolative Schattierungstechniken<br />

Phong Shading (cont.)<br />

- Intensitätsverlauf über die Polygonkanten<br />

ist stetig <strong>und</strong> glatt; das Erscheinungsbild<br />

der realen, gekrümmten Oberfläche wird<br />

durch die Wahl der interpolierten Normalen<br />

gut angenähert<br />

- äußerst rechenaufwendiges Verfahren!<br />

- Highlights werden adäquat dargestellt<br />

Bemerkung:<br />

Phong Shading wird von heutiger<br />

high-end Graphikhardware unterstützt.<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-85<br />

4.5 Interpolative Schattierungstechniken<br />

Flat, Gouraud <strong>und</strong> Phong Shading im Vergleich<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-86<br />

4-43


4.5 Interpolative Schattierungstechniken<br />

Bemerkung:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Was muss beachtet werden, wenn bei der Anwendung von<br />

Gouraud oder Phong Shading Polygonkanten explizit als Kanten<br />

sichtbar bleiben sollen?<br />

→ von der räumlichen Position gemeinsame Polygoneckpunkte<br />

<strong>und</strong> –kanten müssen für die beteiligten Polygone explizit<br />

separat gespeichert werden<br />

→ enge Verknüpfung <strong>und</strong> Abhängigkeit zwischen der<br />

Schattierungstechnik <strong>und</strong> der Polygonalisierung bzw.<br />

der Triangulierungsmethode für das Objekt!<br />

(hier treten i. d. R. in der Praxis beim Datentransfer zwischen<br />

Visualisierungssystemen ungeahnte Schwierigkeiten auf!)<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-87<br />

4.5 Interpolative Schattierungstechniken<br />

Beispiel: Wireframe-Darstellung<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-88<br />

4-44


4.5 Interpolative Schattierungstechniken<br />

Beispiel: ausschließlich ambiente Beleuchtung<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-89<br />

4.5 Interpolative Schattierungstechniken<br />

Beispiel: Flat Shading<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-90<br />

4-45


4.5 Interpolative Schattierungstechniken<br />

Beispiel: Gouraud Shading (ambiente, diffuse Beleuchtung)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-91<br />

4.5 Interpolative Schattierungstechniken<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Beispiel: Gouraud Shading (ambiente, diffuse, spiegelnde Beleuchtung)<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-92<br />

4-46


4.5 Interpolative Schattierungstechniken<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Beispiel: Phong Shading (ambiente, diffuse, spiegelnde Beleuchtung)<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-93<br />

4.6 Das Auge isst mit...<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Bevor wahrgenommene visuelle Impulse vom zuständigen<br />

Teil im Gehirn verarbeitet werden, unterliegen die<br />

Intensitätsinformationen im Auge einer Art Vorverarbeitung.<br />

Wie reagieren nun die Lichtrezeptoren im Auge auf<br />

Unterschiede einfallender Lichtintensität?<br />

Lechners Gesetz<br />

Die Beziehung zwischen der ins Auge einfallenden Lichtintensität<br />

<strong>und</strong> der vom Auge wahrgenommenen Lichtintensität ist nicht<br />

linear, sondern annähernd logarithmisch.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-94<br />

4-47


4.6 Das Auge isst mit...<br />

Lechners Gesetz (cont.)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Folgerung:<br />

Kleine Helligkeitsunterschiede<br />

in dunklen Regionen sind<br />

besser wahrnehmbar als<br />

vom Betrag her identische<br />

Helligkeitsunterschiede<br />

in hellen Regionen.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-95<br />

4.6 Das Auge isst mit...<br />

Lechners Gesetz (cont.)<br />

Anwendung: Helligkeitsverläufe / Farbverläufe<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Intensitätssteigerung in äquidistanten<br />

Schritten von 12,5% bezogen auf die<br />

einfallende Intensität (von 0% bis 100%)<br />

→ Helligkeitssprung in dunkler Region<br />

ist deutlicher als gleiche Sprünge<br />

in heller Region<br />

→ große Unterschiede zwischen wahrgenommenen<br />

Intensitätssprüngen<br />

Intensitätssteigerung in äquidistanten<br />

Schritten bezogen auf die<br />

wahrgenommene Intensität<br />

→ Wahrnehmung nahezu<br />

äquidistanter Intensitätssprünge<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-96<br />

4-48


4.6 Das Auge isst mit...<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Mach Band-Effekt<br />

Die Interaktion der Lichtrezeptoren im Auge betont „scharfe“<br />

Intensitätsänderungen.<br />

Sobald das Auge bei der einfallenden Intensität solche<br />

Änderungen feststellt, addiert es zusätzlich Unterschwinger<br />

<strong>und</strong> Überschwinger zur wahrgenommenen Intensität, die<br />

den Übergang zusätzlich betonen.<br />

Dieser unbewußte Mechanismus der Kantenbetonung<br />

bei Intensitätsübergängen verhilft unserer visuellen Wahrnehmung<br />

zu einer automatischen Konturenschärfe.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-97<br />

4.6 Das Auge isst mit...<br />

Mach Band-Effekt (cont.)<br />

Beispiel:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-98<br />

4-49


4.6 Das Auge isst mit...<br />

Mach Band-Effekt (cont.)<br />

Beim <strong>Rendering</strong> ist die automatische Kantenbetonung bei<br />

Intensitätsänderungen störend <strong>und</strong> kann lediglich durch<br />

möglichst glatte Intensitätsübergänge reduziert werden.<br />

Flat Shading:<br />

unstetige Intensitätswechsel, sehr starke Mach Band-Effekte<br />

Gouraud Shading:<br />

stetige Intensitätswechsel, trotzdem abhängig von der<br />

Polygonalisierung starke Mach Band-Effekte<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Phong Shading:<br />

glatte Intensitätswechsel reduzieren Mach Band-Effekte erheblich<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-99<br />

4.6 Das Auge isst mit...<br />

Mach Band-Effekt (cont.)<br />

Entstehung von Mach Band-Effekten<br />

beim Gouraud Shading:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-100<br />

4-50


4.7 Globale Beleuchtungsmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Erinnerung:<br />

- Ein lokales Beleuchtungsmodell berücksichtigt nur das direkt<br />

einfallende Licht einer Lichtquelle<br />

- Nur lokale Beleuchtung + konstante ambiente<br />

Beleuchtung, um reflektiertes <strong>und</strong> gebrochenes Licht zu<br />

simulieren<br />

Besser: Globale Beleuchtung<br />

- sowohl das direkt einfallende Licht als auch reflektiertes <strong>und</strong><br />

gebrochenes Licht wird in dem zu schattierenden Punkt<br />

berücksichtigt<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-101<br />

4.7 Globale Beleuchtungsmodelle<br />

Zwei Ansätze:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

- Ray Tracing:<br />

- Ray Casting + Strahlverfolgung für reflektierte <strong>und</strong><br />

gebrochene Strahlen, Schattenberechnung<br />

- abhängig vom Augpunkt<br />

- Radiosity:<br />

- Trennung von Sichtbarkeitstests <strong>und</strong> Schattierung<br />

- Alle Interaktionen des Lichts mit den Objekten der Szene<br />

werden vorberechnet<br />

- unabhängig vom Augpunkt<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-102<br />

4-51


4.7 Globale Beleuchtungsmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Ray-Tracing: Funktionsprinzip<br />

- „backward ray-tracing“ (auch „Whitted ray tracing“):<br />

Da die meisten Lichtstrahlen das Auge nicht treffen, verfolgt<br />

man die Strahlen rückwärts vom Auge zur Fläche <strong>und</strong> dann<br />

zu den einzelnen Lichtquellen <strong>und</strong> weiteren Flächen.<br />

- Die Strahlen werden von jedem Pixel ausgehend zurück<br />

in die Szene verfolgt <strong>und</strong> bei jedem Schnittpunkt mit<br />

einem Objekt werden die direkten sowie die reflektierten<br />

<strong>und</strong> transmittierten Lichtanteile bestimmt.<br />

- Die auftretende Verzweigungsstruktur impliziert<br />

eine Baumstruktur!<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-103<br />

4.7 Globale Beleuchtungsmodelle<br />

Ray-Tracing:<br />

Rekursive Strahlverfolgung<br />

R 3<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

pixel<br />

opaque object<br />

surface normal<br />

initial ray<br />

R 1<br />

L 3<br />

light rays /<br />

L 1 shadow rays<br />

L 4<br />

T 4<br />

R 4<br />

T 1<br />

R 2<br />

light<br />

eye<br />

semi-transparent object<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-104<br />

4-52


4.7 Globale Beleuchtungsmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Ray-Tracing:<br />

Darstellung als Baum<br />

eye<br />

L 1<br />

L 4<br />

§4-106<br />

R<br />

T 1 1<br />

R 2 T 4<br />

R 4<br />

R 3<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-105<br />

4.7 Globale Beleuchtungsmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Ray-Tracing: Rekursive Strahlverfolgung<br />

Abbruch der rekursiven Strahlverfolgung, wenn<br />

- reflektierte <strong>und</strong> gebrochene Strahlen kein Objekt mehr<br />

schneiden oder<br />

- die Strahlenergie unter ein vorgegebenes Kriterium fällt oder<br />

- eine vorgegebene maximale Baumtiefe (Rekursionstiefe)<br />

erreicht ist oder<br />

- nicht mehr genügend Speicher zur Verfügung steht ☺<br />

Bemerkung:<br />

Der Rechenaufwand des Verfahrens hängt stark von der Komplexität<br />

<strong>und</strong> Beschaffenheit der betrachteten Szene ab!<br />

Erst Raumteilungsverfahren, wie die Octree-Technik, machen<br />

Ray-Tracing-Verfahren überhaupt praktikabel.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

4-53


4.7 Globale Beleuchtungsmodelle<br />

Ray-Tracing: Schatten<br />

- Verfolge einen Strahl von einem gef<strong>und</strong>enen<br />

Schnittpunkt zu allen Lichtquellen.<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

- Schneidet einer dieser Strahlen ein Objekt, dann liegt der<br />

Schnittpunkt im Schatten dieser Lichtquelle.<br />

- Den direkten Lichtstrahl zwischen<br />

einem Oberflächenpunkt <strong>und</strong><br />

einer Lichtquelle nennt man<br />

Schattenfühler (shadow ray,<br />

shadow feeler, light ray).<br />

L 2<br />

L1<br />

P 2<br />

,<br />

P 1<br />

,<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-107<br />

4.7 Globale Beleuchtungsmodelle<br />

Ray-Tracing: Historie<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-108<br />

4-54


4.7 Globale Beleuchtungsmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Ray-Tracing: Distributed Ray-Tracing<br />

In der Realität sind Spiegelungen nie ohne Schleier, denn kein<br />

Spiegel ist ganz eben <strong>und</strong> spiegelt zu 100%.<br />

Distribution Ray-Tracing ermöglicht die Erzeugung realistisch<br />

unscharfer Effekte beim Ray Tracing. Es wird nämlich nicht nur ein<br />

Strahl mit der Szene geschnitten, sondern auch andere Richtungen<br />

werden berücksichtigt <strong>und</strong> anschließend die Werte gemittelt.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-109<br />

4.7 Globale Beleuchtungsmodelle<br />

Ray-Tracing: Distributed Ray-Tracing<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

- Von vielen Strahlen gehen die meisten in die ausgezeichnete<br />

Reflexionsrichtung <strong>und</strong> einige brechen aus. Die Verteilung<br />

sieht dann „birnenförmig“ aus.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-110<br />

4-55


§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

4.7 Globale Beleuchtungsmodelle<br />

Ray-Tracing: Distributed Ray-Tracing<br />

- Ein ähnliches Bild ergibt sich auch bei der Strahlbrechung.<br />

- Durch stochastische Verteilung über die möglichen<br />

Reflexions- bzw. Brechungsrichtungen <strong>und</strong> Mittelwertbildung<br />

erhält man eine realistische Annäherung der Situation.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-111<br />

4.7 Globale Beleuchtungsmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Ray-Tracing: Distributed Ray-Tracing - Flächige Lichtquellen<br />

Eine zusätzliche Erhöhung der „Realistik“ ergibt sich, wenn man<br />

von der Annahme punktförmiger Lichtquellen abgeht. Um dies<br />

darstellen zu können, werden viele Strahlen in Richtung einer<br />

Lichtquelle gelegt.<br />

Mittels einer geeigneten stochastischen Verteilung der Strahlen<br />

lassen sich realistische Halbschatten erzeugen.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-112<br />

4-56


4.7 Globale Beleuchtungsmodelle<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Ray-Tracing: Distributed Ray-Tracing – Blendentechnik<br />

Photorealistische Bilder entstehen durch Simulation der Blendenöffnung<br />

der Kamera.<br />

Ein Punkt außerhalb der Schärfeebene wird verschwommen<br />

erscheinen. Man erreicht dies durch korrekte Berechnung der<br />

Linsenbrechung <strong>und</strong> stochastischer Verteilung der Strahlen über<br />

der Linsenoberfläche.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-113<br />

4.7 Globale Beleuchtungsmodelle<br />

Ray-Tracing: Adaptives Supersampling<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

adaptive supersampling begins<br />

at each pixel by tracing<br />

the four corner rays and<br />

the center ray<br />

Liegen die Werte pro Pixel zu sehr auseinander, so unterteile <strong>und</strong><br />

starte das Verfahren erneut.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-114<br />

4-57


§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

4.7 Globale Beleuchtungsmodelle<br />

Ray-Tracing: Stochastic Ray-Tracing<br />

Loslösung von der starren Unterteilung <strong>und</strong> stochastisches<br />

Vorgehen, z. B. beim Supersampling:<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-115<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

4.7 Globale Beleuchtungsmodelle<br />

Ray-Tracing – Eigenschaften<br />

+ Der physikalische Vorgang der Beleuchtung (Strahlengang)<br />

wird sehr gut simuliert<br />

+ hervorragend für Spiegelungen geeignet<br />

+ Das Sichtbarkeitsproblem wird automatisch gelöst<br />

+ große Wirklichkeitsnähe<br />

- nicht wirklich für diffuse Reflektion geeignet<br />

- erzeugt „harte“ Bilder<br />

- sehr großer Rechenaufwand<br />

- Schnittpunktberechnung sehr aufwendig<br />

- Anfälligkeit für numerische Probleme<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-116<br />

4-58


§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

4.7 Globale Beleuchtungsmodelle<br />

Radiosity<br />

- Berücksichtigt die Ausbreitung des Lichts unter Beachtung des<br />

Energiegleichgewichts in einem geschlossenen System<br />

- Für jede Fläche wird die ausgesandte oder reflektierte<br />

Lichtmenge bei allen anderen Flächen berücksichtigt<br />

- Zur Berechnung der auf eine Fläche einfallenden Lichtmenge<br />

werden benötigt:<br />

- die vollständigen geometrischen Informationen über die<br />

gegenseitige Lage aller strahlenden, reflektierenden <strong>und</strong><br />

transparenten Objekte<br />

- die lichttechnischen Kenngrößen aller Körper<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-117<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

4.7 Globale Beleuchtungsmodelle<br />

Radiosity<br />

Durch diffuse Objekt-zu-Objekt-Reflexionen entsteht ein stark<br />

unterschiedlicher Lichteinfall des indirekten Lichts. Dies ist speziell<br />

für die Innenarchitekturbilder von Bedeutung. Physikalisch exakt<br />

werden diese Beziehungen durch eine Integralgleichung des<br />

folgenden Typs beschrieben:<br />

Radiosity<br />

=<br />

∫∫<br />

( φ, φ2 ) dφ,<br />

φ2<br />

R = E + w H d<br />

Die Szene wird nun zunächst einmal in Patches gleicher Intensität<br />

diskretisiert. (d.h. Flächenstücke, auf denen R gleich ist)<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-118<br />

4-59


§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

4.7 Globale Beleuchtungsmodelle<br />

Radiosity<br />

Das Energiegleichgewicht für die Fläche A i wird beschrieben durch:<br />

R i = E i + w i ∑ n J=1 R J F iJ , 1


4.7 Globale Beleuchtungsmodelle<br />

Radiosity: Darstellung einer Szene<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

1. Berechnung der Strahlungswerte R i für alle Flächen A i<br />

2. Abbildung der Szene <strong>und</strong> Bestimmung der sichtbaren Teile<br />

3. Berechnung der Farbe für jedes Pixel<br />

Bemerkungen:<br />

- Für verschiedene Ansichten müssen nur der 2. <strong>und</strong> der 3.<br />

Schritt wiederholt werden<br />

- Schritt 3 kann durch lineare Interpolation entlang der Scanline<br />

beschleunigt werden<br />

- Für Schritt 1 müssen vor der Lösung des Gleichungssystems<br />

die Formfaktoren F ij berechnet werden!<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-121<br />

4.7 Globale Beleuchtungsmodelle<br />

Radiosity: Berechnung der Formfaktoren<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Der Formfaktor zwischen einem differentiellen Flächenstück dA i<br />

<strong>und</strong> dA j der Patches A i <strong>und</strong> A j ergibt sich zu:<br />

dF<br />

cosθ<br />

cosθ<br />

=<br />

b dA<br />

π r<br />

i j<br />

didj 2 ij j<br />

b ij : Blockierungsfunktion<br />

(1: dA j sichtbar von dA i , 0 sonst)<br />

Der Formfaktor von A i zu A j ergibt sich aus:<br />

F<br />

1<br />

= ∫∫<br />

cosθ<br />

cosθ<br />

bdAdA<br />

i j<br />

ij 2 ij j i<br />

Ai π r<br />

Ai<br />

Aj<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-122<br />

4-61


4.7 Globale Beleuchtungsmodelle<br />

Radiosity: Berechnung der Formfaktoren<br />

Analytische <strong>und</strong> approximative Berechnungsmethoden:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Hemisphere, Nusselt ´81 Hemicube, Cohen ´85<br />

Der Formfaktor FiJ gibt an,<br />

welcher Anteil der über<br />

dem i-ten Patch liegenden<br />

Hemisphäre vom j-ten<br />

Patch bedeckt wird.<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-123<br />

4.7 Globale Beleuchtungsmodelle<br />

Radiosity: Substructuring<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Bemerkung:<br />

Je feiner die Patch-Aufteilung der Szene (n Stück) ist, desto besser<br />

sind die Ergebnisse. Allerdings steigen Anzahl der Formfaktoren<br />

mit n 2 <strong>und</strong> die Größe des Gleichungssystems mit n.<br />

Zusätzlich gilt der Übergang von der Integralgleichung zum<br />

linearen Radiosity-Gleichungssystem nur für konstante Radiosity<br />

pro Patch => Patch-Unterteilung notwendig falls Gradient zu hoch!<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-124<br />

4-62


4.8 <strong>Rendering</strong>-Pipelines<br />

Genereller Aufbau:<br />

front-end<br />

(geometry<br />

processing)<br />

back-end<br />

(rasterization)<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

Display<br />

traversal<br />

Modeling<br />

transformation<br />

Viewing<br />

operation<br />

visible-surface determination<br />

scan conversion<br />

shading<br />

image<br />

scene model /<br />

scene graph<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-125<br />

4.8 <strong>Rendering</strong>-Pipelines<br />

Beispiel: Lokales Beleuchtungsmodell<br />

hier:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

db<br />

traversal<br />

modeling<br />

transformation<br />

display<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-126<br />

4-63


4.8 <strong>Rendering</strong>-Pipelines<br />

Beispiel: Lokales Beleuchtungsmodell<br />

hier:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

db<br />

traversal<br />

modeling<br />

transformation<br />

trivial<br />

accept / reject<br />

display<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-127<br />

4.8 <strong>Rendering</strong>-Pipelines<br />

Beispiel: Globales Beleuchtungsmodell<br />

hier:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

db<br />

traversal<br />

modeling<br />

transformation<br />

trivial<br />

accept / reject<br />

viewing<br />

transformation<br />

clipping<br />

rasterization<br />

display<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-128<br />

4-64


4.8 <strong>Rendering</strong>-Pipelines<br />

Beispiel: Globales Beleuchtungsmodell<br />

hier:<br />

§4 <strong>Rendering</strong> <strong>und</strong> Visibilität<br />

db traversal<br />

modeling<br />

transformation<br />

display<br />

Computergrafik, Visualisierung & CAD-Technologie - SS 2004<br />

AG Graphische Datenverarbeitung <strong>und</strong> Computergeometrie<br />

§4-129<br />

4-65

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!