Reflexion
Reflexion
Reflexion
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Reflexion</strong><br />
3. Vorlesung<br />
Photorealistische Computergrafik<br />
Thorsten Grosch
Zusammenfassung<br />
Photometrische<br />
t h Radiometrische<br />
i Vereinfachter<br />
Einheit<br />
Einheit<br />
Bezeichnung<br />
Bezeichnung<br />
Zusammenhang<br />
Q<br />
Lichtmenge<br />
(luminous energy)<br />
Strahlungsmenge<br />
g<br />
(radiant energy)<br />
φ<br />
I<br />
E<br />
Lichtstrom<br />
Strahlungsfluß<br />
lm<br />
(luminous flux)<br />
(radiant flux)<br />
Lichtstärke<br />
(luminous intensity)<br />
Beleuchtungsstärke<br />
(illuminance)<br />
cd<br />
lx<br />
Strahlstärke<br />
(radiant intensity)<br />
Bestrahlungsstärke<br />
(irradiance)<br />
W<br />
W / sr<br />
W / m²<br />
B Radiosity lm /m² Radiosity W/m²<br />
L<br />
Leuchtdichte<br />
(luminance)<br />
cd / m²<br />
Strahldichte<br />
(radiance)<br />
W / m²sr<br />
L =<br />
φ =<br />
ΔQ<br />
Δtt<br />
Δφ<br />
I =<br />
Δω<br />
Δφ<br />
E = Δ<br />
A e<br />
Δ<br />
B = φ<br />
ΔA s<br />
Δφ<br />
ΔA⋅cosθ<br />
⋅ Δω<br />
T. Grosch - 2 -
Zusammenhänge<br />
• Lambert Emitter<br />
• Photometrisches Grundgesetz<br />
I ⋅cosθe<br />
E ≈<br />
2<br />
d<br />
Photometrisches Entfernungsgesetz<br />
• Einfache Lichtübertragung<br />
E<br />
≈<br />
L ⋅Δω ⋅cosθ<br />
e<br />
ΔA s<br />
θ s<br />
d<br />
θ e<br />
ΔA e<br />
T. Grosch - 3 -
Polarkoordinaten in 3D<br />
y<br />
y<br />
P<br />
P<br />
z<br />
θ r<br />
0<br />
0<br />
x ϕ x<br />
P Kart.<br />
⎛ x<br />
⎞<br />
⎜<br />
⎟<br />
= ⎜ y⎟<br />
⎜ ⎟<br />
⎝ z<br />
⎠<br />
z<br />
P polar<br />
⎛θ<br />
⎞<br />
⎜ ⎟<br />
= ⎜ϕ<br />
⎜ ⎟ ⎟⎟ ⎝ r ⎠<br />
ϕ 0, 2π<br />
∈ ( 0 π ) ∈ ( ) r ∈ ( 0,<br />
∞)<br />
θ ,<br />
θ : Winkel zur y-Achse (Breitengrad)<br />
ϕ: Rotation um y-Achse (Längengrad)<br />
(ganze Kugel…)<br />
T. Grosch - 4 -
Beleuchtungsstärke<br />
• Für einen endlich großen<br />
Sender gilt<br />
E<br />
≈<br />
L( (<br />
v ω<br />
) ⋅cosθ<br />
⋅Δω<br />
• Für eine unendlich kleine<br />
Senderfläche gilt<br />
dE = L<br />
(<br />
v ω<br />
) ⋅cos<br />
θ ⋅<br />
dω<br />
• Die gesamte<br />
Beleuchtungsstärke erhält<br />
man durch Integration<br />
ti<br />
über den Halbraum<br />
E<br />
= ∫ L<br />
(<br />
v ω<br />
) ⋅cosθ<br />
⋅ dω<br />
2π sr<br />
L 2<br />
Δω<br />
L 1<br />
Δω<br />
L(ω v )<br />
E<br />
T. Grosch - 5 -
Rendering Equation<br />
• Globale Beleuchtung<br />
L<br />
o<br />
v<br />
( x,<br />
ω )<br />
o<br />
Eigenemission<br />
(nur Lichtquelle)<br />
v<br />
v v<br />
v<br />
= L ( x,<br />
ω ) + ∫ f ( x,<br />
ω , ω ) ⋅cosθ<br />
⋅ L ( x,<br />
ω ) ⋅ dω<br />
e<br />
o<br />
2<br />
∫<br />
π<br />
sr<br />
r<br />
v<br />
L (x<br />
v<br />
i<br />
x,<br />
ωi<br />
)<br />
(x<br />
v v ωi<br />
L x<br />
ωo<br />
θ<br />
,<br />
ω<br />
)<br />
o( o<br />
x<br />
i<br />
o<br />
i<br />
dE<br />
i<br />
i<br />
f<br />
r : <strong>Reflexion</strong> an der Oberfläche,<br />
genaueres dazu kommt jetzt<br />
Gute Übersicht:<br />
Global Illumination Compendium<br />
www.cs.kuleuven.be/~phil/GI<br />
T. Grosch - 6 -
Einleitung<br />
• Die Grundgrößen des<br />
Lichts sind jetzt t bekannt<br />
• Nächste Frage:<br />
?<br />
– Was passiert, wenn Licht<br />
auf ein Material auftrifft ?<br />
• Mathematische<br />
Beschreibung wird<br />
benötigt von<br />
– Geometrie<br />
– Lichtquellen<br />
– Materialien<br />
T. Grosch - 7 -
Geometrie<br />
• Für diese Vorlesung besteht die Geometrie aus<br />
– Polygonen (meistens)<br />
• Liste von Eckpunkten (gegen UZS)<br />
• Evtl. Eckpunkt-Normalen (für besseres Shading)<br />
– Manchmal auch<br />
• Kugeln oder<br />
• Punkten<br />
T. Grosch - 8 -
Lichtquellen<br />
Punktlicht<br />
Spotlicht<br />
Flächenlicht<br />
(Lambert Emitter)<br />
I ( θ ) = I<br />
0<br />
I( θ ) = I ⋅ 0<br />
cos<br />
n<br />
θ<br />
I ( θ ) ≈ I ⋅ 0<br />
cosθ<br />
Gerichtetes Licht<br />
(parallel, Lichtquelle im<br />
Unendlichen)<br />
Environment Map<br />
(viele parallele<br />
l<br />
Lichtquellen)<br />
RealIntelligence<br />
T. Grosch - 9 -
Lichtquellen<br />
• Ι ist im allgemeinen<br />
winkelabhängig.<br />
• Die Abstrahlcharakteristik<br />
einer Leuchte wird durch die<br />
Lichtstärkeverteilungskurve<br />
(LVK) angegeben<br />
• Für die Strahlstärke müsste<br />
diese LVK sogar für jede<br />
Wellenlänge angegeben<br />
werden<br />
– In der Praxis werden für<br />
Lichtquellen oft ihr Spektrum<br />
und ihre LVK angegeben<br />
• LVK: Tabelle mit I-Werten in<br />
bestimmten t Winkelschritten,<br />
itt<br />
z.B. alle 10 Grad<br />
– Bei rotationssymmetrischem<br />
Abstrahlverhalten wird die<br />
LVK nur abhängig von einem<br />
Winkel angegeben (θ)<br />
– Ansonsten wird die LVK in<br />
Abhängigkeit von zwei<br />
Austrittswinkeln beschrieben<br />
(θ , ϕ)<br />
T. Grosch - 10 -
Lichtquellen<br />
• Eine LVK eignet sich nur für<br />
das Fernfeld, da die<br />
Lichtquelle als punktförmig<br />
angenommen wird<br />
• Für das Nahfeld muß ein<br />
genaueres Modell eingesetzt<br />
werden, z.B. ein Light Field<br />
– Viele (HDR-) Aufnahmen der<br />
Lichtquelle aus verschiedenen<br />
Richtungen<br />
[RiGO]
Materialien<br />
Spiegel Glänzend Diffus<br />
T. Grosch - 12 -
Materialien: Spiegel<br />
• Beobachtung<br />
– Einfallsrichtung = Ausfallsrichtung<br />
– In alle anderen Richtungen wird<br />
kein Licht reflektiert (!)<br />
0<br />
L<br />
T. Grosch - 13 -
Materialien: Diffuse Fläche<br />
• Beobachtung:<br />
– Die Helligkeit it (Leuchtdichte) einer<br />
L<br />
diffusen Fläche hängt nicht von der<br />
Richtung des Betrachters ab (Lambert)<br />
– Beispiel: Kreide, Papier<br />
• Einfache Erklärung<br />
– Die Oberfläche besteht aus vielen<br />
kleinen Spiegeln, die in einer zufälligen<br />
Richtung orientiert sind<br />
– Die reflektierte Richtung ist Zufall <br />
Gleich viele Lichtstrahlen in alle<br />
Richtungen<br />
L<br />
L<br />
T. Grosch - 14 -
Materialien: Glänzende Fläche<br />
• Beobachtung<br />
– Verschwommenes Spiegelbild<br />
L<br />
L max<br />
• Einfache Erklärung<br />
– Vorzugsrichtung bei der<br />
<strong>Reflexion</strong><br />
– Kleinere Variation der<br />
Orientierung der Spiegel<br />
“<strong>Reflexion</strong>s-Keule“ (Lobe)<br />
L<br />
T. Grosch - 15 -
Einschränkungen<br />
• Mit diesem einfachen Modell können einige<br />
Materialien beschrieben werden<br />
– Mikrofacettenmodell, z.B. versch. Metalle, siehe<br />
später<br />
• Leider funktionieren nicht alle Materialen<br />
– z.B. Stoff, Haut, …<br />
• Statt eines einfachen Modells kann man auch<br />
einfach das Material vermessen…<br />
T. Grosch - 16 -
Wie misst/beschreibt man<br />
<strong>Reflexion</strong>?<br />
• Messung für alle Einfalls- und<br />
Ausfallswinkel<br />
• Für einfallendes Licht misst man<br />
Beleuchtungsstärke<br />
– Andere Größe praktisch kaum<br />
messbar, da man sonst in den<br />
Objektmittelpunkt k einen Sensor<br />
integrieren müsste.<br />
• Ausfallendes Licht: Leuchtdichte<br />
• Resultat: Angenäherte BRDF des<br />
Materials [Nicodemus 1977]<br />
– Bi-direktionale i <strong>Reflexion</strong>s-<br />
Verteilungsfunktion (Bidirectional<br />
Reflectance Distribution Function)<br />
=<br />
f<br />
r<br />
ω v<br />
ω o<br />
v<br />
( ω , ω )<br />
dL<br />
i<br />
i<br />
i: incoming<br />
o: outgoing<br />
ω v i<br />
v<br />
v dL<br />
( ωo<br />
)<br />
o<br />
= v<br />
dE<br />
oi<br />
( ω i<br />
)<br />
v<br />
dLo<br />
( ωo<br />
)<br />
v<br />
ω ⋅cosθ<br />
⋅dω<br />
(<br />
i<br />
)<br />
i i<br />
T. Grosch - 17 -
Beispiele für BRDF Messgeräte<br />
[Murray-Coleman 1990]<br />
T. Grosch - 18 -
BTF Messgerät<br />
• Kameraset um eine<br />
Materialprobe<br />
• Erfasst quasi eine BRDF<br />
Textur für verschiedene Orte<br />
des Materials.<br />
• BTF (bidirectional texture function)<br />
• 151 Kameras<br />
• 1 Kamera blitzt, alle machen<br />
ein Foto<br />
• Das ganze in verschiedenen<br />
Belichtungszeiten (ca. 4)<br />
• Enorme Datenmengen<br />
• Herausforderung: Erfassung,<br />
Komprimierung und Integration<br />
in den Renderingprozeß<br />
• Reinhard Klein, Uni Bonn<br />
T. Grosch - 19 -
BRDF Dimensionen<br />
• … ist eine 4D-Funktion für<br />
einen festen Ort auf der<br />
Oberfläche<br />
f<br />
r<br />
v<br />
v<br />
( ω , ω<br />
) =<br />
f<br />
( θ ,<br />
ϕ ,<br />
θ ,<br />
ϕ<br />
)<br />
i<br />
o<br />
r<br />
i<br />
i<br />
o<br />
o<br />
• … ist eine 6D-Funktion, wenn<br />
auch der Ort auf der • … ist eine 9D-Funktion, wenn<br />
Oberfläche mit eingeht<br />
zwischen Eintritts- und Austrittspunkt<br />
unterschieden wird *)<br />
v v v<br />
f r<br />
( ω<br />
i,ω o,<br />
xe<br />
)<br />
• Analog für Transmission<br />
• … ist eine 7D-Funktion, wenn<br />
– BTDF: Bi-Direktionale<br />
auch die Wellenlänge mit<br />
Transmissions-Verteilungs-<br />
eingeht<br />
funktion (Bidirectional<br />
v v v<br />
Transmission Distribution<br />
f r<br />
( ω<br />
i, ωo,<br />
xe,<br />
λ)<br />
Function)<br />
*) Auch BSSRDF genannt: Bidirectional Scattering Surface<br />
Reflectance Distribution Function (ohne Farbe 8D)<br />
T. Grosch - 20 -
Beispiele für komplexe BRDFs<br />
SVBRDF (6D)<br />
[Wang el al. SIGGRAPH 2008]<br />
BSSRDF<br />
[Wann-Jensen SIGGRAPH 2001]<br />
BTF<br />
[Müller el al. Eurographics 2007]<br />
T. Grosch - 21 -
„Beleuchtungsmodelle“<br />
• BRDF: Sehr komplex.<br />
Messung des Halbraums in 5°<br />
Schritten erzeugt ca.<br />
1300x1300 Werte<br />
– für alle Wellenlängen<br />
– für verschiedene<br />
Positionen..<br />
• Versuch, BRDF mit Hilfe von<br />
Funktionen anzunähern, die<br />
man durch (möglichst intuitive)<br />
Parameter steuern kann oder<br />
messen kann<br />
• Ansätze<br />
– Zerlegung in diffusen und<br />
(glänzend) spiegelnden Anteil<br />
– Empirische/phänomenologische<br />
Modelle<br />
– Polynome, Sinus/Cosinus-<br />
Terme<br />
– Gebrochen Rationale<br />
Funktionen<br />
– Spherical Harmonics, etc.<br />
• …<br />
T. Grosch - 22 -
<strong>Reflexion</strong>sgrad (Reflectance)<br />
• Anstatt der Werte der BRDF im<br />
Bereich [0,∞[ ist der<br />
<strong>Reflexion</strong>sgrad im Bereich (0,1)<br />
oft hilfreich (speziell in diffusen<br />
Umgebungen)<br />
• Er ist definiert als der gesamte<br />
ausfallende Lichtstrom im<br />
Verhältnis zum gesamten<br />
eingestrahlten Lichtstrom<br />
∫<br />
Lo<br />
φo<br />
B<br />
2π<br />
ρ<br />
=<br />
=<br />
=<br />
φ E L<br />
i<br />
∫<br />
2π<br />
v<br />
( ω )<br />
i<br />
v<br />
o<br />
( ω )<br />
i<br />
⋅cosθ<br />
⋅dω<br />
o<br />
⋅cosθ<br />
⋅dω<br />
i<br />
i<br />
o<br />
φ<br />
φ i<br />
φ o<br />
T. Grosch - 23 -
Eigenschaften der BRDF<br />
• Sie ist nicht dimensionslos 1. Sie ist nicht negativ<br />
v<br />
v v dL<br />
2. Sie erfüllt den Energie-<br />
o<br />
( )<br />
( ωo<br />
)<br />
fr ωi<br />
, ωo<br />
= v<br />
erhaltungssatz ( 0 ≤ ρ
Helmholtz Reziprozität<br />
• 3. Sie erfüllt die Helmholtz<br />
Reziprozität<br />
– Lichtstrom ist vorwärts wie<br />
rückwärts identisch<br />
– Werden Licht und Betrachter<br />
vertauscht, so bleibt die BRDF<br />
unverändert<br />
– Ergibt sich aus den<br />
Maxwell´schen Gleichungen<br />
– Olano: „…one of the … mysteries<br />
of physics is the existence in<br />
Maxwell‘s equations of solutions<br />
for electromagnetic radiation that<br />
flows from the future to the past“.<br />
f<br />
n v<br />
v ω v v<br />
o ω ωi<br />
i<br />
f<br />
r<br />
v<br />
=<br />
( ω , ω ) = f ( ω , ω )<br />
i<br />
v<br />
• Oft auch notiert als<br />
r<br />
v<br />
v<br />
o<br />
( ω →ω<br />
) =<br />
f<br />
( ω ←ω<br />
)<br />
i<br />
o<br />
r<br />
v<br />
i<br />
r<br />
v<br />
o<br />
v<br />
o<br />
n v<br />
v<br />
i<br />
v ωo<br />
T. Grosch - 25 -
BRDF und diffuser <strong>Reflexion</strong>sgrad<br />
• Diffuse Lambert-<strong>Reflexion</strong> heißt praktisch, daß das angeleuchtete<br />
Material zum Lambert-Strahler wird<br />
• Der reflektierte Lichtstrom einer diffusen Lambert-Fläche ergibt<br />
sich als<br />
φ = ∫ I ⋅ θ ⋅dω<br />
= I ⋅ ∫<br />
o o<br />
cos<br />
o o o<br />
2ππ<br />
2ππ<br />
cosθ<br />
⋅dω<br />
= I<br />
o<br />
Übung<br />
o<br />
o<br />
⋅π<br />
=<br />
• Die reflektierte (konstante) Leuchtdichte ist somit<br />
L<br />
o<br />
φo<br />
= A⋅ π<br />
• Also gilt für die diffuse (konstante) BRDF<br />
f<br />
r<br />
L<br />
E<br />
φo<br />
φ ρ<br />
= = =<br />
E⋅<br />
A⋅π φ ⋅<br />
π<br />
π<br />
o<br />
o<br />
=<br />
i<br />
L⋅<br />
A⋅π<br />
(Einheit von π wieder sr)<br />
T. Grosch - 26 -
BRDF für perfekten Spiegel<br />
• Die BRDF für einen perfekten Spiegel ist überall 0, bis auf die<br />
Richtung des reflektierten Strahls<br />
• Formal wird das mit der Dirac-Delta-Funktion beschrieben<br />
v v<br />
f r<br />
f<br />
, M<br />
( ω ω<br />
) =<br />
( θ , ϕ , θ , ϕ<br />
)<br />
i, o r,<br />
M<br />
i<br />
i<br />
o<br />
o<br />
δ<br />
(<br />
θi<br />
−<br />
θo<br />
) ⋅<br />
δ<br />
(<br />
ϕi<br />
+<br />
π −<br />
ϕo<br />
)<br />
=<br />
sinθ<br />
cosθ<br />
⎧<br />
∞,<br />
x<br />
=<br />
0<br />
δ(<br />
x)<br />
= ⎨<br />
∫δ( x)<br />
dx = 1<br />
⎩0,<br />
x ≠ 0<br />
−∞<br />
• Die BRDF erfüllt somit die Energieerhaltung<br />
∫<br />
f<br />
2π<br />
sr<br />
v ω v<br />
∞<br />
( , ω ) cosθ<br />
dω<br />
1<br />
r, M i o i i<br />
=<br />
i<br />
i<br />
T. Grosch - 27 -
Fresnel <strong>Reflexion</strong>sgrad F<br />
• Für einige Materialien (Glas,<br />
Wasser, einige Metalle) kann<br />
die <strong>Reflexion</strong> für glatte<br />
Oberflächen aus den<br />
Maxwell´ schen Gleichungen<br />
berechnet werden<br />
• Beim Wechsel von einer<br />
Materie in eine andere wird<br />
immer Licht reflektiert.<br />
• Der <strong>Reflexion</strong>sgrad hängt vom<br />
Brechungsindex der beiden<br />
Materialien und vom<br />
Einfallswinkel ab.<br />
n 1<br />
n 2<br />
n =<br />
θ 1<br />
1<br />
sin<br />
θ<br />
1<br />
n<br />
2<br />
sin<br />
θ<br />
θ 2<br />
2<br />
F( θ 1<br />
)<br />
1<br />
1<br />
− F<br />
( θ 1 )<br />
: Polarisationsebene der Welle<br />
Aufteilung in senkrechten und parallelen<br />
Anteil zur <strong>Reflexion</strong>sebene<br />
T. Grosch - 28 -
Fresnel <strong>Reflexion</strong>sgrad F<br />
Für die beiden Polarisationsebenen:<br />
ρ =<br />
||<br />
n2<br />
cosθ1<br />
− n1<br />
cosθ2<br />
n<br />
2 cos<br />
θ1<br />
+<br />
n1<br />
cos<br />
θ2<br />
ρ<br />
⊥<br />
n1 cosθ1<br />
− n2<br />
cosθ2<br />
=<br />
n<br />
2<br />
cosθ1<br />
+ n1<br />
cosθ2<br />
Für unpolarisiertes Licht gilt:<br />
F<br />
1<br />
2<br />
(<br />
2 2<br />
ρ + )<br />
( θ ) = ⋅<br />
||<br />
ρ⊥<br />
Gute Näherung nach Schlick:<br />
F( θ ) ≈ F<br />
θ<br />
5<br />
0<br />
+ (1 − F0<br />
)(1 − cos )<br />
F0: <strong>Reflexion</strong>sgrad für senkrechten Lichteinfall<br />
T. Grosch - 29 -
Fresnelsche Formeln: Konduktoren<br />
• Brechungsindex η und<br />
komplexer<br />
Absorptionskoeffizienten k<br />
• Für polarisiertes i Licht:<br />
• Für unpolarisiertes Licht:<br />
T. Grosch - 30 -
Winkelabhängiger <strong>Reflexion</strong>sgrad nach<br />
Fresnel<br />
Konduktor (Aluminum)<br />
Dilktik Dielektrikum (Glas, N=1.5) N1 T. Grosch - 31 -
Mikrofacetten Modelle<br />
• [Torrance and Sparrow 1967], [Blinn 1977], [Cook and Torrance 1983]<br />
• Die Oberfläche besteht aus Mikrofacetten<br />
– Jede Facette hat Fresnel Eigenschaft F<br />
– Beschreibung der Verteilung der Mikrofacetten D<br />
– Selbstverschattung der Mikrofacetten G<br />
• Die BRDF ist somit eine Kombination aus drei<br />
Termen<br />
1<br />
4cosθi cosθ o<br />
Herleitung, siehe [Torrance & Sparrow 1967] und [Pharr & Humphreys, PBRT]
Verteilung der Facetten: D<br />
• Für eine perfekte spekulare<br />
<strong>Reflexion</strong> muß die Normale der<br />
Mikrofacette dem Halfway-<br />
Vektor entsprechen<br />
• Die Funktion D gibt an, wie<br />
wahrscheinlich diese<br />
Orientierung der Mikrofacette ist<br />
(Wahrscheinlichkeitsdichte)<br />
• Typischer Verlauf [Blinn 1978] ) D(α<br />
D<br />
=<br />
k ⋅e<br />
⎞<br />
− ⎛ ⎜<br />
α ⎟<br />
⎝ m<br />
⎠<br />
2<br />
– k: Normierungsfaktor (Fläche 1)<br />
ω v V<br />
v ωh<br />
– m: Standardabweichung von α<br />
Glatte Fläche, m klein<br />
v<br />
n<br />
α<br />
v<br />
ω =<br />
h<br />
Raue Fläche, m groß<br />
ω v<br />
ω L<br />
v v<br />
ωV<br />
+<br />
ωL<br />
v v<br />
ω + ω<br />
V<br />
L<br />
α<br />
T. Grosch - 33 -
Selbstverschattung G<br />
• Fall 1<br />
– Komplette <strong>Reflexion</strong> auf<br />
der Mikrofacette: G = 1<br />
• Fall 2<br />
– Maskierung, reflektiertes<br />
Licht kommt nur teilweise<br />
in Betrachterrichtung<br />
• Fall 3<br />
– Verschattung,<br />
Mikrofacette wird nur<br />
teilweise beleuchtet<br />
T. Grosch - 34 -
Selbstverschattung G<br />
• Ansatz zur Lösung für<br />
Fall 2 & 3:<br />
• Annahme:<br />
• Symmetrische, V-förmige<br />
Kerben<br />
• Interreflexion zwischen<br />
Facetten wird hier<br />
ignoriert<br />
• Bestimme das Verhältnis<br />
G = 1 – m/l<br />
• Herleitung siehe [Blinn 1978]<br />
l<br />
m<br />
1 2 3<br />
T. Grosch - 35 -
Cook-Torrance Beispiel<br />
[Cook and Torrance 1983]<br />
T. Grosch - 36 -
Phong BRDF<br />
• Sehr einfaches BRDF Modell<br />
[Phong 1975]<br />
• Überlagerung diffuse +<br />
spekulare <strong>Reflexion</strong><br />
• Spekulare <strong>Reflexion</strong><br />
– durch cos-Lobe<br />
– Exponent n kontrolliert die<br />
Rauheit der Oberfläche<br />
• Keine physikalische Grundlage<br />
Lo<br />
fr<br />
v ωr<br />
v ω<br />
o<br />
ψ<br />
n v<br />
θi<br />
v ωi<br />
v v v v v<br />
ωr<br />
= 2(<br />
ωi<br />
o<br />
n)⋅<br />
n −<br />
ωi<br />
v v<br />
cosψ<br />
= ω o<br />
oω r<br />
v v ρd<br />
n<br />
( ωi<br />
, ωo<br />
) = + ρs<br />
⋅cos<br />
ψ<br />
π<br />
T. Grosch - 37 -
Physikalisch plausible Phong BRDF<br />
• [Lewis 1994]<br />
• Das Phong Modell ist nicht<br />
Energie-erhaltend<br />
• Für den hemisphärischen<br />
<strong>Reflexion</strong>sgrad bei senkrechter<br />
Blickrichtung gilt:<br />
∫<br />
f<br />
r<br />
2π<br />
v v<br />
( ω , ω )cosθdω<br />
i<br />
o<br />
n<br />
= ρs<br />
∫<br />
cos<br />
θ<br />
cos<br />
θ<br />
d<br />
ω<br />
2π<br />
2π<br />
= ρs<br />
⋅<br />
n+2+<br />
2<br />
Lo<br />
Standard<br />
Phong Lobes<br />
v ωr<br />
v ω<br />
o<br />
ψ<br />
n v<br />
θi<br />
Normalisierung<br />
• Mit Vorfaktor (n+2)/2π gilt<br />
v v ρd<br />
n+<br />
2 n<br />
die Energieerhaltung<br />
g f<br />
( ω , ω<br />
) = +<br />
ρ ⋅ ⋅cos<br />
ψ<br />
f r<br />
i<br />
o<br />
π<br />
s<br />
2π<br />
v ωi<br />
T. Grosch - 38 -
(Physikalisch plausibles) Blinn-Phong Modell<br />
• [Blinn 1978]<br />
• In OpenGL integriert i t auf<br />
Grund der besseren<br />
Performance:<br />
– Bei gerichteten<br />
Lichtquellen ist die<br />
Einfallsrichtung konstant<br />
– <strong>Reflexion</strong>srichtung muss<br />
nicht berechnet werden<br />
– Ähnliche (aber nicht<br />
gleiche) Ergebnisse wie<br />
bei einfachem Phong<br />
Modell<br />
f<br />
v<br />
ω<br />
r<br />
Lo<br />
h<br />
ω v<br />
o<br />
v ω<br />
v<br />
i<br />
+<br />
ωo<br />
v v<br />
ω + ω<br />
i<br />
o<br />
ω v h<br />
ψ<br />
n v<br />
θi<br />
v ωi<br />
v v<br />
= cosψ =ωh<br />
on<br />
v v ρd<br />
n+<br />
8<br />
( ωi<br />
, ωo<br />
) = + ρs<br />
⋅ ⋅cos<br />
π 8π<br />
n<br />
ψ<br />
T. Grosch - 39 -
Blinn-Phong Beleuchtung<br />
Großer Exponent<br />
Kleiner Exponent<br />
Nur diffus<br />
T. Grosch - 40 -
Lafortune BRDF<br />
• Phong-Modell mit N Keulen<br />
in beliebige Richtungen<br />
[Lafortune et al. 1997]<br />
– 5 Parameter pro Keule<br />
v<br />
v<br />
ρ<br />
N<br />
d<br />
T<br />
f ω<br />
, ω<br />
= + ∑<br />
r(<br />
i o)<br />
∑ρ s ,<br />
i<br />
( ω<br />
o<br />
⋅C⋅ω<br />
i<br />
)<br />
π i=<br />
1<br />
v<br />
v<br />
n i<br />
• Angabe der Vektoren in<br />
lokalen Koordinaten (!)<br />
v ωo<br />
C⋅<br />
v ωi<br />
ψ<br />
• Standard d Phong<br />
<strong>Reflexion</strong>, N = 1<br />
• C = <strong>Reflexion</strong>soperator<br />
z v • C⋅<br />
v ωi<br />
ist der reflektierte<br />
v Lichtvektor<br />
ω i<br />
• Dann gilt<br />
v T<br />
ωo ⋅( C⋅<br />
v ω ) = cosψ<br />
y v<br />
• Also die normale Phong<br />
BRDF (ohne<br />
Normalisierung)<br />
x v T. Grosch - 41 -<br />
i
Lafortune BRDF Beispiel<br />
T. Grosch - 42 -
Lafortune BRDF<br />
• Verallgemeinerung des<br />
<strong>Reflexion</strong>soperators zu<br />
einer Diagonalmatrix C<br />
• Die Einträge in C<br />
steuern die Richtung<br />
der <strong>Reflexion</strong>skeule<br />
• Angabe der Vektoren hier<br />
in lokalen Koordinaten (!)<br />
• Für Weltkoordinaten<br />
kann man auch eine<br />
Matrix<br />
R T CR<br />
einsetzen, wobei R die<br />
Rotationsmatrix<br />
„Welt Lokal“ ist<br />
v<br />
v<br />
ρ<br />
N<br />
d<br />
T<br />
f<br />
r(<br />
ωi<br />
, ωo<br />
) = + ∑ρs, i(<br />
ωo<br />
⋅C⋅ωi<br />
)<br />
π i=<br />
1<br />
C<br />
x<br />
v<br />
⎛Cx<br />
0 0<br />
⎜<br />
C<br />
=<br />
⎜ ⎜ 0 Cy<br />
0<br />
⎝ 0 0 C<br />
= Cy<br />
z<br />
= −1 C =1<br />
z<br />
⎞<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
(Maximum bei reflektiertem Vektor)<br />
:<br />
v<br />
n i<br />
<strong>Reflexion</strong><br />
Cx<br />
= C<br />
y<br />
= Cz<br />
= 1 : Retro - <strong>Reflexion</strong><br />
v v<br />
(Maximum,<br />
wenn ω = ω<br />
)<br />
C < C =<br />
z<br />
x<br />
C<br />
y<br />
:<br />
o<br />
i<br />
Off -Specular - <strong>Reflexion</strong><br />
(Maximum unterhalb des <strong>Reflexion</strong>svektors)<br />
Betrag der C Werte gibt Größe der Keule an
Lafortune BRDF Fit<br />
• Über ein Optimierungsverfahren werden die bestmöglichen<br />
Parameter für eine gemessene BRDF bestimmt<br />
Durchgezogene Line:<br />
Messwerte<br />
Off Specular,<br />
Fresnel<br />
Aluminium<br />
Retro <strong>Reflexion</strong><br />
Off Specular,<br />
Fresnel<br />
Blaue Farbe<br />
[Lafortune et al. 1997]<br />
BRDF Daten z.B. hier: http://people.csail.mit.edu/addy/research/brdf<br />
http://sbrdf.cs.unc.edu/index.html T. Grosch - 44 -
Lafortune Beispiele<br />
[McAllister, GPU Gems 1]<br />
3 Lobes, preconvolved Environment Map<br />
T. Grosch - 45 -
(An)Isotrope BRDF<br />
• Einfache BRDFs (z.B. Phong)<br />
sind isotrop (3D)<br />
– Rotationssymmetrie um<br />
Oberflächennormale<br />
– Orientierung x,y Achse beliebig<br />
f r<br />
( θ , θ , Δϕ)<br />
i<br />
v ωo<br />
o<br />
n v<br />
θ o<br />
θ i<br />
Δϕ<br />
ω v i<br />
y v<br />
• Es gibt auch anisotrope<br />
Materialen (4D)<br />
x<br />
v<br />
– z.B. gebürstetes Metall, Rillen<br />
f ( , , )<br />
in Oberfläche r<br />
θi<br />
ϕi, θo<br />
ϕo<br />
– Orientierung der Achsen an<br />
den Rillen<br />
• z.B. x in Richtung der Rillen<br />
und y senkrecht zu Rillen<br />
• Glatte Oberfläche in x-<br />
Richtung, raue Oberfläche in<br />
y-Richtung<br />
ω v o<br />
x<br />
v<br />
θ o<br />
θ i<br />
ϕo<br />
n v<br />
ϕ i<br />
v ωi<br />
y v<br />
T. Grosch - 46 -
Anisotropie<br />
• Angabe von zwei Phong Exponenten<br />
nu, nv für beide Richtungen [Ashikhmin<br />
& Shirley 2000]<br />
• Der „anisotrope“ Phong-Exponent für y<br />
v<br />
eine Richtung ϕ ergibt sich aus<br />
ϕ<br />
einem elliptischen Modell als<br />
n u<br />
2<br />
n cos<br />
ϕ<br />
+<br />
n<br />
u<br />
sin<br />
2<br />
ϕ<br />
• ϕ: Rotationswinkel des Halfway-<br />
Vektors<br />
v<br />
x v<br />
n v<br />
• Mit Normierung ergibt das<br />
(zunächst) folgende BRDF<br />
f<br />
v<br />
v<br />
( n<br />
+ 1)( n<br />
u v<br />
n cos ϕ v sin<br />
( ω , ω )<br />
(cosψ<br />
) u + n<br />
i o<br />
=<br />
⋅<br />
2ππ<br />
+ 1)<br />
2<br />
2<br />
ϕ<br />
T. Grosch - 47 -
Beispiel für Anisotrope BRDF<br />
Ashikhmin-Shirley<br />
BRDF<br />
PBRT<br />
Gebürstetes Metall<br />
T. Grosch - 48 -
Ashikhmin-Shirley BRDF<br />
• Anisotrope Erweiterung des Phong Modells<br />
• Empirisch, aber physikalisch plausibel<br />
• Gewichtete Summe eines spiegelnden und<br />
eines diffusen Anteils zur Wahrung der<br />
Energieerhaltung<br />
– Spekulare Schicht über diffuser Schicht<br />
– Idee: Gewichtung des diffusen Anteils nimmt<br />
in Richtung der „<strong>Reflexion</strong>skeule“<br />
proportional ab<br />
– „je steiler der Betrachtungswinkel, desto<br />
besser wird die unterliegende, diffuse Schicht<br />
sichtbar“<br />
• Anwendung:<br />
– Poliertes Holz, glänzende Tapete, Autolack<br />
R s<br />
R d<br />
T. Grosch - 49 -
Ashikhmin-Shirley: spiegelnder Anteil<br />
f<br />
r<br />
2<br />
2<br />
n<br />
u cos<br />
ϕ + n<br />
v sin<br />
ϕ<br />
v v<br />
(<br />
nu<br />
+<br />
1)(<br />
nv<br />
+<br />
1)<br />
(cos<br />
ψ<br />
)<br />
, s<br />
( ωi,<br />
ωo)<br />
=<br />
⋅<br />
F(cosα)<br />
8π<br />
cosα<br />
⋅ max(cosθ<br />
,cosθ<br />
)<br />
i<br />
o<br />
• F: Schlick Approximation<br />
für Fresnel <strong>Reflexion</strong>sgrad<br />
1<br />
max(cosθ i<br />
,cosθ o<br />
)<br />
v ωo<br />
ω v h<br />
ψ<br />
θ o<br />
θ i<br />
n v<br />
α<br />
v ω<br />
i<br />
• Vermeidung von „dunklen“<br />
Spiegelbildern bei flachem<br />
Blickwinkel, siehe [Neumann<br />
et al. 1999]<br />
x<br />
v<br />
ϕ<br />
y v<br />
T. Grosch - 50 -
Ashikhmin-Shirley: spiegelnder Anteil<br />
T. Grosch - 51 -
Ashikhmin-Shirley: diffuser Anteil<br />
f<br />
r,<br />
d<br />
v v<br />
( ω , ω )<br />
i<br />
o<br />
=<br />
28Rd<br />
(1 −<br />
23ππ<br />
R<br />
s<br />
)(1 − (1 −<br />
cosθi<br />
)<br />
2<br />
5<br />
)(1 − (1 −<br />
cosθo<br />
)<br />
2<br />
5<br />
)<br />
• Hier hat die diffuse Schicht nicht<br />
die Lambert Eigenschaft<br />
– Winkelabhängige diffuse <strong>Reflexion</strong><br />
– Diffuse Farbe verschwindet bei flachem<br />
Winkel<br />
– Entspricht der Beobachtung realer<br />
Materialien<br />
28Rd<br />
θi<br />
= θo<br />
= 0 : fr, d<br />
= (1 − Rs<br />
)<br />
23ππ<br />
π<br />
θi<br />
= θo<br />
= : fr, d<br />
= 0<br />
2<br />
• R d : Diffuse Farbe unter glänzender<br />
Schicht (bei Metallen 0)<br />
• R R<br />
s : Vollkommen spiegelnder Anteil<br />
(innerhalb der Keule)<br />
• Vorfaktor stellt Energieerhalt sicher<br />
R s<br />
R d<br />
θ o<br />
θ i<br />
T. Grosch - 52 -
Ashikhmin-Shirley: diffuser Anteil<br />
Lambert BRDF AS-BRDF, nur diffus<br />
T. Grosch - 53 -
Ashikhmin-Shirley: spiegelnd & diffus<br />
[Bild aus: Pharr, Humphreys, PBRT]<br />
T. Grosch - 54 -
Weitere BDRF Modelle<br />
– [Poulin and Fournier 1990] A model for anisotropic reflection<br />
– [Ward 1992] Measuring and modeling anisotropic reflectance<br />
– [Westin et al. 1992] Predicting reflectance functions from complex surfaces<br />
– [Schlick 1993] A customizable Reflectance model for everyday rendering<br />
– [Gondek et al. 1994] Wavelength dependent reflectance functions<br />
– [Oren and Nayar 1994] Generalization of Lambert´s reflectance model<br />
– [Ashikhmin et al. 2000] A microfacet based BRDF generator<br />
T. Grosch - 55 -
Komplizierte Materialien<br />
• Haut<br />
– [Debevec et al. 2000]<br />
– [Zickler et al. EGSR 2005]<br />
– [Donner et al. EGSR 2006]<br />
– [d‘Eon et al. EGSR 2007]<br />
– [Jimenez et al. Sig Asia 2010]<br />
[Donner et al. 2006]<br />
• Haare<br />
– [Marschner et al. SIGGRAPH 2003]<br />
– [Moon et al. SIGGRAPH 2006, 2008]<br />
– [Zinke et al. SIGGRAPH 2008]<br />
– [d‘Eon et al. EGSR 2011] [Moon et al. 2008]<br />
T. Grosch - 56 -
Editierbare Materialien<br />
• Data-driven Reflectance Model [Matusik et al.<br />
SIGGRAPH 2003]<br />
• BRDF Shop [Colbert et al. 2005]<br />
[Colbert et al. 2005]<br />
• [Ngan et al. EGSR 2006]<br />
• Shade Trees [Lawrence et al. SIGGRAPH 2006]<br />
• [Ben Artzi et al. SIGGRAPH 2006]<br />
• Image-based Material Editing [Khan et al.<br />
SIGGRAPH 2006]<br />
• BTFShop [Kautz et al. SIGGRAPH 2007]<br />
• BTF Editing [Müller et al. EGSR 2007]<br />
• [Pellacini and Lawrence SIGGRAPH 2007]<br />
• [Kerr and Pellacini SIGGRAPH 2010] [Kautz et al. 2007]<br />
T. Grosch - 57 -
Zeitliche Veränderung<br />
• [Chen et al. SIGGRAPH 2005]<br />
• [Gu et al. SIGGRAPH 2006]<br />
• Dirty Glass [Gu et al. EGSR 2007]<br />
• [Wang et al. SIGGRAPH 2006]<br />
T. Grosch - 58 -
BRDF Fabrication<br />
• Umgekehrter Weg:<br />
– Simulierte BRDF vorhanden Produktion von echtem Material mit BRDF<br />
• [Weyrich et al. SIGGRAPH 2009]<br />
• Print BRDF [Matusik et al. Sig Asia 2009]<br />
T. Grosch - 59 -
• Mittwoch: Übung<br />
• Nächster Montag: Ray Tracing<br />
T. Grosch - 60 -