Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
1
Hier wird Wissen Wirklichkeit
Graphische Datenverarbeitung
Beleuchtungsrechnung
Prof. Dr. Detlef KrömkerProfessur für Graphische DatenverarbeitungInstitut für InformatikFachbereich Informatik und Mathematik (12)
Prof. Dr. Detlef KrömkerInstitut für Informatik
2 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Rückblick: Rendering Pipeline
Model and ViewTransformation
Beleuchtungs-rechnung für Vertices
Rastern(Scan Konvertierung)
Klipping
Projektion
Screen Mapping
Beleuchtungs-rechnung für Pixel
Noch offen:
Beleuchtungsrechnung
im Graphikprozessor (GPU)
„vertex shader“
im Graphikprozessor (GPU)„pixel shader“
im Graphikprozessor (GPU), ab 2006
unified shader („streaming processor“)
ab NVIDIA-GeForce-8-Serie und ATI-Radeon-HD-2000-Serie
„geometry shader“
Prof. Dr. Detlef KrömkerInstitut für Informatik
3 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Identifikation der Grundprobleme
(Problem 1) Interaktion von Licht und Materie (streng: lighting): Berechnung der Helligkeit/Farbe von Bildpunkten (Polygonen, Vertices, Pixel) lighting
(Problem 2) für polygonale Modelle: „geometrische“ (= visuelle) Glättung der facettenartigen Geometrie ( shading)
flat shading Gouraud shading
Anmerkung: Es gibt Alterna-tiven zum Gouraud shading, das Phong shadingaber ein Grundproblem bleibt:polygonale Silhouetten.
2
Prof. Dr. Detlef KrömkerInstitut für Informatik
4 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Die Begriffe shading und lighting“
1. Beides Verfahren und Algorithmen, die den Farbwert eines Pixels berechnen.
2. Zum Begriff „shading“ (engl.) – umgangssprachlich: Abschattierung, Abschattung, Dunkeltönung, Nuancieren von Farben, Schattierung, Schraffierung, Schummerung (nach: www.leo.org)
3. „Shading“ in der Fachsprache: streng nur Bedeutung (2.), aber im lässigen „Jargon“ oft auch die Vereinigung von (1.) und (2.), besonders in Zusammensetzungen: shading language, shading processor (shader), etc.
4. Ist partiell auch begründet aus der Pionierzeit: Sowohl Gouraud als auch Phong haben zusammengefasst Lösungen für beide Probleme angegeben.
Prof. Dr. Detlef KrömkerInstitut für Informatik
5 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Realisierung des Shadings‣ Shading Algorithmen waren bis etwa 2000 für Realtime-Graphik fest in Hardware implementiert (nur parametrisierbar), dann kamen Shading
Languages auf: zunächst „Assembler-Niveau“‣ Heute „high level“ programmierbar: Z.B. hat Open GL seit Version 2.0 eine eigene C-ähnliche Shader-Sprache integriert (OpenGL Shading Language, kurz GLSL), Alternativen: DirectX 9.0 oder 10.0 Shader Model V 4.0 (Microsoft) oder (Cg von nvidia / Microsoft (2002) hat es schwer)‣ In Software fürs high-end Rendering: Renderman Shading Language (ab 1988, heute Quasi-Standard), aber viele Varianten, je nach Implementierung.
Prof. Dr. Detlef KrömkerInstitut für Informatik
6 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Beleuchtungsrechnung (lighting)‣ Interaktion von Licht und Materie bestimmt durch die optischen Eigenschaften des Materials, dessen Struktur, Aufbau und Bearbeitung der Oberfläche das Aussehen der Objekte‣ sehr vielfältig und komplex !!! ‣ und trägt entscheidend zur realistischen Wirkung eines Bildes bei‣ Ziele: Realitätsnahe Bilder ... wichtig auch zur korrekten Objekterkennung und Orientierung in Szenen, z.B. „Shape from Shading“; Schatten, etc.das alles mit „akzeptablen Rechenaufwand“
3
Prof. Dr. Detlef KrömkerInstitut für Informatik
7 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Beispiele
Nur diffuseReflektion
Multiple Lightsources
Texturiert &Reflection Mapping
Prof. Dr. Detlef KrömkerInstitut für Informatik
8 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
aber, nicht nur so1994
Beispiele aus der
Quelle: http://www.irtc.org/
viele weitere Beispiele in separatem Foliensatz: Ray-Tracing Beispiele 1994 – 2006
Prof. Dr. Detlef KrömkerInstitut für Informatik
9 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
sondern auch so2004 - 2006
4
Prof. Dr. Detlef KrömkerInstitut für Informatik
10 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
... das ist auch unser Motto
„If it looks like computer graphics, it
is not good computer graphics.“Jeremy Birn
aber dafür müssen wir uns noch
einiges anschauen und vieles lernen!
Prof. Dr. Detlef KrömkerInstitut für Informatik
11 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Beleuchtungsrechnunglighting‣ Physik: Geometrische Optik – Wellenoptik – Quantenoptik – sehr viele
Phänomene:Reflektion, Transmission, Absorption, Diffraktion (Beugung), Refraktion
(Brechung), Dispersion, Interferenz, Polarisation, ...‣ In der CG wurde und wird ein beachtlicher Aufwand in die Modellierung und Simulation dieser Effekte (insbesondere der Reflektion) investiert ‣ Muss noch behandelt werden: FARBE und Farbentstehung sowie Farbwahrnehmung ... es reicht i.d.R in RGB zu rechnen!
Prof. Dr. Detlef KrömkerInstitut für Informatik
12 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Übersicht
1. Einige grundsätzliche Überlegungen‣ Identifikation von 4 Problemen und deren Schwierigkeit
2. Prinzipien der Materie-Licht-Interaktion
3. Aufwandsarme Approximationen für ‣ „Einfache“ Lichtquellen in der CG‣ Lokale Beleuchtungsmodelle
4. Das Shading (visuelle Glättung polygonaler Modelle)
5. Zusammenwirken in der Pipeline - Zusammenfassung
6. Weitere Informationen
5
Prof. Dr. Detlef KrömkerInstitut für Informatik
13 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Wie schwierig (aufwendig) ist das Problem BeleuchtungsrechnungProblem 1: Interaktion von Licht und Materie
viel und teilweise schwierige Physik, BRDF,…
Problem 2: Aussehen eines Objektes hängt von der Beleuchtung und den Betrachtungsbedingungen (insbesondere der Betrachtungsrichtung) ab Geometrie (insbesondere die Position und Richtung (Normale)) der Objektoberflächen und der Lichtquellen berechnen: gelingt mit den bekannten Verfahren
Problem 3: Beleuchtung kann erfolgen durch Lichtquellen oder auch andere Objekte, die Licht reflektieren: Spiegel, helle Flächen
Problem 4: Polygonale Modelle wirken kantig (facettiert)also unecht müssen visuell geglättet werden Shading
Problem 5: Objekte können durch andere Objektebeschattet werden; Nebel, Dunst und andere athmosphärische Effekte
sehr schwierig
relativ leicht
relativ leicht
schwierig … sehr schwierig
mittel schwierig
Prof. Dr. Detlef KrömkerInstitut für Informatik
14 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Problem 1Interaktion von Licht und Materie
Licht ist ein schwieriges Thema: elektromagnetische Strahlung StrahlungsphysikPartikel geometrischen Optik (noch einfach, aber nicht trivial)Wellen Wellenoptik (selten nötig)Quanten in der CG nicht benutzt
Material ist vielfältig und verschiedenhomogen – inhomogenamorph – kristallinleitend – isolierend fest – flüssig – gasförmigkann Licht absorbieren, reflektieren, brechen, beugen, polarisieren, isotrop – anisotrop (Eigenschaften richtungsabhängig)ist immer ein Volumen aber wir beschreiben meist Oberflächen (boundaries)
zusammen sehr schwierig und potentiell auch sehr rechenaufwendig wir benötigen viele Vereinfachungen ( Fehler: welche? – wann tolerierbar?)
Prof. Dr. Detlef KrömkerInstitut für Informatik
15 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Licht
ist elektromagnetische Strahlung im Bereich 360 – 830 nm Wellenlänge
Größen der Strahlungsphysik und
Zwei für uns bedeutende duale Modelle‣ Partikelmodell geradlinige Ausbreitung geometrischen Optik‣ Wellenmodell (nur wo nötig, insbesondere zum Verstehen der Phänomene: z.B. Farbe, Interferenz, Polarisation
6
Prof. Dr. Detlef KrömkerInstitut für Informatik
16 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
BRDFBidirectional Reflectance Distribution Function
Ist eine Funktion f, die beschreibt, wie Licht von einem Oberflächenpunkt einer Fläche reflektiert wird und zwar in Abhängigkeit von den gezeigten Winkeln und der Wellenlänge (wir arbeiten i.d.R. nur mit RGB)
Somit beschreibt sie die Materialeigenschaften einer Objekt-Oberfläche
Gibt die Wahrscheinlichkeit an, mit der ein eingehendes Photon in eine bestimmte Richtung emittiert wird.
[ ][ ]
iiiiiiooooo
iii
oooiioo
dLfL
W/mungstärke n Bestrahleingehende
srW/mhte Leuchtdicausgehende
E
Lf
ωθφθφθφθλφθλ
φθλ
φθλφθφθλ
cos),(),,,,(),,(
),,(
),,(),,,,(
2
2
⋅=
==
∫∫Ω
Prof. Dr. Detlef KrömkerInstitut für Informatik
17 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Nicht einmal das reicht für alle Materialien aus
Subsurface Scattering(Mamor, Blätter, Milch,
Haut, usw.)
BRDF BSSRDFSub-Surface
nach Henrik Wann Jensen et.al.
Problem: im ausgehendenStrahl wirken auch Beiträgebenachbarter Eingangs-strahlen
Prof. Dr. Detlef KrömkerInstitut für Informatik
18 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
‣ BRDF in der Regel nicht geschlossen lösbar: ist auch „knüppelharte“ Physik‣ Aufteilung in idealisierte, einfacher zu behandelnde Komponenten ist möglich (Licht addiert sich)!
rein diffuse Reflektion spiegelnd diffuse Reflektion ideal spiegelnde Reflektion (ambiente Beleuchtung)‣ Für diese Komponenten wird dann auch Problem 2 (Geometrie) gelöst.
Erste Beurteilung des Problems 1:Interaktion Licht und Materie
7
Prof. Dr. Detlef KrömkerInstitut für Informatik
19 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Problem 3
Hier unterteilen wir in:‣ lokale Beleuchtungsmodelle: berechnen die Interaktion von Lichtquellen und idealisierten Oberflächen (relativ einfach ... behandeln wir heute)‣ globale Beleuchtungsmodelle (berechnen auch die Interaktion von Licht, dass von anderen Oberflächen reflektiert wird, z.T viel schwieriger ... machen wir ansatzweise in CG) ‣ aber hier gibt es Vertiefungsvorlesungen
„Non-standard Rendering Verfahren“ (Dr. Hans Joseph)
aber auch „Animation“
Physical Rendering (Gastvorlesung im WS 08/09)
... wie macht man so etwas?
Prof. Dr. Detlef KrömkerInstitut für Informatik
20 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Ein erster Optimierungsansatz
Immer noch typisch für den Detailgrad von synthetischen Bildern, zumindest in Realtime-Anwendungen, aber das ändert sich!:
Anzahl der Polygoneckpunkte pro Bild < Anzahl der zu errechnenden Pixel pro Bild
Optimierungsidee:Wir lösen das Beleuchtungsproblem nicht für jedes Pixel, sondern nur für jeden Polygoneckpunkt oder für jedes Polygon und versuchen durch Interpolation das Bild aufwandsreduziert zu erzeugen
Hoffnung: Durch geeignete Interpolationsverfahren lässt sich auch das facettierte Aussehen polygonaler Modelle verbessern
Prof. Dr. Detlef KrömkerInstitut für Informatik
21 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Prinzipien der Materie-Licht-Interaktion
Übliche Vereinfachungen:‣ Lichtquellen (emittieren Licht) und Objekte (absorbieren,reflektieren, (transmittieren) Licht)‣ idealisierte Reflektionen wirken additiv:‣ diffuse ‣ spiegelnde‣ ambiente‣ lokale vs. globale Beleuchtungsmodelle
8
Prof. Dr. Detlef KrömkerInstitut für Informatik
22 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Lichtquellen (Idealisierungen)
Richtungslicht (directional light)andere Bezeichnungen: Target Direct Light (3D Studio Max)
Infinite Light (Maya)Directional Light (Softimage)Sun Light
Position im UnendlichenRichtung sdir
Beachte: alle Schatten fallen in die gleiche Richtung
Realitätsnah für „Sonnenlicht“ oder speziellen Reflektor
Prof. Dr. Detlef KrömkerInstitut für Informatik
23 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
(Positions- oder Punkt-) Lichtquellen (2)
Punktlichtquelle (point light)
Position spos
Je näher die Lichtquelle umso verschiedener die Schattenwinkel
Beispiel: Kugelleuchte
Prof. Dr. Detlef KrömkerInstitut für Informatik
24 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
(Positions-) Lichtquellen (3)
Spot Light
Position spos
Richtung sdir
Cut-off Angle scut
(Spot Exponent = Abfall der Helligkeit mit Abstand vom Zentrum)
Cut-off Angle
9
Prof. Dr. Detlef KrömkerInstitut für Informatik
25 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Flächenlichtquellenarea light
Wirken wesentlich natürlicher sind aber vergleichsweise rechenaufwendig!
(approximiert mit z.B. 16 oder mehr Spotlights)
Erzeugen weiche Schatten (soft shadows) mit Halbschattenbereichen (penumbra)
Spherical Lightzum Vergleich links Punktlichtquelle
Flat Area Light
Ggf. Linear Lights (Linienlichter)ohne Bild
Prof. Dr. Detlef KrömkerInstitut für Informatik
26 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Allgemeine Lichtquellenparameter‣ Intensität für verschiedene Beleuchtungsanteilein der Regel in (R,G,B) (siehe später)‣ ambient intensity color samb‣ diffuse intensity color sdiff‣ specular intensity color sspec‣ Positionslichtquellen haben teilweise noch Dämpfungsparameter, z.B‣ (konstante) Dämpfung‣ Lineare Dämfung‣ Quadratische Dämpfung
Prof. Dr. Detlef KrömkerInstitut für Informatik
27 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Lokale Beleuchtungsmodelle ‣ Berücksichtigen nur die direkte Lichtquellen – Objekt – Interaktion (nicht die indirekte Beleuchtung durch andere Objekte) ‣ Addition verschieder Beiträge:‣ Diffuse Reflektion‣ Spiegelnde Reflektion‣ Ambiente Reflektion
(= sehr grobe Approximation der indirekten Beleuchtung)‣ (Emmission)
ambspecdifftot iiii ++=
10
Prof. Dr. Detlef KrömkerInstitut für Informatik
28 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Relevante Vektoren und Winkel zur lokalen Beleuchtungsrechnung (alle normiert)
NL
V
R
θ θ α
L Richtung des Lichts
N Oberflächennormale
R Richtung des ideal reflektierten einfallenden Lichts
V ViewpointRichtung des Augpunktes
Prof. Dr. Detlef KrömkerInstitut für Informatik
29 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Berechnung des Vektors R
N
LR
θ θ
B B
A
LAB
2BLR
−=
+=
:rtnormalisieseien Vektoren Alle
LNR
L)(NLR
N)N(LNA
−=
−+=
⋅==
θ
θ
cos2
cos2
cosθ
LL)N(NR −⋅= 2
Prof. Dr. Detlef KrömkerInstitut für Informatik
30 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
φ
l n
Diffuse Reflektion‣ realisiert das Lambert‘sche Gesetz‣ Das Licht wird gleichmäßig in alle Richtungen der Halbkugel zurückgestrahlt,‣ ist also unabhängig vom Viewpoint‣ (richtig für ideal diffuse Reflektion)
aber nur für (rauhes) ‣ sehr nahe an der physikalischen Realität Plastik oder Kreide
( )( )
tionMultiplikanweisekomponente BG,R,
)0,max(
cosistdann
rt,normalisiesind
=⊗
⊗⋅=
=⋅
diffdiffdiff smlni
ln
ln,
φ
11
Prof. Dr. Detlef KrömkerInstitut für Informatik
31 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Spiegelnd-Diffuse Reflektion nach Phong ‣ rein empirisch‣ physikalisch nicht erklärbar‣ erzeugt die gewünschten Glanzlichter
(highlights) ‣ mshi: shininess
( )
( )
lnr
lnlnr
sm
smvri
vrl,n,
Vektor egespiegelt an der ist
)(2mit
cos
,
−⋅=
⊗⊗=
⊗⊗⋅=
specspec
m
specspec
m
spec
shi
shi
rtnormalisie
α
ln r
vα
Prof. Dr. Detlef KrömkerInstitut für Informatik
32 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Analyse des Terms cosn(αααα)Shininess n = mshi
0α =2
πα =2
πα = −
1n =
3n =
2n =
10n =
cos ( )n α
Prof. Dr. Detlef KrömkerInstitut für Informatik
33 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Wirkung des Parameters n = mshi‣ n bestimmt die Größe des Glanzlichts (Highlights)‣ je größer n umso „glänzender“ die Oberfläche und umso kleiner das Highlight‣ Beachte auch: Farbe des Highlights =
mspec = (1,1,1) Farbe der Lichtquelle
mspec = m diff Farbe wie Objektfarbe(z.B. bei Metallen)
specspec sm ⊗
12
Prof. Dr. Detlef KrömkerInstitut für Informatik
34 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Spiegelnde Reflektion nach Blinn‣ Blinn (Phong) Reflektion‣ rein empirisch‣ schneller zu berechnen als Phong‣ wird in OpenGL und Direct 3D benutzt
( ) ( )
vl
vlh
nh
vlh
vhl,n,
+
+=
=⋅= shishi mm
speci
undzwischenHalbvektorist
rtnormalisie
φcos'
,,
ln h
vφ
( ) ( ) phongshiblinnshi mm −− ⋅≈⋅4
hnvr
( ) specspec
m
spec smi shi ⊗⋅⋅= )0,max( nh
Prof. Dr. Detlef KrömkerInstitut für Informatik
35 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Die „BRDF“ der Phong/Blinn Modelle
n klein n größer n ∞
Berechnet eine (grobe) Approximation der (BRDF ohne diffuse Reflektion)
Prof. Dr. Detlef KrömkerInstitut für Informatik
36 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Erweiterungen und weitere physikalische Näherungen‣ Fresnel Term: unterscheidet leitende und nichtleitende Materialien
berücksichtigt die Lichteintrittswinkelverschiedene Reflektionskoeffizienten‣ Anisotrope Oberflächen (Kajia, Cabral)
berücksichtigt die Lichtaustrittswinkelverschiedene Reflektionskoeffizient‣ Mikrofacetten (Selbstbeschattung an Oberflächen) (Blinn, Cabral und
Cook/Torrance)‣ Polarization (Wolf)‣ usw. siehe Literatur
13
Prof. Dr. Detlef KrömkerInstitut für Informatik
37 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Ambiente Beleuchtung‣ Diffuse und spiegelnde Reflektion berechnen nur Beiträge, die direkt von Lichtquellen kommen.‣ Ein ambienter Term (Raumgrundhelligkeit) approximiert (sehr grob) die Beiträge von Reflektionen anderer Flächen, die eine „Grundhelligkeit“ erzeugen, ist prinzipiell ungerichtet‣ Meist mit einem einfachen additiven globalen Term berücksichtigt (OpenGL erlaubt einen Wert pro Lichtquelle):
ambambamb smi ⊗=
Prof. Dr. Detlef KrömkerInstitut für Informatik
38 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Varianten Beleuchtungsgleichunglighting equation
)(
Punktebehandelndzuder:p
1
.
2
specdiffambtot
posqposlc
specdiffambtot
d
sssd
Dämpfungsabhängigeentfernungggf
iiii
psps
iiii
++=
−+−+=
++= Basisgleichung
realistisch: sc= sl=0, sq=1
Prof. Dr. Detlef KrömkerInstitut für Informatik
39 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Variante der BeleuchtungsgleichungSpotlight
Direct3D behandelt Spotlights anders: inneren und äußeren Winkel für den Kegel: Licht ist konstant bis zum inneren Winkel, fällt linear nach außen ab.
))((
1
0)0,max( exp
specdiffambspottot
s
dir
spot
dc
Spotlightkein
KegelsdesaußerhalbSpotlightKegelsdesinnerhalbSpotlights
c
iiii
l
++=
⋅−
=
14
Prof. Dr. Detlef KrömkerInstitut für Informatik
40 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
))(( specdiffambspotemiambglobtot
glob
emi
dc iiimmai
a
m
++++⊗=
Weitere ggf. hilfreiche ad-hoc Parameter
emmittierender Beitrag
globale ambiente Lichtquelle
Prof. Dr. Detlef KrömkerInstitut für Informatik
41 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Berücksichtigung mehrerer LichtquellenGesamtgleichung
ACHTUNG: Summe kann größer 1 sein, entweder auf 1 klemmen Farbverschiebung möglichoder auf 1 anteilig skalieren unterschiedlich Wirkungen
∑ ++++⊗=k
kspec
kdiff
kkamb
kspotemiambglobtot dc )(( iiimmai
Prof. Dr. Detlef KrömkerInstitut für Informatik
42 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Beispiele
()
()
15
Prof. Dr. Detlef KrömkerInstitut für Informatik
43 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Übersicht
1. Einige grundsätzliche ÜberlegungenIdentifikation von 4 Problemen und deren Schwierigkeit
2. Prinzipien der Materie-Licht-Interaktion3. Aufwandsarme Approximationen für
„Einfache“ Lichtquellen in der CGLokale Beleuchtungsmodelle
4. Das Shading (visuelle Glättung polygonaler Modelle)5. Zusammenwirken in der Pipeline
Prof. Dr. Detlef KrömkerInstitut für Informatik
44 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Das Problem‣ Durch das Rastern bis jetzt nur facettierte Flächen (einfarbige Polygone) darstellbar.‣ Glättung der polygonalen Struktur nötig‣ Lösung: geeignete Interpolatoren
Prof. Dr. Detlef KrömkerInstitut für Informatik
45 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Voraussetzungen‣ Gegeben: ein Polygonnetz‣ Berechnung der Vertex-Normale
NA
N1
N4
N3
N2
44321 NNNN
N+++
=A
16
Prof. Dr. Detlef KrömkerInstitut für Informatik
46 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Gouraud Shading (1971) 1. Schritt: Berechne Intensitäten I (RGB) an den Eckpunkten
2. Interpoliere die Intensitäten, z.B.
I4
I3
I2
I1
(xb,ys)(xa,ys)
(x4,y4)
(x3,y3)
(x2,y2)
(x1,y1)
IS
[ ]
[ ]
[ ])()(1
)()(1
)()(1
144141
122121
aSbSba
ab
S
SSb
SSa
xxIxxIyy
I
yyIyyIyy
I
yyIyyIyy
I
−+−−
=
−+−−
=
−+−−
=
oder Dreiecke mit baryzentrischen Koordinaten
Prof. Dr. Detlef KrömkerInstitut für Informatik
47 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Probleme des Gouraud Shading
Highlight (Glanzlicht)durch spekularen Term
wird hier nicht errechnet
wird errechnet
Highlights blitzen in bewegten Szenen auf!
Gouraud nur für diffuse Reflektion brauchbar
Prof. Dr. Detlef KrömkerInstitut für Informatik
48 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Machbanding‣ Effekt: trotz Interpolation sind die Kanten manchmal deutlich zu erkennen‣ Ursache: Entlang einer Scanline ist die 1. Ableitung nicht konstant‣ Auge erkennt diese Diskontinuität 2. Ordnung Machbands
17
Prof. Dr. Detlef KrömkerInstitut für Informatik
49 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Phong Shading (1975)
+ Löst das Highlight-Problem+ Reduziert (stark) das Machbanding-Problem+ Interpoliert Normalen‒ Vektoren müssen interpoliert werden‒ Beleuchtungsgleichung muss für jedes Pixel
gerechnet werden
N2
N3
NS
N4
N1
NaNb
Prof. Dr. Detlef KrömkerInstitut für Informatik
50 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Offene Probleme‣ kantige Silhouetten der Objekte‣ InterpolationsproblemeInterpolation in Bildschirmkoordinaten entspricht nicht der
perspektivischen Verkürzung
Prof. Dr. Detlef KrömkerInstitut für Informatik
51 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Weitere Interpolationsprobleme
Der gleiche Polygonpunkt NS wird, obwohl das Polygon nur in seiner Ebene gedreht wurde, von unterschiedlichen Eckpunkten beeinflußt verschiedene Farben
N3
NS N4N2
N1
Na
Nb
NS
N1
N2
N3 N4
),,( 421 NNNNS f=
),,,( 4321 NNNNNS f=
Nb
18
Prof. Dr. Detlef KrömkerInstitut für Informatik
52 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Weitere Interpolationsprobleme
Überlegen Sie und identifizieren Sie diese selbst!
Prof. Dr. Detlef KrömkerInstitut für Informatik
53 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Zusammenfassung‣ Glättung von polygonalen Modellen gelingt‣ Aber nur mit vielen Interpolationsproblemen‣ Trotzdem sind dies die Standardmethoden‣ Phong- und Gouraud-Shading und Lighting lassen sich einfach in den Scan-line Algorithmus integrieren!
Prof. Dr. Detlef KrömkerInstitut für Informatik
54 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Phong Shading (Speed-up Techniken)‣ Beleuchtungsgleichung nur für jedes 2. Pixel rechnen linear interpolieren‣ Numerische Optimierungen:‣ Duff (79) Interpolation und Beleuchtung in einen Ausdruck bringen, dann Forwärts-Differenzen nutzen‣ Bishop (86) ähnlich, aber nutzt Taylorreihe‣ Geometrische Optimierungen
Versuchen abzuschätzen, ob ein Highlight auftreten kannBergman 86 und Harrisson 88
19
Prof. Dr. Detlef KrömkerInstitut für Informatik
55 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Was haben wir geschafft?Was ist noch offen?
Wir haben die Standardverfahren fürs Rendering kennengelernt: Geometrie, Shading, lokale Beleuchtungsrechnung
aber diverse Einzelfragen bleiben: z.B.‣ globale Beleuchtungsmodelle: Ray Tracing für die ideal spiegelnde Reflexion (löst ganz nebenbei auch das Geometrieproblem anders!) und Radiosity für die diffuse gegenseitige Beleuchtung, sowie deren Integration‣ Schatten (basiert häufig auf Ray Tracing Methoden)‣ Texturen mit diversen Anwendungsmöglichkeiten (z.B. Reflection Map)‣ Transparenz (gut lösbar mit Ray Tracing, aber auch in der Pipeline möglich, siehe folgende Ergänzungsseiten)‣ u.v.a.m, z.B.... kommt in den Vertiefungsvorlesungen ... ich hoffe, Sie haben Lust daruf!
Prof. Dr. Detlef KrömkerInstitut für Informatik
56 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Zusammenfassung‣ Varianten des Phong-Modells sind die „Arbeitspferde“ der Computergraphik‣ wird in der Regel in der GPU berechnet (Pixel Shader)‣ Nicht verwechseln:‣ Shading = Geometrische visuelle Glättung (Interpolation)‣ (Gouraud: Farbwerte, Phong: Normalen)‣ Lighting = Beleuchtungsgleichung‣ Gouraud: diffuser + ambienter Anteil‣ Phong: spiegelnder + diffuser + ambienter Anteil
Prof. Dr. Detlef KrömkerInstitut für Informatik
57 Hier wird Wissen WirklichkeitB-CG – V08 Beleuchtungsrechnung
Ausblick
Nächste Woche‣ Texturen‣ Farbe‣ Systemstrukturen, insbesondere HW von Graphiksystemen ‣ Shader Programmierung
zum Abschluss: Ausblick: Vertiefungsveranstaltungen im WS 08/09 und im SS 09