Beruflich Dokumente
Kultur Dokumente
Grundlagen
2
Lokale Koordinaten Kamerakoordinaten (Normalisierte)
Modellierung Entfernen Bildschirm-
der Geometrie verdeckter koordinaten
einzelner Objekte Rückseiten
Transformation in Kamerakoordinaten
Rastertransformation
lokal → Welt Viewing-Transformation
Rasterung
Plazierung der
Projektion
Objekte
Normalisierte
Projektionskoordinaten Rasterkoordinaten
Weltkoordinaten
Plazierung der Clipping gegen Shading
Lichtquellen Sichtkörper
Entfernen
Plazierung der Entfernen verdeckter
Kamera verdeckter Modellteile
Modellteile
Beleuchtungs-
berechnung
3
1. Beleuchtungsmodelle
Physikalische Effekte
– Oberflächen senden Licht aus oder reflektieren es (oder beides).
Teile des Lichtes werden absorbiert; andere Teile (ungerichtet)
gestreut.
– Lichtintensität und Farbe an einem Punkt der Szene hängt von seiner
Lage zu den Lichtquellen ab.
– Licht wird oft mehrfach reflektiert/gebrochen und an einem Punkt
„addiert“ sich die Lichtintensität, die auf verschiedenen (langen)
Wegen an diesem Punkt angekommen ist.
Mathematische Beschreibung
– führt zu einer Integralgleichung – der Renderinggleichung.
– Diese ist i.a. nicht lösbar. CG: Annäherungen, die nur bestimmte
Arten von Lichtquellen und Oberflächentypen berücksichtigt.
4
1. Beleuchtungsmodelle
5
1. Beleuchtungsmodelle
6
2. Lichtquellen
7
2. Lichtquellen
8
2. Lichtquellen
2.1. Punktförmige und flächenhafte Lichtquellen
Abschwächung (attenuation)
– Intensität des Lichtes wird mit wachsender Entfernung zur
Lichtquelle kleiner (physikalisch: I ~ 1/d²)
– In der CG hat sich eine geringere Abschwächung
(I ~ 1/(a+bd+cd²)) als günstig erwiesen. a, b und c müssen
geeignet gewählt werden. Oft: a=0, b =1, c=0)
– OpenGL: GL_CONSTANT_ATTENUATION,
GL_LINEAR_ATTENUATION
Farbe
– Lichtquellen haben eine Farbe. Diese wird als RGB-Tripel
angegeben.
– Verhalten der Lichtstrahlen hängt von der Wellenlänge ab.
– Annäherung: betrachten nur R-, G- und B-Anteile.
10
3. Interaktion Licht – Oberflächen
Einfallswinkel θ: N
Winkel zwischen L und N R
θ
(bestimmt die diffuse Reflexion) L
Reflexionswinkel r: V
Winkel zwischen R und N.
Winkel Φ zwischen V und R L-Vektor zur Lichtquelle
bestimmt Intensität des N-Oberflächennormale
R-Reflektierter Lichtstrahl
reflektierten Lichtes. V-Vektor zum Betrachter
11
3. Interaktion Licht – Oberflächen
Gerichtete Reflexion:
– Licht wird nur für kleine Winkel Φ reflektiert. Stärkste
Reflexion für Φ=0
– Bei einem perfekten Spiegel tritt nur gerichtete Reflexion auf und nur für Φ = 0.
Diffuse Reflexion:
– Licht wird in alle Richtungen reflektiert (Intensität hängt nur
von θ und nicht von der Position des Betrachters ab).
– Tritt bei sehr rauhen bzw. matten Materialien auf. Beispiel: Kreide.
– Perfekt diffuse Reflexion: Licht wird gleich stark in alle Richtungen reflektiert.
Brechung:
– Licht wird an transparenten Oberflächen gebrochen. Richtung
des gebrochenen Strahls ergibt sich aus Brechzahl und dem
Brechungsgesetz.
12
3. Interaktion Licht – Oberflächen 3.1.
Gerichtete Reflexion
Lichtintensität in
e=1
Abhängigkeit von Φ für
verschiedene Werte von e
e=2
e=5
14
3. Interaktion Licht – Oberflächen
3.2. Diffuse Reflexion
Intensität ist abhängig vom Winkel θ zwischen einfallendem Licht (L) und
Oberflächennormale (N)
Abhängigkeit wird nach Lambert‘s Gesetz durch cosinus-Funktion
beschrieben.
Bei normalisierten Vektoren L und N gilt: cos θ = L * N
Eigenschaften:
θ = 0 → Intensität maximal (entspricht Sonne im Zenit)
θ = 90°→ Intensität 0 (entspricht Sonnenaufgang)
15
3. Interaktion Licht – Oberflächen
3.3. Lichtbrechung
18
4. Beleuchtungsmodell nach Phong
19
4. Beleuchtungsmodell nach Phong
4.1. Ambiente Beleuchtung
20
4. Beleuchtungsmodell nach Phong
4.1. Ambiente Beleuchtung
einfachstes Beleuchtungsmodell
jedes Objekt strahlt selber eine
gewisse „Lichtmenge“ aus
keine zusätzlichen Lichtquellen benötigt
keine Relation zu physikalischen Vorgängen
aber:
– benötigt als Teil in komplexeren Modellen
– Simulation des durch fortgesetzte Reflexion auf ein Objekt
einfallenden Lichtes
21
4. Beleuchtungsmodell nach Phong
4.2. Diffuse Reflexion
22
4. Beleuchtungsmodell nach Phong
4.3. Spekulare Reflexion
23
4. Beleuchtungsmodell nach Phong
ka +kd + ks = 1
IPhong = Laka +1/(a+bd+cd²)(Likd(L·N) + Liks(R·V)e)
θ N
R
L
Ambienter Term modelliert
Licht, dass von anderen V
Oberflächen gestreut wird
25
4. Beleuchtungsmodell nach Phong
26
4. Beleuchtungsmodell nach Phong
27
5. Shading polygonaler 3D-Modelle
28
5. Shading polygonaler 3D-Modelle
5.1. Flat-Shading
Keine Interpolation
Bestimme einen Farbwert pro Polygon
– Variante 1: Mittelwert aus den Farbwerten an den Eckpunkten
– Variante 2: durch Auswahl eines Punktes und Berechnen der
Farbe dort
Setze alle Pixel des Polygons auf diese Farbe
Einzelne Polygone
deutlich sichtbar
Einfache Implementierung,
sehr schnell, aber geringe
Qualität
29
5. Shading polygonaler 3D-Modelle
5.1. Flat-Shading
30
5. Shading polygonaler 3D-Modelle
5.2. Gouraud-Shading
31
5. Shading polygonaler 3D-Modelle
5.2. Gouraud-Shading
32
5. Shading polygonaler 3D-Modelle
5.3. Phong-Shading
33
5. Shading polygonaler 3D-Modelle
5.4. Vergleich
34
5. Shading polygonaler 3D-Modelle
5.4. Vergleich
N I2 N 2 I2 N 2
N3 N3
I N1 N1
I3 I3
I1 I1
Ein Helligkeitswert für das gesamte Bestimme Helligkeit an den Bestimme Normalen an den
Polygon. Anwendung: Entwurfs- Eckpunkten. Interpoliere im Inneren. Eckpunkten und interpoliere sie im
ansichten in CAD- und Inneren. Bestimme Helligkeit mit Hilfe
Modellierungsprogrammen. der interpolierten Normalen.
35
6. Realisierung in OpenGL
36
6. Realisierung in OpenGL
37
6. Realisierung in OpenGL
Material rar, rag, rab rdr, rdg, rdb rsr, rsg, rsb n
Plastik 0.00, 0.00, 0.00 0.01, 0.01, 0.01 0.50, 0.50, 0.50 32
Messing 0.33, 0.22, 0.03 0.78, 0.57, 0.11 0.99, 0.94, 0.81 28
Bronze 0.21, 0.13, 0.05 0.71, 0.43, 0.18 0.39, 0.27, 0.17 26
Kupfer 0.19, 0.07, 0.02 0.70, 0.27, 0.08 0.26, 0.14, 0.09 13
Gold 0.25, 0.20, 0.07 0.75, 0.61, 0.23 0.63, 0.56, 0.37 51
Silber 0.19, 0.19, 0.19 0.51, 0.51, 0.51 0.51, 0.51, 0.51 51
39
6. Realisierung in OpenGL
40
Courtesy of Maic Masuch
41
Courtesy of Oliver Deussen.
42
Courtesy of Oliver Deussen.
43
7. Globale Beleuchtungsmodelle
bisher:
– Helligkeit an einer Stelle eines Objektes war abhängig von dem
direkt einfallenden Licht an dieser Stelle und den
Materialeigenschaften – lokale Beleuchtungsmodelle
– in der Realität aber wesentlich komplexere Interaktion zwischen
Objektoberflächen und Licht
• indirekte Beleuchtung
• mehrfache Reflexion
• Brechung, Transmission
– Simulation durch Globale Beleuchtungsmodelle
• Raytracing
• Radiosity
44
7. Globale Beleuchtungsmodelle
7.1. Raytracing
Ablauf:
– schicke einen Strahl vom Betrachterstandpunkt durch jedes Pixel der Bildebene
– bestimme den Schnittpunkt des Strahls mit einem Objekt der Szene
– bestimme an diesem Schnitt-
punkt den Beitrag des lokalen
Beleuchtungsmodells (Phong)
– berechne Strahl in Reflexions-
richtung und evtl. in
Brechungsrichtung
– Berechne den Beitrag von
Reflexion und Brechung rekursiv
durch Verfolgen dieser beiden
Strahlen
– Beleuchtung am Schnittpunkt
(und damit Farbe des Pixels)
ergibt sich aus gewichteter
Summe dieser drei Beiträge
45
7. Globale Beleuchtungsmodelle
7.1. Raytracing
Prinzip:
46
7. Globale Beleuchtungsmodelle
7.1. Raytracing
Vorteile
– Hidden Surface Removal bereits „eingebaut“
– Schattenberechnung bereits „eingebaut“
– exakte Simulation spekularer Reflexion
• Spiegelung
• Brechung
Nachteile
– zeitaufwendig, insbesondere Schnittests (Welches Objekt wurde
getroffen?)
– keine Modellierung diffuser oder gemischt diffuser/spekularer
Reflexion
47
Alan Watt: 3D-Computergrafik http://freespace.virgin.net/hugo.elias/
48
7. Globale Beleuchtungsmodelle
7.2. Radiosity
Grundlage: Energieerhaltungssatz
Finite Elemente Verfahren, daher Unterteilen der Szene in
„Elemente“
im Prinzip: Berechnung des Anteils an Licht, das ausgehend von
einem Element ein anderes trifft
– nur diffuse Reflexion betrachtet
– Anteil des Lichts dann nur abhängig von Geometrie – aufwendig zu
berechnen
Algorithmus
– starte mit den Elementen, die
Licht aussenden (Lichtquellen)
– sende von diesen Licht in die Szene
– berechne für alle anderen Elemente
ankommende Lichtmenge
– iteriere bis Energiegleichgewicht
49
7. Globale Beleuchtungsmodelle
7.2. Radiosity
Vorteile
– exakte physikalische Simulation der Energieverteilung – diffuse
Reflexion
– weiche Schatten
– Berechnungen unabhängig vom Betrachterstandpunkt
Nachteile
– nur diffuse Reflexion, Spekulare Effekte sehr aufwendig
– Präprozessing notwendig (Unterteilung der Szene)
– zeitaufwendig, insbesondere Sichtbarkeitsberechnung
(Formfaktoren)
50
Alan Watt: 3D-Computergrafik
51
7. Globale Beleuchtungsmodelle
7.3. Die Rendering-Gleichung
52
8. Zusammenfassung
53