Potaov grafika III Vehochu Jaroslav Kivnek MFF UK
















































































![“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](https://slidetodoc.com/presentation_image_h2/fa204b2ef694457cbaf2bba66945729f/image-81.jpg)








![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](https://slidetodoc.com/presentation_image_h2/fa204b2ef694457cbaf2bba66945729f/image-90.jpg)




















![“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](https://slidetodoc.com/presentation_image_h2/fa204b2ef694457cbaf2bba66945729f/image-111.jpg)

- Slides: 112
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 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. Křivánek 2013 3
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
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 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 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 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” 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
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) - J. Křivánek 2013 13
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 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 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 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, 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) { 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 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á čí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 2013 22
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é „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) - J. Křivánek 2013 25
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) - J. Křivánek 2013 27
Měřicí rovnice
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) 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 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: 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. Křivánek 2013 33
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 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 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á 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ší 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 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 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č je skleněná koule černá? PG III (NPGR 010) - J. Křivánek 2013 41
Pokročilé metody simulace transportu světla
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 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
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) - J. Křivánek 2013 47
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) 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 010) - J. Křivánek 2013 50
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) 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) - J. Křivánek 2013 53
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
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 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 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) - J. Křivánek 2013 59
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 (NPGR 010) - J. Křivánek 2013 61
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
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. 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) - J. Křivánek 2013 Bidirectional path tracing 67
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 010) - J. Křivánek 2013 69
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) 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 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) - J. Křivánek 2013 BRDF lobe sampling 73
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 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 (NPGR 010) - J. Křivánek 2013 76
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 010) - J. Křivánek 2013 78
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 = 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 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 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)
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 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 III (NPGR 010) - J. Křivánek 2013 86
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 010) - J. Křivánek 2013 88
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 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 (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 (NPGR 010) - J. Křivánek 2013 92
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) - 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 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 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 = 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 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á 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 (NPGR 010) - J. Křivánek 2013 100
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 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 010) - J. Křivánek 2013 103
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 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č je skleněná koule černá? PG III (NPGR 010) - J. Křivánek 2013 106
LIMITATIONS OF LOCAL PATH SAMPLING
Insufficient path sampling techniques Reference solution Bidirectional path tracing 108
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 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…
“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, 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