Kapitel 4 - Rendering und Visibilität - ICSY
Kapitel 4 - Rendering und Visibilität - ICSY
Kapitel 4 - Rendering und Visibilität - ICSY
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