Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Počítačová grafika III – Všehochuť Jaroslav Křivánek, MFF UK

Podobné prezentace


Prezentace na téma: "Počítačová grafika III – Všehochuť Jaroslav Křivánek, MFF UK"— Transkript prezentace:

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

2 “Science, it works … (bitches!) ” Quote from Richard Dawkins http://www.youtube.com/watch?v=n6hxo1sC-dU PG III (NPGR010) - J. Křivánek 20132

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

4 Path Tracing funguje! PG III (NPGR010) - J. Křivánek 2013 4 Martin Geupel (DeadClown)

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

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

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

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

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

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

11 Quasi Monte Carlo Metody

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

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

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

15 Discrepancy Discrepancy (of a point sequence) is the maximum possible error of the MC quadrature of the “brick” function over all possible brick shapes:  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 (NPGR010) - J. Křivánek 2013 15

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

17 Van der Corput Sequence (base 2) 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 (NPGR010) - J. Křivánek 2013 17

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

19 Van der Corput Sequence (base b) double RadicalInverse(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 (NPGR010) - J. Křivánek 2013 19

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

21 Použité pro path tracing Cesty jsou body ve vysokodimenzionálním prostoru Veškerá náhodná čísla použitá pro konstrukci jedné cestu jsou různé komponenty jednoho dlouhého „náhodného vektoru“ Další cesta – další náhodný vektor ve vysokodimenzionálním prostoru. 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 (NPGR010) - J. Křivánek 2013 21

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

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

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

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

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

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

28 Měřicí rovnice

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

30 Měřicí rovnice PG III (NPGR010) - J. Křivánek 2013 30 odezva virtuálního (lineárního) senzoru na radianci (barva pixelu) 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 W e ) relativní odezva senzoru (váha) různé W e pro každý senzor (pixel)

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

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

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

34 Důležitost (importance) W e 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: … W e interpretujeme jako veličinu emitovanou ze senzorů (stejně jako je radiance L e emitovaná ze zdrojů světla) Takto interpretovanou veličinu W e nazýváme emitovanou funkcí důležitosti (emitted importance function, emitted potential function) PG III (NPGR010) - J. Křivánek 2013 34

35 Přenos důležitosti 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: PG III (NPGR010) - J. Křivánek 2013 35 Jako zobrazovací rovnice, s tím rozdílem, že argumenty BRDF jsou přehozeny (pro odraz identické, nikoli však pro lom)

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

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

38 Dualita v praxi: Sledování světla Sledování cest (path tracing)  Rekurzivně řeší zobrazovací rovnici Sledování světla (light tracing)  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 (NPGR010) - J. Křivánek 2013 38

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

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

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

42 Pokročilé metody simulace transportu světla

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

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

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

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

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

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

49 Path integral formulation camera resp. (j-th pixel value) all paths measurement contribution function 49 [Veach and Guibas 1995] [Veach 1997] PG III (NPGR010) - J. Křivánek 2013

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

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

52 Path integral formulation camera resp. (j-th pixel value) all paths measurement contribution function ? 52 PG III (NPGR010) - J. Křivánek 2013

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

54 Path integral pixel value all paths contribution function 54 PG III (NPGR010) - J. Křivánek 2013

55 Rendering : Evaluating the path integral

56 Path integral pixel value all paths contribution function Monte Carlo integration 56 PG III (NPGR010) - J. Křivánek 2013

57 Monte Carlo integration General approach to numerical evaluation of integrals x1x1 f(x)f(x) 01 p(x)p(x) x2x2 x3x3 x4x4 x5x5 x6x6 Integral: Monte Carlo estimate of I: Correct „on average“: 57 PG III (NPGR010) - J. Křivánek 2013

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

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

60 Algorithms = different path sampling techniques  Path tracing Path sampling 60 PG III (NPGR010) - J. Křivánek 2013

61 Algorithms = different path sampling techniques  Light tracing Path sampling 61 PG III (NPGR010) - J. Křivánek 2013

62 Algorithms = different path sampling techniques  Bidirectional path tracing Path sampling 62 PG III (NPGR010) - J. Křivánek 2013

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

64 Path sampling & Path PDF

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

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

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

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

69 Probability density function (PDF) path PDF joint PDF of path vertices 69 PG III (NPGR010) - 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: 70 PG III (NPGR010) - J. Křivánek 2013

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

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

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

74 Measure conversion BRDF lobe sampling Sample direction from an existing vertex 74 PG III (NPGR010) - J. Křivánek 2013 w.r.t. area w.r.t. proj. solid angle

75 Summary Path integral pixel value all paths contribution function MC estimator path pdf sampled path 75 PG III (NPGR010) - J. Křivánek 2013

76 Summary Algorithms  different path sampling techniques  different path PDF 76 PG III (NPGR010) - J. Křivánek 2013

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

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

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

80 Měřicí rovnice v 3b 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 (NPGR010) - J. Křivánek 2013 80

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

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

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

84 Bidirectional path sampling Algorithms = different path sampling techniques Path tracingLight tracing Bidirectional path tracing 84 PG III (NPGR010) - J. Křivánek 2013

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

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

87 Digression Sample direction from an existing vertex 87 w.r.t. area w.r.t. proj. solid angle PG III (NPGR010) - J. Křivánek 2013

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

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

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

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

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

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

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

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

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

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

98 Vzorkovací techniky v BPT 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ů) k+2 možností pro generování cesty délky k PG III (NPGR010) - J. Křivánek 2013 98

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

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

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

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

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

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

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

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

107 LIMITATIONS OF LOCAL PATH SAMPLING

108 Insufficient path sampling techniques Reference solution Bidirectional path tracing 108

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

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

111 NEARLY THERE…

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

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


Stáhnout ppt "Počítačová grafika III – Všehochuť Jaroslav Křivánek, MFF UK"

Podobné prezentace


Reklamy Google