Slides

icg.tugraz.at

Slides

Global Illumination

Globale Beleuchtung

1


Reale Szenen = komplexe Lichtsituation

• Licht & Schatten

• Reflexionen

• Colorbleeding

• Kaustiken, Nebel, …

http://gurneyjourney.blogspot.com/

2


© Walter Zatta

3


© SATtva

4


© BernhardS

5


Globale Beleuchtung in Echtzeit

6


Radiometrie

Was wollen wir simulieren/berechnen?

Strahlungsfluss / Radiant flux (power):

Energie, die pro Sekunde auf eine Oberfläche trifft

Warum nicht?

Radiant flux: Φ in W oder J/s

Antwort :

Radiant Flux sagt uns nichts darüber, ob

Viel Energie auf eine kleine Fläche trifft oder

wenig Energie auf eine große Fläche

7


Radiometrie

8


Radiometrie

Was wollen wir simulieren/berechnen?

Bestrahlungstärke / Irradiance:

Strahlungsfluss pro Einheitsfläche

Warum nicht?

Radiant flux: Φ in W oder J/s

Irradiance: E in W/m 2

Antwort :

Irradiance sagt uns nichts darüber, von welchem Winkel die

Energie kommt, also ob

Viel Energie von einer Richtung auf die Fläche trifft oder

wenig Energie aus allen Richtungen

9


Radiometrie

Was wollen wir simulieren/berechnen?

Strahldichte / Radiance:

Strahlungsfluss pro Einheitsfläche und Raumwinkel

Radiant flux: Φ in W oder J/s

Irradiance: E in W/m 2

Radiance: L in W/(m 2·sr)

(Mehrdimensionaler Winkel: Raumwinkel oder

Solid Angle, gemessen in Steradiant)

10


Die Frage der Fragen:

Wie viel Licht geht von einem Oberflächenpunkt

aus in eine bestimmte Richtung?

(Gegeben ein Betrachter, ermittle für jeden

Punkt einer Szene das Licht, das zum

Betrachter geht Rendering gelöst)

Rendergleichung

Rendering Equation

11


Terminologie

− Richtung des Betrachters (Kamera, Auge)

− Oberflächennormale

− Richtung der Lichtquelle

− Reflektierte Lichtrichtung

− reflektierter Sichtstrahl

− einfallender und reflektierter Winkel

12


Licht Dämpfung / Abschwächung

Das Licht scheint genau von Oben auf die Oberfläche.

Welcher Anteil des Lichtes eines Strahls trifft auf die

Oberfläche auf?

Die gesamte!

13


Licht Dämpfung / Abschwächung

Das Licht scheint in einem Winkel von 45°auf die

Oberfläche. Welcher Anteil des Lichtes eines Strahls

trifft auf die Oberfläche auf?

Etwa 70%

14


Licht Dämpfung / Abschwächung

Das Licht scheint in einem Winkel von 90°auf die

Oberfläche. Welcher Anteil des Lichtes eines Strahls

trifft auf die Oberfläche auf?

Keines!

15


Licht Dämpfung / Abschwächung

Komplettes Licht

wird übertragen

Nur ein Teil auf

gleicher Fläche

Fast kein Licht

trifft auf die

gleiche Fläche

16


Materialien

Wie unterscheiden sich verschiedene Materialien?

Antwort:

Sie reflektieren das einfallende Licht in verschiedene

Richtungen mit verschiedenen Anteilen.

spiegelnd

specular

diffus

diffuse

verteilt

spread

17


Materialien

Diese Verteilung lässt sich auch als Dichtefunktion

(probability density function) beschreiben, über:

• die eintreffende Lichtrichtung und

• einem Punkt auf der Oberfläche

und liefert die Wahrscheinlichkeit einer ausgehenden

Richtung:

wir als Bidirektionale Reflektanzverteilungsfunktion /

Bidirectional reflectance distribution function (BRDF)

bezeichnet.

18


Materialien

• BRDF für lichtdurchlässige

Materialen:

BTDF (Bidirectional Transmittance

Distribution Function)

• Beschreibung von Brechung

• BSDF / BxDF (Bidirectional

Scattering Distribution Function)

= BRDF + BTDF

19


BRDF Eigenschaften

1. Helmholtz-Wechselseitigkeit

– Die Richtung eines Lichtstrahls kann umgedreht werden, ohne

das Ergebnis zu verändern:

2. Positivität

– Keine ausgehende Richtung kann eine negative

Wahrscheinlichkeit aufweisen (Damit sollten die Mathematiker

unter uns glücklich sein ☺):

20


3. Energieerhaltung

BRDF Eigenschaften

– Die wichtigste Eigenschaft:

Ein Objekt kann das eingehede Licht reflektieren oder

absorbieren, aber es kann nicht mehr Energie

abgeben als auf die Oberfläche trifft:

Für eine einfallende Richtung: Die Summe über das

gesamte abgegebene Licht (mit Berücksichtigung der

Lichtabschwächung) kann maximal gleich groß sein,

wie das eingehende Licht.

21


DIE RENDERGLEICHUNG

22


Die Rendergleichung

23


Die Rendergleichung

Ein Objekt kann selbst Licht ausstrahlen (emittieren).

Weiters wird es selbst Licht von verschiedenen

Richtungen empfangen und dieses auch (teilweise)

wieder abgeben.

Abgegebenes Licht = emittiertes Licht + reflektiertes Licht

24


Die Rendergleichung

emittiert

reflektiert

ausgehende Radiance

emittierte Radiance (Lichtquelle)

Integral über alle eingehenden Richtungen

Radiance die entlang ankommt

BRDF

Lichtabschwächung

25


Schwierigkeiten:

Die Rendergleichung

• Die Radiance eines Punktes x hängt von der

Radiance, die von allen anderen Punkten in Richtung

x abgegeben wird, ab. Die Radiance aller anderen

Punkte, hängt auch von der Radiance von x ab.

• Der Versuch eine geschlossen Lösung zu berechnen

ist hoffnungslos.

• Das Integral hat unendlich viele Dimensionen

• Das Integral ist oft singulär

26


Die Rendergleichung

27


BRDF Beispiel:

Einfache Phong Beleuchtung:

ambient + diffus + spiegelnd = Phong

(specular)

28


BRDF Beispiel:

Modifizierte Phong Model BRDF:

, ,

1


2

2


diffus

spekular

Vergleiche:

(Abschwächung nicht vergessen!)

- diffuser Koeffizient

- spekularer Koeffizient

- Winkel zwischen perfekter Reflexion

und ausgehenden Strahl

Faktoren wichtig für Energieerhaltung

29


Modifizierte Phong Model :


30


Modifizierte Phong Model :


31


Modifizierte Phong Model :


32


RAY TRACING

34


Lokale Beleuchtung als

Vereinfachung der Rendergleichung

Lokales Phong Beleuchtungsmodell:

• Nur direkte Beleuchtung wird berücksichtigt ( )

• Da die indirekte Beleuchtung vernachlässigt wird, fügen

wir einen konstanten Ambiententerm ein ( )

• Stellt eine sehr starke Vereinfachung dar

Was fehlt?

35


Ray Casting: lokale Beleuchtung

Lichtquelle

L 1

α 1

Phong Modell

α 2

Schnittpunkttest

L 2

2. Lichtquelle

36


Ray Tracing

Beleuchtung des

gespiegelten

Objekts

L 1

Schatten

Spiegelung

L 2

37


Rekursives Ray Tracing

für ganzes Bild:

Strahl durch jeden Pixel

weitere Spiegelung

38


Ray-Tracing: Transparenz

40


The illumination equation

Reflexion

Brechung

source: http://en.wikipedia.org/wiki/Refraction

41


source: http://en.wikipedia.org/wiki/Refraction

42


Snells Gesetz

In welchem Winkel werden die Strahlen gebrochen?

Snells Gesetz:

- Geschwindigkeit im Medium

- Brechungsindex des Mediums

43


Die Fresnel Formeln

Wie viel Licht wird reflektiert, wie viel wird gebrochen?

- Wahrscheinlichkeit dass ein Strahl reflektiert wird

44


Die Beleuchtungsgleichung mit Rekursion

Rekursion

Fresnel Koeffizient für den gebrochenen Strahl

Intensität entlang des gebrochenen Strahls

Fresnel Koeffizient für den reflektierten Strahl

Intensität entlang des reflektierten Strahls

45


Ray-Tracing Eigenschaften

• realistische Bilder

• zeitintensiv

• Sichtbarkeitsberechnung

• Schatten

• Transparenz

• Mehrere Lichtquellen

• Reflexion/Brechung

47


RADIOSITY

48


Radiosity

, , , , ,


anstatt Richtungen alle Punktpaare in der Szene

Integral über alle Oberflächen

, ′ , ′ ′, , ′′ ′′, ,


Geometrischer Zusammenhang der Punkte:

, cos cos


, 1

0

,

49


Radiosity

, ′ , ′ ′, , ′′ ′′, ,


rein diffus Abstrahlung in alle Richtungen gleich

′, , ′′ ⇒

, ′ /

Reflexionskoeffizient

Radiosity B = gesamtes Licht dass einen Flächenpunkt verlässt

, ′′


, , /

50


Radiosity: Unterteiliung in Patches

Die Szene wird diskretisiert in n "patches" (Polygone)

P k , für jedes dieser Patches wird eine konstante

Radiosity B k angenommen:

, ′′


,



51


Radiosity: Berechnung der Formfaktoren

,



- Radiosity des Patch k

- Selbstemission von Patch k

, - Formfaktor: beschreibt, wieviel % der

abgestrahlten Energie von Patch j auf

Patch k trifft

52


Projektion zwischen zwei Polygonen

• Von Patch j nach Patch k

F

dA

, dA

=

cosϕ

j

πr

j k

2

cosϕ

k

dA

k

dA j

ɸ j

ɸ k

r

dA k

Polygon k

Polygon j

53


F

Radiosity: Formfaktor

• Von Patch j nach Patch k

dA

, dA

cosϕ

j k

= dA

A

k

k

πr

j k

2

cosϕ

φ j

φ k

.

r

.

P j

A'

k

F P→A j k

54


Radiosity: Formfaktoren

• Formfaktor F jk : Beitrag von Patch j nach Patch k

F

dA

, dA

=

cosϕ

j

πr

j k

2

cosϕ

cosϕ

= ∫

j

cosϕ

FdAj

, Ak

2

πr

A

k

k

dA

• Ausgesandte Energie von dA j auf A k

k

k

dA

k

• Formfaktor ist Durchschnitt über den Bereich A j

1

F = ∫ ∫

j

Aj

, Ak

Aj

πr

2

A A

j

k

cosϕ

cosϕ

k

dA

k

55


Radiosity: Formfaktoren

• Formfaktor Eigenschaften

– Erhaltung der Energie

n


k=

1

F jk

=

1

– Einheitliche Lichtreflexion

– Kein Selbstbeleuchtung

A j F jk = A k F kj

F jj

= 0

56


Radiosity: Formfaktoren

• Formfaktor Berechnung

– Teuerster Schritt bei Berechnung der Radiosity

– Numerische Integration (Monte Carlo-Methode)

– Hemicube-Methode (Halbkugel ersetzt durch Halbwürfel)

P j

P k

57


Stephen Spencer, SIGGRAPH

58


Radiosity-Gleichung

• Lösung der Radiosity-Gleichung

,



,



1 ,


,

, 1 ,

⋮ ⋱ ⋮

, , ⋯ 1











59


Radiosity-Gleichung

• Lösung der Radiosity Gleichung

– Gaußsche Elimination, LU

– Gauß-Seidel-Iteration

1 ,


,

, 1 ,

⋮ ⋱ ⋮

, , ⋯ 1











• Rechenzeit- und speicherintensiv

60


Radiosity-Gleichung

• Lösung der Radiosity-Gleichung

– Gauß-Seidel-Iteration

B

i+

1

k

=

E

k

+

ρ

k


j≠k

i

j

B F

jk

P k

B j

“Gathering”

61


62

Radiosity-Gleichung

• “Gathering” vs.“Shooting” ∑


+

+

=

k

j

i

j

jk

k

k

i

k

B F

E

B

ρ

1

P k B j P k B k


































+

















=

















x

x

x

x

x

x

x

x

x

x

x

x


































+

















=

















x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x


Lösung des Gleichungssystems

generated by mirello http://vimeo.com/1653265

63


Kleinere Patches

generated by mirello http://vimeo.com/1660377

64


Radiosity

Cornell University65


Raytracing + Radiosity

TU Wien

66


Kombinationsbeispiel

TU Wien

67


Heckberts Notation für Lichtpfade

L – Lichtquelle

D – Diffuser Lichtpfad

S – Reflektierter/spekularer Lichtpfad

E – Auge/Kamera

[D]* – eine beliebige Anzahl an diffusen Pfaden

[S|D] – reflektierter or diffuser Pfade

(aber nur einer von beiden)

Über die Notation können Strahlverfolgungsalgorithmen

verglichen werden.

68


Heckberts Notation für Lichtpfade

Lichtpfade die von den vorgestellten Algorithmen

wahrgenommen werden:

Ray casting: L[D]E

Radiosity: L[D*]E

Rekursives Ray Tracing: L[D]S*E

Volle globale Beleuchtung: L[D|S]*E

69


Ray tracing vs global illumination

Vergleich rekursives Ray Tracing

Henrik Wann Jensen 1995

70


Indirecte Beleuchtung/

Color bleeding LDDE

Globale Beleuchtung

BRDF (the real thing)

Spiegelung von

diffuser Beleuchtung

LDSE

Henrik Wann Jensen 1995

71


Rekursives Ray Tracing

Ray tracing vs global illumination

http://en.wikipedia.org/wiki/Global_illumination

72


Globale Beleuchtung

BRDF (the real thing)

Kaustik:

diffuse Reflexion

von der Überlagerung

vieler gebrochener Strahlen

LSSDE

http://en.wikipedia.org/wiki/Global_illumination

73


PATH TRACING

74


Wie „real“ wird die Simulation?

Ein Bild ist ein Photo, eines ist gerendert… ?

75


Wie lösen wir die Rendergleichung?

Schritt für Schritt, von der Kamera aus…?

76


...

Und so weiter bis…

… wir ein Lichtquelle treffen

… bis ins Unendliche

Für jeden Strahl

ein weiteres Integral

Äuserstes Integral

Henrik Wann Jensen 1995

77


Dimensionalität der Rendergleichung

Jedes beschreibt ein weiteres Integral.

Solange wir keine Lichtquelle treffen, geht es ins

Unendliche die Rendergleichung ist unendlich

Dimensional.

78


Singularitäten

Wo gibt es Singularitäten?

Rein reflektierende BRDF:

für die reflektierte Richtung

sonst

Problem:

Beim Sampeln des Integral trifft man eine Delta-

Funktion nie.

79


Monte Carlo Integration

Gegeben: eine sehr komplizierte Funktion, die integriert

werden soll. Durch ihre Komplexität ist es nicht möglich

das Integral in einer geschlossenen Form zu berechnen.

Jedoch ist es möglich die Funktion zu sampeln

(abzutasten).

Wir würden das Integral gerne mit der geringsten Anzahl

an Samples so genau wie möglich bestimmen.

Diese Technik nennt sich Monte Carlo Integration.

80


Hit or Miss Monte Carlo Integration

Berechne folgendes Integral:

- Zeichne die Funktion auf ein Blatt Papier,

- Umschließe sit mit einem Rechteck der Größe A,

- Wähle zufällig Punkte innerhalb von des Rechtecks,

- Für jeden Punkt, bestimme ob er innerhalb (hat) oder

außerhalb (miss) der Funktion ist.

Nach sehr vielen zufälligen Punkten lässt sich das Integral

wie folgt abschätzen:

81


Hit or Miss Monte Carlo Integration

82


Sample Mean Monte Carlo Integration

Beispiel:

Mathematiker:

Ingenieur:


2 1 2

83


Sample Mean Monte Carlo Integration

Monte Carlo Mensch:

Bilde den Mittelwert!

84


Sample Mean Monte Carlo Integration

Bei einer Nichtgleichverteilen ,

gewichte Samples mit deren Wahrscheinlichkeit:







Gleichverteilte Samples:




1



∙ 1








1




1


85


MC integration für die Rendergleichung

86


• Wähle N=1

Pathtracing

• Verfolge viele Pfade pro Pixel, im Limit erhalten wir

das richtige Ergebenis

87


Monte Carlo Noise

100 Sample pro Pixel

Bei der Monte Carlo

Integration zeigt sich die

Varianz der Schätzung

über hochfrequentes

Rauschen.

Je mehr Samples man

bildet umso näher

kommt an an das richtige

Ergebnis.

88


Monte Carlo Noise

http://chunky.llbit.se/index.php?title=Path_Tracing

89


Importance Sampling

• Problem: bei rein reflektierenden Oberflächen, ist die

Wahrscheinlichkeit, dass der reflektierte Strahl

gesampelt wird gleich Null…

• Problem: bei relativ stark spielnden Oberflächen

werden viele Samples für jene Richtungen

verwendet, die nur geringen Einfluss auf das

Ergebnis haben.

• Lösung:

Passe das Sampling der Funktion an

90


Importance Sampling

• Problem: bei rein reflektierenden Oberflächen, ist die

Wahrscheinlichkeit, dass der reflektierte Strahl

gesampelt wird gleich… Null

• Problem: bei relativ stark spielnden Oberflächen

werden viele Samples für jene Richtungen

verwendet, die nur geringen Einfluss auf das

Ergebnis haben.

• Lösung:

Passe das Sampling der

Wahrscheinlichkeitsverteilung an

91


Importance Sampling

Konstruiere

ist nicht bekannte, beste Möglichkeit:

92


Importance sampling

Ohne Importance Sampling

http://fidos.pagesperso-orange.fr/MCPov/MCPov.html

93


Importance sampling

Importance Sampling

http://fidos.pagesperso-orange.fr/MCPov/MCPov.html

94


Importance Sampling

pbrt

95


Importance Sampling

96


Monte Carlo integration

http://dpow3r.wordpress.com/

97


Path Tracing in der Übung

• Path Tracing is symmetrisch

– kann von der Kamera aus gelöst werden

– kann von der Lichtquelle aus gelöst werden

– kann von beiden Richtungen aus gelöst werden

• Was tun wenn die Lichtquelle ein Punktlichtquelle ist?

– Die Wahrscheinlichkeit sie zu treffen ist 0!

• Gibt es eine sinnvolle Möglichkeit die Pfadlänge zu

variieren?

– Russian Roulette Path Termination

99

Weitere Magazine dieses Users
Ähnliche Magazine