Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination...
Transcript of Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination...
![Page 1: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/1.jpg)
Progressive Photon Mapping Basics
Toshiya HachisukaAarhus University
State of the Art in Photon Density EstimationSIGGRAPH 2012 Course
![Page 2: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/2.jpg)
(c)Y. Kimura
![Page 3: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/3.jpg)
Global Illumination Algorithms
• Path Tracing [Kajiya 86]
• Light Tracing [Arvo 86][Dutré 93]
• Bidirectional Path Tracing [Lafortune 93][Veach 95]
• Photon Mapping [Jensen 95]
• Density Estimation [Shirley 95]
• Instant Radiosity [Keller 97]
• Metropolis Light Transport [Veach 97]
• Lightcuts [Walter 05]
• Energy Redistribution Path Tracing [Cline 05]
• ...
![Page 4: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/4.jpg)
Light source Eye
Matte Surface
![Page 5: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/5.jpg)
Eye
Transparent Layer
Matte Surface
Light source
![Page 6: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/6.jpg)
Matte Surface
Specular-Diffuse-Specular PathsEye
Transparent Layer
Light source
![Page 7: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/7.jpg)
Metal tube
Light
Lens
![Page 8: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/8.jpg)
Path Tracing
![Page 9: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/9.jpg)
Bidirectional Path Tracing
![Page 10: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/10.jpg)
Metropolis Light Transport
![Page 11: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/11.jpg)
![Page 12: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/12.jpg)
![Page 13: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/13.jpg)
![Page 14: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/14.jpg)
Specular-Diffuse-Specular Paths
• Existing methods are not robust for SDS paths
• Path tracing
• Bidirectional path tracing
• Metropolis light transport
• ...name your favorite
![Page 15: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/15.jpg)
Specular-Diffuse-Specular Paths
• Existing methods are not robust for SDS paths
• Path tracing
• Bidirectional path tracing
• Metropolis light transport
• ...name your favorite
• Photon mapping?
![Page 16: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/16.jpg)
Photon Mapping
![Page 17: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/17.jpg)
Photon Mapping
![Page 18: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/18.jpg)
Convergence of Photon Mapping
More photons →
![Page 19: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/19.jpg)
• Infinite number of nearby photons (Nβ→∞)
• Infinitely small radius (r→0)
Convergence of Photon Mapping
L(x, �ω) = limN→∞
Nβ�
p=1
fr(x, �ω, �ωp)φp(xp, �ωp)
πr2
![Page 20: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/20.jpg)
• Infinite number of nearby photons (Nβ→∞)
• Infinitely small radius (r→0)
Convergence of Photon Mapping
L(x, �ω) = limN→∞
Nβ�
p=1
fr(x, �ω, �ωp)φp(xp, �ωp)
πr2
Infinite storage & photon tracing
![Page 21: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/21.jpg)
Solution:Progressive Photon Mapping
![Page 22: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/22.jpg)
Initial Pass Photon Pass
Overview
![Page 23: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/23.jpg)
![Page 24: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/24.jpg)
Initial Pass
![Page 25: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/25.jpg)
Initial Pass
![Page 26: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/26.jpg)
Photon Statistics
• Each measurement point:
• Accumulated flux times BRDF
• Search radius
• Local photon count
• Global:
• Emitted photon count
τi (x, �ω)
Ri (x)
Ne(i)
Ni(x)
![Page 27: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/27.jpg)
Photon Pass
![Page 28: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/28.jpg)
Photon Pass
![Page 29: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/29.jpg)
Photon Pass
![Page 30: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/30.jpg)
Next Photon Pass
![Page 31: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/31.jpg)
Next Photon Pass
![Page 32: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/32.jpg)
Rendering
![Page 33: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/33.jpg)
Li (�ω) =Ni�
p=1
fr (�ω, �ωp)φp (�ωp)πR2
i
• Converges to the correct solution
• Infinite number of photons
• Infinitely small radius
Progressive Density Estimation
![Page 34: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/34.jpg)
Equal-time Comparisons
Metal tube
Light
Lens
![Page 35: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/35.jpg)
Path Tracing
![Page 36: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/36.jpg)
Bidirectional Path Tracing
![Page 37: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/37.jpg)
Metropolis Light Transport
![Page 38: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/38.jpg)
Progressive Photon Mapping
![Page 39: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/39.jpg)
Bidirectional Path Tracing Progressive Photon Mapping
![Page 40: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/40.jpg)
Metropolis Light Transport
![Page 41: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/41.jpg)
Progressive Photon Mapping
![Page 42: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/42.jpg)
Sample Code
• smallppm - 128 lines of working PPM code
cs.au.dk/~toshiya/smallppm.cpp
![Page 43: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/43.jpg)
Summary
• Infinite number of photons without storing them- “Path tracing”nization of photon mapping
• Robust to specular-diffuse-specular paths
• Converges to the correct solution
• Easy to implement
![Page 44: Progressive Photon Mapping - 東京大学hachisuka/starpm2012/PPM_Basics.pdf · Global Illumination Algorithms • Path Tracing [Kajiya 86] • Light Tracing [Arvo 86][Dutré 93]](https://reader034.fdocuments.net/reader034/viewer/2022042323/5f0d2ea27e708231d439135c/html5/thumbnails/44.jpg)
PPM in the Wild