Potaov grafika III Vehochu Jaroslav Kivnek MFF UK

  • Slides: 112
Download presentation
Počítačová grafika III – Všehochuť Jaroslav Křivánek, MFF UK Jaroslav. Krivanek@mff. cuni. cz

Počítačová grafika III – Všehochuť Jaroslav Křivánek, MFF UK Jaroslav. Krivanek@mff. cuni. cz

“Science, it works … (bitches!)” Quote from Richard Dawkins http: //www. youtube. com/watch? v=n

“Science, it works … (bitches!)” Quote from Richard Dawkins http: //www. youtube. com/watch? v=n 6 hxo 1 s. C-d. U PG III (NPGR 010) - J. Křivánek 2013

… and so does path tracing! Jerome White PG III (NPGR 010) - J.

… and so does path tracing! Jerome White PG III (NPGR 010) - J. Křivánek 2013 3

Path Tracing funguje! Martin Geupel (Dead. Clown) PG III (NPGR 010) - J. Křivánek

Path Tracing funguje! Martin Geupel (Dead. Clown) PG III (NPGR 010) - J. Křivánek 2013 4

Path Tracing funguje! Chakib Rabia PG III (NPGR 010) - J. Křivánek 2013 5

Path Tracing funguje! Chakib Rabia PG III (NPGR 010) - J. Křivánek 2013 5

PG III (NPGR 010) - J. Křivánek 2013 6 Ondra Karlík

PG III (NPGR 010) - J. Křivánek 2013 6 Ondra Karlík

Light transport – Global illumination Archviz Movies © Duncan Howdin Image courtesy of Columbia

Light transport – Global illumination Archviz Movies © Duncan Howdin Image courtesy of Columbia Pictures. © 2006 Columbia Pictures Industries, Inc. PG III (NPGR 010) - J. Křivánek 2013 7

Light transport – Global illumination Movies n 2002, Shrek 2 (PDI/Dreamworks) q n 1

Light transport – Global illumination Movies n 2002, Shrek 2 (PDI/Dreamworks) q n 1 bounce indirect 2006, Monster House (Sony Imageworks) q q Full light transport (path traced) Arnold renderer Image courtesy of Columbia Pictures. © 2006 Columbia Pictures Industries, Inc. PG III (NPGR 010) - J. Křivánek 2013 8

Light transport – Global illumination Movies n 2006, Monster House (Sony Imageworks) q q

Light transport – Global illumination Movies n 2006, Monster House (Sony Imageworks) q q n Full light transport (path traced) Arnold renderer Image courtesy of Columbia Pictures. © 2006 Columbia Pictures Industries, Inc. Full light transport simulation q q q Accuracy Ease of use Visual consistency PG III (NPGR 010) - J. Křivánek 2013 9

Light transport – Global illumination n More information n n “The State of Rendering”

Light transport – Global illumination n More information n n “The State of Rendering” Full light transport simulation q q q Accuracy Ease of use Visual consistency PG III (NPGR 010) - J. Křivánek 2013 10

Quasi Monte Carlo Metody

Quasi Monte Carlo Metody

Metody Quasi Monte Carlo (QMC) n Použití striktně deterministických sekvencí místo náhodných čísel n

Metody Quasi Monte Carlo (QMC) n Použití striktně deterministických sekvencí místo náhodných čísel n Vše funguje jako v MC, důkazy se ale nemohou opírat o teorii pravděpodobnosti (nic není náhodné) n Použité sekvence čísel s nízkou dikrepancí (lowdiscrepancy sequences) PG III (NPGR 010) - J. Křivánek 2013 12

Diskrepance High Discrepancy (clusters of points) Low Discrepancy (more uniform) PG III (NPGR 010)

Diskrepance High Discrepancy (clusters of points) Low Discrepancy (more uniform) PG III (NPGR 010) - J. Křivánek 2013 13

Defining discrepancy n s-dimensional “brick” function: n True volume of the “brick” function: n

Defining discrepancy n s-dimensional “brick” function: n True volume of the “brick” function: n MC estimate of the volume of the “brick”: total number of sample points PG III (NPGR 010) - J. Křivánek 2013 number of sample points that actually fell inside the “brick” 14

Discrepancy n Discrepancy (of a point sequence) is the maximum possible error of the

Discrepancy n Discrepancy (of a point sequence) is the maximum possible error of the MC quadrature of the “brick” function over all possible brick shapes: q q q serves as a measure of the uniformity of a point set must converge to zero as N -> infty the lower the better (cf. Koksma-Hlawka Inequality) PG III (NPGR 010) - J. Křivánek 2013 15

Koksma-Hlawka inequality n Koksma-Hlawka inequality q q „variation“ of f the KH inequality only

Koksma-Hlawka inequality n Koksma-Hlawka inequality q q „variation“ of f the KH inequality only applies to f with finite variation QMC can still be applied even if the variation of f is infinite PG III (NPGR 010) - J. Křivánek 2013 16

Van der Corput Sequence (base 2) n n n point placed in the middle

Van der Corput Sequence (base 2) n n n point placed in the middle of the interval then the interval is divided in half has low-discrepancy Table credit: Laszlo Szirmay-Kalos PG III (NPGR 010) - J. Křivánek 2013 17

Van der Corput Sequence n b. . . base, must be relative prime (2,

Van der Corput Sequence n b. . . base, must be relative prime (2, 3, 5, 7, . . ) n radical inverse PG III (NPGR 010) - J. Křivánek 2013 18

Van der Corput Sequence (base b) double Radical. Inverse(const int Base, int i) {

Van der Corput Sequence (base b) double Radical. Inverse(const int Base, int i) { double Digit, Radical, Inverse; Digit = Radical = 1. 0 / (double) Base; Inverse = 0. 0; while(i) { Inverse += Digit * (double) (i % Base); Digit *= Radical; i /= Base; } return Inverse; } PG III (NPGR 010) - J. Křivánek 2013 19

Radical inversion based points in higher dimension Image credit: Alexander Keller PG III (NPGR

Radical inversion based points in higher dimension Image credit: Alexander Keller PG III (NPGR 010) - J. Křivánek 2013 20

Použité pro path tracing n Cesty jsou body ve vysokodimenzionálním prostoru n Veškerá náhodná

Použité pro path tracing n Cesty jsou body ve vysokodimenzionálním prostoru n Veškerá náhodná čísla použitá pro konstrukci jedné cestu jsou různé komponenty jednoho dlouhého „náhodného vektoru“ n Další cesta – další náhodný vektor ve vysokodimenzionálním prostoru. n Pokud náhodné vektory dobře pokrývají vysokodimenzionální prostor, pak cesty dobře pokrývají celý prostor cest ve scéně PG III (NPGR 010) - J. Křivánek 2013 21

Transformace náhodných čísel Image credit: Alexander Keller PG III (NPGR 010) - J. Křivánek

Transformace náhodných čísel Image credit: Alexander Keller PG III (NPGR 010) - J. Křivánek 2013 22

Ukázka výsledků pro MC a QMC Image credit: Alexander Keller PG III (NPGR 010)

Ukázka výsledků pro MC a QMC Image credit: Alexander Keller PG III (NPGR 010) - J. Křivánek 2013 23

Metody Quasi Monte Carlo (QMC) n Nevýhody QMC: q V obrázku mohou vzniknout viditelné

Metody Quasi Monte Carlo (QMC) n Nevýhody QMC: q V obrázku mohou vzniknout viditelné „vzory“ (místo šumu v MC) PG III (NPGR 010) - J. Křivánek 2013 24

Henrik Wann Jensen Stratified sampling 10 cest na pixel PG III (NPGR 010) -

Henrik Wann Jensen Stratified sampling 10 cest na pixel PG III (NPGR 010) - J. Křivánek 2013 25

Henrik Wann Jensen Quasi-Monte Carlo 10 cest na pixel PG III (NPGR 010) -

Henrik Wann Jensen Quasi-Monte Carlo 10 cest na pixel PG III (NPGR 010) - J. Křivánek 2013 26

Henrik Wann Jensen Fixní náhodná sekvence 10 cest na pixel PG III (NPGR 010)

Henrik Wann Jensen Fixní náhodná sekvence 10 cest na pixel PG III (NPGR 010) - J. Křivánek 2013 27

Měřicí rovnice

Měřicí rovnice

Měřicí rovnice n Zobrazovací rovnice q q Podmínky pro radianci v rovnovážném stavu Umožňuje

Měřicí rovnice n Zobrazovací rovnice q q Podmínky pro radianci v rovnovážném stavu Umožňuje výpočet radiance v izolovaných bodech n Ve skutečnosti nás zajímá průměrná radiance přes pixel: integrál n Měřicí rovnice (Measurement equation) PG III (NPGR 010) - J. Křivánek 2013 29

Měřicí rovnice odezva virtuálního (lineárního) senzoru na radianci (barva pixelu) relativní odezva senzoru (váha)

Měřicí rovnice odezva virtuálního (lineárního) senzoru na radianci (barva pixelu) relativní odezva senzoru (váha) různé We pro každý senzor (pixel) přes celou plochu scény a všechny směry (virtuální senzory musí být součástí scény, nenulový příspěvek pouze na ploše senzoru kvůli We) PG III (NPGR 010) - J. Křivánek 2013 30

Příklad: Zářivý tok přes oblast jako měřicí rovnice n Dána oblast S (podmnožina povrchu

Příklad: Zářivý tok přes oblast jako měřicí rovnice n Dána oblast S (podmnožina povrchu scény a příslušných směrů) n Pro We definované je výsledkem měřicí rovnice zářivý tok F(S). PG III (NPGR 010) - J. Křivánek 2013 31

Měřicí rovnice jako skalární součin funkcí n Definujeme skalární součin funkcí f a g:

Měřicí rovnice jako skalární součin funkcí n Definujeme skalární součin funkcí f a g: n Měřicí rovnice PG III (NPGR 010) - J. Křivánek 2013 32

Propagace radiance a důležitosti L (radiance) W (důležitost) PG III (NPGR 010) - J.

Propagace radiance a důležitosti L (radiance) W (důležitost) PG III (NPGR 010) - J. Křivánek 2013 33

Důležitost (importance) n n n We popisuje, jak důležitá je příchozí radiance pro odezvu

Důležitost (importance) n n n We popisuje, jak důležitá je příchozí radiance pro odezvu senzoru 1 krok do scény: Příchozí radiance na senzoru = odchozí radiance z bodů scény 2, 3, … kroky do scény: … n We interpretujeme jako veličinu emitovanou ze senzorů (stejně jako je radiance Le emitovaná ze zdrojů světla) n Takto interpretovanou veličinu We nazýváme emitovanou funkcí důležitosti (emitted importance function, emitted potential function) PG III (NPGR 010) - J. Křivánek 2013 34

Přenos důležitosti n Funkce důležitosti se přenáší podobně jako radiance a dosahuje ustáleného stavu

Přenos důležitosti n Funkce důležitosti se přenáší podobně jako radiance a dosahuje ustáleného stavu popsaného ustálenou funkcí důležitosti W: Jako zobrazovací rovnice, s tím rozdílem, že argumenty BRDF jsou přehozeny (pro odraz identické, nikoli však pro lom) PG III (NPGR 010) - J. Křivánek 2013 35

Dualita důležitosti a radiance emitovaná importance ustálená příchozí radiance ustálená příchozí importance emitovaná radiance

Dualita důležitosti a radiance emitovaná importance ustálená příchozí radiance ustálená příchozí importance emitovaná radiance PG III (NPGR 010) - J. Křivánek 2013 36

Dualita důležitosti a radiance n V dané scéně je pouze jediná emitovaná a ustálená

Dualita důležitosti a radiance n V dané scéně je pouze jediná emitovaná a ustálená funkce radiance n Ale každý pixel má jinou emitovanou a ustálenou funkci důležitosti PG III (NPGR 010) - J. Křivánek 2013 37

Dualita v praxi: Sledování světla n Sledování cest (path tracing) q n Rekurzivně řeší

Dualita v praxi: Sledování světla n Sledování cest (path tracing) q n Rekurzivně řeší zobrazovací rovnici Sledování světla (light tracing) q q q Rekurzivně řeší rovnici přenosu důležitosti Cesty začínají na zdrojích světla Mohou náhodně zasáhnout senzor Nebo explicitní napojení na senzor (jako přímé osvětlení v PT) Pozor: argumenty BRDF musí být obráceny (cestu sledujeme z druhé strany, BRDF je pořád stejně oprientovaná) PG III (NPGR 010) - J. Křivánek 2013 38

Image: Dutre et al. Advanced Global Illumination Sledování světla (light tracing) v praxi PG

Image: Dutre et al. Advanced Global Illumination Sledování světla (light tracing) v praxi PG III (NPGR 010) - J. Křivánek 2013 39

Sledování světla (light tracing) v praxi n Obvykle menší účinnost než PT q (ale

Sledování světla (light tracing) v praxi n Obvykle menší účinnost než PT q (ale např. v opt. akt. médiu blízko světla mnohem lepší) n Mnohem účinnější pro některé světelné efekty (kaustiky) n Základ obousměrných metod: q q Obousměrné sledování cest (bidirectional path tracing, BPT) photon mapping, etc. PG III (NPGR 010) - J. Křivánek 2013 40

Porovnání algoritmů © F. Suykens Path tracing Light tracing Bidirectional path tracing Kvíz: Proč

Porovnání algoritmů © F. Suykens Path tracing Light tracing Bidirectional path tracing Kvíz: Proč je skleněná koule černá? PG III (NPGR 010) - J. Křivánek 2013 41

Pokročilé metody simulace transportu světla

Pokročilé metody simulace transportu světla

Issues in light transport simulation n Robustness q None of the existing algorithms works

Issues in light transport simulation n Robustness q None of the existing algorithms works for all scenes q Robust estimation “An estimation technique which is insensitive to small departures from the idealized assumptions which have been used to optimize the algorithm. ” PG III (NPGR 010) - J. Křivánek 2013 43

Image: Eric Veach Obousměrné sledování cest (BPT) vs. (Jednosměrné) sledování cest (PT) BPT, 25

Image: Eric Veach Obousměrné sledování cest (BPT) vs. (Jednosměrné) sledování cest (PT) BPT, 25 vzorků (cest) na pixel PT, 56 vzorků (cest) na pixel PG III (NPGR 010) - J. Křivánek 2013 44

Přenos světla jako integrál přes prostor cest

Přenos světla jako integrál přes prostor cest

Light transport n Geometric optics emit travel absorb scatter PG III (NPGR 010) -

Light transport n Geometric optics emit travel absorb scatter PG III (NPGR 010) - J. Křivánek 2013 46

Light transport emit travel absorb scatter light transport path PG III (NPGR 010) -

Light transport emit travel absorb scatter light transport path PG III (NPGR 010) - J. Křivánek 2013 47

Light transport n Camera response n all paths hitting the sensor PG III (NPGR

Light transport n Camera response n all paths hitting the sensor PG III (NPGR 010) - J. Křivánek 2013 48

(j- cam th er pi a r xe es l v p. alu e)

(j- cam th er pi a r xe es l v p. alu e) all pa m th ea s co sur nt em rib e fu uti nt nc on tio n Path integral formulation [Veach and Guibas 1995] [Veach 1997] PG III (NPGR 010) - J. Křivánek 2013 49

Measurement contribution function emitted radiance sensor sensitivity path throughput (“emitted importance”) PG III (NPGR

Measurement contribution function emitted radiance sensor sensitivity path throughput (“emitted importance”) PG III (NPGR 010) - J. Křivánek 2013 50

Geometry term PG III (NPGR 010) - J. Křivánek 2013 51

Geometry term PG III (NPGR 010) - J. Křivánek 2013 51

(j- cam th er pi a r xe es l v p. alu e)

(j- cam th er pi a r xe es l v p. alu e) all pa m th ea s co sur nt em rib e fu uti nt nc on tio n Path integral formulation ? PG III (NPGR 010) - J. Křivánek 2013 52

Path integral formulation all path all possible lengths vertex positions PG III (NPGR 010)

Path integral formulation all path all possible lengths vertex positions PG III (NPGR 010) - J. Křivánek 2013 53

nt rib fu uti nc on tio n pa th s co all pi

nt rib fu uti nc on tio n pa th s co all pi xe lv alu e Path integral PG III (NPGR 010) - J. Křivánek 2013 54

Rendering : Evaluating the path integral

Rendering : Evaluating the path integral

n nt rib fu uti nc on tio n pa th s co all

n nt rib fu uti nc on tio n pa th s co all pi xe lv alu e Path integral Monte Carlo integration PG III (NPGR 010) - J. Křivánek 2013 56

Monte Carlo integration n General approach to numerical evaluation of integrals Integral: f(x) Monte

Monte Carlo integration n General approach to numerical evaluation of integrals Integral: f(x) Monte Carlo estimate of I: p(x) 0 x 5 x 3 x 1 x 4 x 2 x 6 1 Correct „on average“: PG III (NPGR 010) - J. Křivánek 2013 57

MC evaluation of the path integral Path integral MC estimator n Sample path from

MC evaluation of the path integral Path integral MC estimator n Sample path from some distribution with PDF n Evaluate the probability density n Evaluate the integrand ? ? PG III (NPGR 010) - J. Křivánek 2013 58

Path sampling n Algorithms = different path sampling techniques PG III (NPGR 010) -

Path sampling n Algorithms = different path sampling techniques PG III (NPGR 010) - J. Křivánek 2013 59

Path sampling n Algorithms = different path sampling techniques q Path tracing PG III

Path sampling n Algorithms = different path sampling techniques q Path tracing PG III (NPGR 010) - J. Křivánek 2013 60

Path sampling n Algorithms = different path sampling techniques q Light tracing PG III

Path sampling n Algorithms = different path sampling techniques q Light tracing PG III (NPGR 010) - J. Křivánek 2013 61

Path sampling n Algorithms = different path sampling techniques n Same general form of

Path sampling n Algorithms = different path sampling techniques n Same general form of estimator n No importance transport, no adjoint equations!!! PG III (NPGR 010) - J. Křivánek 2013 63

Path sampling & Path PDF

Path sampling & Path PDF

Local path sampling n 1. Sample one path vertex at a time From an

Local path sampling n 1. Sample one path vertex at a time From an a priori distribution q lights, camera sensors 2. Sample direction from an existing vertex 3. Connect sub-paths q test visibility between vertices PG III (NPGR 010) - J. Křivánek 2013 65

Example – Path tracing 1. 2. 3. 2. 1. 2. 3. A priori distrib.

Example – Path tracing 1. 2. 3. 2. 1. 2. 3. A priori distrib. Direction sampling Connect vertices PG III (NPGR 010) - J. Křivánek 2013 2. 66

Use of local path sampling Path tracing Light tracing PG III (NPGR 010) -

Use of local path sampling Path tracing Light tracing PG III (NPGR 010) - J. Křivánek 2013 Bidirectional path tracing 67

Probability density function (PDF) path PDF joint PDF of path vertices PG III (NPGR

Probability density function (PDF) path PDF joint PDF of path vertices PG III (NPGR 010) - J. Křivánek 2013 68

Probability density function (PDF) path PDF joint PDF of path vertices PG III (NPGR

Probability density function (PDF) path PDF joint PDF of path vertices PG III (NPGR 010) - J. Křivánek 2013 69

Probability density function (PDF) path PDF joint PDF of path vertices product of (conditional)

Probability density function (PDF) path PDF joint PDF of path vertices product of (conditional) vertex PDFs Path tracing example: PG III (NPGR 010) - J. Křivánek 2013 70

Probability density function (PDF) path PDF joint PDF of path vertices product of (conditional)

Probability density function (PDF) path PDF joint PDF of path vertices product of (conditional) vertex PDFs Path tracing example: PG III (NPGR 010) - J. Křivánek 2013 71

Vertex sampling emission sampling n 1. Importance sampling principle Sample from an a priori

Vertex sampling emission sampling n 1. Importance sampling principle Sample from an a priori distrib. 2. Sample direction from an existing vertex 3. Connect sub-paths BRDF lobe sampling high thruput connections PG III (NPGR 010) - J. Křivánek 2013 72

Vertex sampling n Sample direction from an existing vertex PG III (NPGR 010) -

Vertex sampling n Sample direction from an existing vertex PG III (NPGR 010) - J. Křivánek 2013 BRDF lobe sampling 73

Measure conversion a re. a r. t w. so r. t. lid pr an

Measure conversion a re. a r. t w. so r. t. lid pr an oj. gle Sample direction from an existing vertex n BRDF lobe sampling PG III (NPGR 010) - J. Křivánek 2013 74

Summary PG III (NPGR 010) - J. Křivánek 2013 sa co pa th pd

Summary PG III (NPGR 010) - J. Křivánek 2013 sa co pa th pd f m pl pa ed th s nt rib fu uti nc on tio n MC estimator pa th all pi xe lv alu e Path integral 75

Summary n Algorithms q different path sampling techniques q different path PDF PG III

Summary n Algorithms q different path sampling techniques q different path PDF PG III (NPGR 010) - J. Křivánek 2013 76

Odvození integrálu přes prostor cest ze zobrazovací a měřicí rovnice

Odvození integrálu přes prostor cest ze zobrazovací a měřicí rovnice

Tříbodová formulace přenosu světla n Eliminace směrů (pouze body na ploše) PG III (NPGR

Tříbodová formulace přenosu světla n Eliminace směrů (pouze body na ploše) PG III (NPGR 010) - J. Křivánek 2013 78

Zobrazovací rovnice v 3 b formulaci PG III (NPGR 010) - J. Křivánek 2013

Zobrazovací rovnice v 3 b formulaci PG III (NPGR 010) - J. Křivánek 2013 79

Měřicí rovnice v 3 b formulaci Důležitost emitovaná z x’ do x (Značení: šipka

Měřicí rovnice v 3 b formulaci Důležitost emitovaná z x’ do x (Značení: šipka = směr šíření světla, nikoli důležitosti) x’. . . na senzoru x … na ploše scnény PG III (NPGR 010) - J. Křivánek 2013 80

Odvození integrálu přes prostor cest n Do měřicí rovnice v 3 b formulaci se

Odvození integrálu přes prostor cest n Do měřicí rovnice v 3 b formulaci se dosadí Neumannova expanze ZR v 3 b formulaci, vypadne suma integrálů. n Integrand je funkcí příspěvku (contribution function). PG III (NPGR 010) - J. Křivánek 2013 81

“Path integral” – A historical remark n This course [Veach and Guibas 1995], [Veach

“Path integral” – A historical remark n This course [Veach and Guibas 1995], [Veach 1997] q Easily derived form the rendering equation [Veach 1997] n Feynman path integral formulation of quantum mechanics [Feynman and Hibbs 65] n Homogeneous materials [Tessendorf 89, 91, 92] n Rendering [Premože et al. 03, 04] Course: Recent Advances in Light Transport Simulation Jaroslav Křivánek – Bidirectional Path Sampling Techniques 82

Obousměrné sledování cest (Bidirectional path tracing)

Obousměrné sledování cest (Bidirectional path tracing)

Bidirectional path sampling n Algorithms = different path sampling techniques Path tracing Light tracing

Bidirectional path sampling n Algorithms = different path sampling techniques Path tracing Light tracing PG III (NPGR 010) - J. Křivánek 2013 Bidirectional path tracing 84

One bidirectional path sampling technique n n n sample light sub-path sample camera sub-path

One bidirectional path sampling technique n n n sample light sub-path sample camera sub-path connection PG III (NPGR 010) - J. Křivánek 2013 85

One bidirectional path sampling technique n The usual path integral estimator connection terms PG

One bidirectional path sampling technique n The usual path integral estimator connection terms PG III (NPGR 010) - J. Křivánek 2013 86

Digression a re. a r. t w. so r. t. lid pr an oj.

Digression a re. a r. t w. so r. t. lid pr an oj. gle Sample direction from an existing vertex n PG III (NPGR 010) - J. Křivánek 2013 87

One bidirectional path sampling technique n The usual estimator Connection term PG III (NPGR

One bidirectional path sampling technique n The usual estimator Connection term PG III (NPGR 010) - J. Křivánek 2013 88

All possible bidirectional techniques vertex on a light sub-path vertex on en eye subpath

All possible bidirectional techniques vertex on a light sub-path vertex on en eye subpath tracing PG III (NPGR 010) - J. Křivánek 2013 VPLs light tracing 89

All possible bidirectional techniques vertex on a light sub-path vertex on en eye subpath

All possible bidirectional techniques vertex on a light sub-path vertex on en eye subpath tracing no single technique importance terms samples all the VPLs light tracing PG III (NPGR 010) - J. Křivánek 2013 90

Multiple Importance Sampling (MIS) [Veach & Guibas, 95] Combined estimator: f(x) pa(x) PG III

Multiple Importance Sampling (MIS) [Veach & Guibas, 95] Combined estimator: f(x) pa(x) PG III (NPGR 010) - J. Křivánek 2013 pb(x) xa 91

Multiple Importance Sampling (MIS) High MIS weight Low MIS weight Singularity cancelled PG III

Multiple Importance Sampling (MIS) High MIS weight Low MIS weight Singularity cancelled PG III (NPGR 010) - J. Křivánek 2013 92

Bidirectional path tracing n Use all of the above sampling techniques n Combine using

Bidirectional path tracing n Use all of the above sampling techniques n Combine using Multiple Importance Sampling PG III (NPGR 010) - J. Křivánek 2013 93

Image: Dutre et al. Advanced Global Illumination Vzorkovací strategie PG III (NPGR 010) -

Image: Dutre et al. Advanced Global Illumination Vzorkovací strategie PG III (NPGR 010) - J. Křivánek 2013 94

Obousměrné sledování cest n Zobecnění kombinované strategie pro výpočet přímého osvětlení v path traceru

Obousměrné sledování cest n Zobecnění kombinované strategie pro výpočet přímého osvětlení v path traceru n Přímé osvětlení q n Různé strategie nalezení vzorkování bodu na zdroji světla BPT q Různé strategie generovaní celých světelných cest PG III (NPGR 010) - J. Křivánek 2013 95

Obousměrné sledování cest n Pro danou světelnou cestu: q Funkce příspěvku fj() nezávisí na

Obousměrné sledování cest n Pro danou světelnou cestu: q Funkce příspěvku fj() nezávisí na způsobu vzorkování q Hustota pravděpodobnosti závisí na způsobu vzorkování PG III (NPGR 010) - J. Křivánek 2013 96

Vzorkovací techniky v BPT Image: Eric Veach Příklad: Čtyři vzorkovací techniky pro k =

Vzorkovací techniky v BPT Image: Eric Veach Příklad: Čtyři vzorkovací techniky pro k = 2 PG III (NPGR 010) - J. Křivánek 2013 97

Vzorkovací techniky v BPT n Podcesta o t vrcholech vzorkovaná z kamery Podcesta o

Vzorkovací techniky v BPT n Podcesta o t vrcholech vzorkovaná z kamery Podcesta o s vrcholech vzorkovaná ze světla Spojovací segment délky 1 Celková délka cesty: k = s + t – 1 (segmentů) n k+2 možností pro generování cesty délky k n n n PG III (NPGR 010) - J. Křivánek 2013 98

Vzorkovací techniky v BPT n Každá technika má jinou hustotu ps, t n Každá

Vzorkovací techniky v BPT n Každá technika má jinou hustotu ps, t n Každá je účinná při vzorkování jiných světelných efektů n Všechny techniky odhadují stejný integrál PG III (NPGR 010) - J. Křivánek 2013 99

Kombinace vzorkovacích technik n Kombinovaný estimátor (MIS) kombinační strategie (např. vyvážená heuristika) PG III

Kombinace vzorkovacích technik n Kombinovaný estimátor (MIS) kombinační strategie (např. vyvážená heuristika) PG III (NPGR 010) - J. Křivánek 2013 100

BPT Implementation PG III (NPGR 010) - J. Křivánek 2013 101

BPT Implementation PG III (NPGR 010) - J. Křivánek 2013 101

Implementace: Generování cest po skupinách n Generuj podcestu náhodné délky od světla n Generuj

Implementace: Generování cest po skupinách n Generuj podcestu náhodné délky od světla n Generuj podcestu náhodné délky od kamery n Spoj každý prefix cesty od světla s každým sufixem cesty od kamery (cesta = vzorek z hustoty ps, t) PG III (NPGR 010) - J. Křivánek 2013 102

Image: Dutre et al. Advanced Global Illumination Generování cest po skupinách PG III (NPGR

Image: Dutre et al. Advanced Global Illumination Generování cest po skupinách PG III (NPGR 010) - J. Křivánek 2013 103

Images: Eric Veach Results BPT, 25 samples per pixel PT, 56 samples per pixel

Images: Eric Veach Results BPT, 25 samples per pixel PT, 56 samples per pixel PG III (NPGR 010) - J. Křivánek 2013 104

k=2 (2 x) k=3 (4 x) k=4 (8 x) k=5 (16 x) t=2 s=1

k=2 (2 x) k=3 (4 x) k=4 (8 x) k=5 (16 x) t=2 s=1 s = 2. . . s / t = počet vrcholů na podcestě od světla / kamery t=1 105

Porovnání algoritmů © F. Suykens Path tracing Light tracing Bidirectional path tracing Kvíz: Proč

Porovnání algoritmů © F. Suykens Path tracing Light tracing Bidirectional path tracing Kvíz: Proč je skleněná koule černá? PG III (NPGR 010) - J. Křivánek 2013 106

LIMITATIONS OF LOCAL PATH SAMPLING

LIMITATIONS OF LOCAL PATH SAMPLING

Insufficient path sampling techniques Reference solution Bidirectional path tracing 108

Insufficient path sampling techniques Reference solution Bidirectional path tracing 108

Insufficient path sampling techniques n Some paths sampled with zero (or very small) probability

Insufficient path sampling techniques n Some paths sampled with zero (or very small) probability specular – S diffuse – D Course: Recent Advances in Light Transport Simulation Jaroslav Křivánek – Bidirectional Path Sampling Techniques 109

Alternatives to local path sampling n Global path sampling – Metropolis light transport q

Alternatives to local path sampling n Global path sampling – Metropolis light transport q n Leave path integral framework q n Initial proposal still relies on local sampling Density estimation – photon mapping Unify path integral framework and density estimation q Vertex Connection & Merging Course: Recent Advances in Light Transport Simulation Jaroslav Křivánek – Bidirectional Path Sampling Techniques 110

NEARLY THERE…

NEARLY THERE…

“Path integral” – A historical remark n This course [Veach and Guibas 1995], [Veach

“Path integral” – A historical remark n This course [Veach and Guibas 1995], [Veach 1997] q Easily derived form the rendering equation [Veach 1997] n Feynman path integral formulation of quantum mechanics [Feynman and Hibbs 65] n Homogeneous materials [Tessendorf 89, 91, 92] n Rendering [Premože et al. 03, 04] Course: Recent Advances in Light Transport Simulation Jaroslav Křivánek – Bidirectional Path Sampling Techniques 112

Konec E. Veach: Robust Monte Carlo methods for light transport simulation, Ph. D thesis,

Konec E. Veach: Robust Monte Carlo methods for light transport simulation, Ph. D thesis, Stanford University, 1997, pp. 219 -230, 297 -317 http: //www. graphics. stanford. edu/papers/veach_thesis/ PG III (NPGR 010) - J. Křivánek 2013 113