Potaov grafika III Bidirectional path tracing Jaroslav Kivnek
Počítačová grafika III – Bidirectional path tracing 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
… and so does path tracing! Jerome White PG III (NPGR 010) - J. Křivánek 2014
Path Tracing funguje! Martin Geupel (Dead. Clown) PG III (NPGR 010) - J. Křivánek 2014
Path Tracing funguje! Chakib Rabia PG III (NPGR 010) - J. Křivánek 2014
PG III (NPGR 010) - J. Křivánek 2014 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 2014
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 2014
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 2014
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 2014
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 2014
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 2014
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 2014
Měřicí rovnice jako skalární součin funkcí n Definujme skalární součin funkcí f a g: n Měřicí rovnice PG III (NPGR 010) - J. Křivánek 2014
Propagace radiance a důležitosti L (radiance) W (důležitost) PG III (NPGR 010) - J. Křivánek 2014
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 2014
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 v zobrazovací rovnici, s tím rozdílem, že parametry BRDF jsou zaměněny (pro odraz výsledek identický, nikoli však pro lom) PG III (NPGR 010) - J. Křivánek 2014
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 2014
Dualita důležitosti a radiance – důkaz PG III (NPGR 010) - J. Křivánek 2014
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 2014
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ě orientovaná) PG III (NPGR 010) - J. Křivánek 2014
Image: Dutre et al. Advanced Global Illumination Sledování světla (light tracing) v praxi PG III (NPGR 010) - J. Křivánek 2014
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 2014
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 2014
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 2014
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 2014
Přenos světla jako integrál přes prostor cest
Light transport n Geometric optics emit travel scatter PG III (NPGR 010) - J. Křivánek 2014 reflect
Light transport n Geometric optics emit travel scatter reflect light transport path PG III (NPGR 010) - J. Křivánek 2014
Light transport n Camera response n all paths hitting the sensor PG III (NPGR 010) - J. Křivánek 2014
(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 2014
Measurement contribution function emitted radiance sensor sensitivity path throughput (“emitted importance”) PG III (NPGR 010) - J. Křivánek 2014
Geometry term PG III (NPGR 010) - J. Křivánek 2014
(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 2014
Path integral formulation all path all possible lengths vertex positions PG III (NPGR 010) - J. Křivánek 2014
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 2014
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 2014
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 2014
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 2014 ? ?
Path sampling n Algorithms = different path sampling techniques PG III (NPGR 010) - J. Křivánek 2014
Path sampling n Algorithms = different path sampling techniques q Path tracing PG III (NPGR 010) - J. Křivánek 2014
Path sampling n Algorithms = different path sampling techniques q Light tracing PG III (NPGR 010) - J. Křivánek 2014
Path sampling n Algorithms = different path sampling techniques n Same general form of estimator PG III (NPGR 010) - J. Křivánek 2014
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 2014
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 2014 2.
Use of local path sampling Path tracing Light tracing PG III (NPGR 010) - J. Křivánek 2014 Bidirectional path tracing
Probability density function (PDF) path PDF joint PDF of path vertices PG III (NPGR 010) - J. Křivánek 2014
Probability density function (PDF) path PDF joint PDF of path vertices PG III (NPGR 010) - J. Křivánek 2014
Probability density function (PDF) path PDF joint PDF of path vertices Path tracing example: PG III (NPGR 010) - J. Křivánek 2014 product of (conditional) vertex PDFs
Probability density function (PDF) path PDF joint PDF of path vertices Path tracing example: PG III (NPGR 010) - J. Křivánek 2014 product of (conditional) vertex PDFs
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 2014
Vertex sampling n Sample direction from an existing vertex PG III (NPGR 010) - J. Křivánek 2014 BRDF lobe sampling
Measure conversion 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 2014 BRDF lobe sampling
Summary PG III (NPGR 010) - J. Křivánek 2014 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
Summary n Algorithms q different path sampling techniques q different path PDF PG III (NPGR 010) - J. Křivánek 2014
Why is the path integral view so useful? n Identify source of problems q n High contribution paths sampled with low probability Develop solutions q Advanced, global path sampling techniques q Combined path sampling techniques (MIS) PG III (NPGR 010) - J. Křivánek 2014
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) n Zavedeme značení: PG III (NPGR 010) - J. Křivánek 2014
Zobrazovací rovnice v 3 b formulaci n Pomocí tohoto značení přeformulujeme ZR PG III (NPGR 010) - J. Křivánek 2014
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 2014
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 2014
“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] PG III (NPGR 010) - J. Křivánek 2014
Obousměrné sledování cest (Bidirectional path tracing)
Bidirectional path tracing Path tracing Light tracing PG III (NPGR 010) - J. Křivánek 2014 Bidirectional path sampling
All possible bidirectional techniques vertex on a light sub-path vertex on en eye sub-path tracing PG III (NPGR 010) - J. Křivánek 2014 light tracing
All possible bidirectional techniques vertex on a light sub-path vertex on en eye sub-path tracing no single technique importance terms samples all the VPLs light tracing PG III (NPGR 010) - J. Křivánek 2014
Multiple Importance Sampling (MIS) [Veach & Guibas, 95] A simple combined estimator: f(x) pa(x) PG III (NPGR 010) - J. Křivánek 2014 pb(x) xa
Bidirectional path tracing n n n Use all of the above sampling techniques Combine using Multiple Importance Sampling Generalizes the combined strategy for calculating direct illumination in a path tracer q q PT: Different strategies for sampling a direction toward a light source BPT: Different strategies for sampling entire light transport paths PG III (NPGR 010) - J. Křivánek 2014
Naive BPT PG III (NPGR 010) - J. Křivánek 2014
MIS weight calculation PG III (NPGR 010) - J. Křivánek 2014
Vzorkovací techniky v BPT Image: Eric Veach Příklad: Čtyři vzorkovací techniky pro k = 2 PG III (NPGR 010) - J. Křivánek 2014
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 2014
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 2014
Kombinace vzorkovacích technik n Kombinovaný estimátor (MIS) kombinační strategie (např. vyvážená heuristika) PG III (NPGR 010) - J. Křivánek 2014
BPT Implementation in practice PG III (NPGR 010) - J. Křivánek 2014
BPT Implementation in practice PG III (NPGR 010) - J. Křivánek 2014
BPT Implementation in practice 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 2014
Images: Eric Veach Results BPT, 25 samples per pixel PT, 56 samples per pixel PG III (NPGR 010) - J. Křivánek 2014
k=2 (2 x) k=3 (4 x) k=4 (8 x) k=5 (16 x) t=2 s=1 s = 2. . . III (NPGR 010) - J. od Křivánek 2014 / kamery s / t = počet vrcholůPGna podcestě světla t=1
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 2014
LIMITATIONS OF LOCAL PATH SAMPLING
Insufficient path sampling techniques Reference solution Bidirectional path tracing
Insufficient path sampling techniques n Some paths sampled with zero (or very small) probability specular – S diffuse – D PG III (NPGR 010) - J. Křivánek 2014
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 PG III (NPGR 010) - J. Křivánek 2014
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 2014
- Slides: 89