progressive photon mapping basics - 東京大学hachisuka/starpm... · progressive photon mapping...
TRANSCRIPT
![Page 1: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/1.jpg)
Progressive Photon Mapping Basics
Toshiya HachisukaAarhus University
State of the Art in Photon Density Estimation
![Page 2: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/2.jpg)
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]...
Light Transport Simulation Algorithms
![Page 3: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/3.jpg)
(c)Y. Kimura
![Page 4: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/4.jpg)
Light source Eye
Matte Surface
![Page 5: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/5.jpg)
Eye
Transparent Layer
Matte Surface
Light source
![Page 6: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/6.jpg)
Specular-Diffuse-Specular (SDS) paths
S S
D
![Page 7: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/7.jpg)
Metal tube
Light
Lens
![Page 8: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/8.jpg)
Path Tracing
![Page 9: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/9.jpg)
Bidirectional Path Tracing
![Page 10: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/10.jpg)
Metropolis Light Transport
![Page 11: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/11.jpg)
Bidirectional Path Tracing
![Page 12: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/12.jpg)
Bidirectional Path Tracing
![Page 13: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/13.jpg)
![Page 14: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/14.jpg)
![Page 15: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/15.jpg)
![Page 16: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/16.jpg)
Existing methods are not robust for SDS pathsPath tracingBidirectional path tracingMetropolis light transport...name your favorite
Specular-Diffuse-Specular Paths
![Page 17: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/17.jpg)
Existing methods are not robust for SDS pathsPath tracingBidirectional path tracingMetropolis light transport...name your favoritePhoton mapping?
Specular-Diffuse-Specular Paths
![Page 18: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/18.jpg)
Photon Mapping
![Page 19: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/19.jpg)
Photon Mapping
![Page 20: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/20.jpg)
Convergence of Photon Mapping
More photons →
![Page 21: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/21.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 22: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/22.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 23: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/23.jpg)
Conditions of convergenceInfinite number of (neighboring) photonsInfinitely small radius
In practice...More memoryLonger waiting time to the imageRerun the process with different parameters
Convergence of Photon Mapping
![Page 24: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/24.jpg)
Solution:Progressive Photon Mapping
![Page 25: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/25.jpg)
Overview
Initial Pass Photon Pass
![Page 26: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/26.jpg)
Scene
![Page 27: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/27.jpg)
Initial Pass
![Page 28: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/28.jpg)
Initial Pass
* Similar to Havran et al. 2008
![Page 29: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/29.jpg)
Each measurement point:Accumulated flux times BRDFSearch radiusLocal photon count
Global:Emitted photon count
Photon Statistics
τi (x, �ω)Ri (x)
Ne(i)
Ni(x)
![Page 30: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/30.jpg)
Photon Pass
![Page 31: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/31.jpg)
Photon Pass
![Page 32: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/32.jpg)
Photon Pass
![Page 33: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/33.jpg)
Next Photon Pass
![Page 34: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/34.jpg)
Next Photon Pass
![Page 35: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/35.jpg)
Rendering
![Page 36: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/36.jpg)
Converges to the correct solutionInfinite number of photonsInfinitely small radius
Progressive Density Estimation
Li (�ω) =Ni�
p=1
fr (�ω, �ωp)φp (�ωp)πR2
i
![Page 37: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/37.jpg)
Converges to the correct solution
Progressive Density Estimation
Li (�ω) =Ni�
p=1
fr (�ω, �ωp)φp (�ωp)πR2
i
limi→∞
Ni(Ri) = ∞limi→∞
Ri(Ni) = 0
![Page 38: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/38.jpg)
Converges to the correct solution
Progressive Density Estimation
Li (�ω) =Ni�
p=1
fr (�ω, �ωp)φp (�ωp)πR2
i
limi→∞
Ni(Ri) = ∞limi→∞
Ri(Ni) = 0
Recursive density estimation using sample statistics
![Page 39: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/39.jpg)
Progressive Density Estimation
Ri+1 = Ri
�Ni + αMi
Ni + Mi
τi+1 = τiNi + αMi
Ni + Mi
Ni+1 = Ni + αMiNumber of photons
Radius
Accumulated flux
Radiance Li =τi
πRi2 =
�Ni
p=1 frφp
πRi2
![Page 40: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/40.jpg)
Equal-time Comparisons
Metal tube
Light
Lens
![Page 41: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/41.jpg)
Path Tracing
![Page 42: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/42.jpg)
Bidirectional Path Tracing
![Page 43: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/43.jpg)
Metropolis Light Transport
![Page 44: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/44.jpg)
Progressive Photon Mapping
![Page 45: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/45.jpg)
Bidirectional Path Tracing
![Page 46: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/46.jpg)
Progressive Photon Mapping
![Page 47: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/47.jpg)
Bidirectional Path Tracing Progressive Photon Mapping
![Page 48: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/48.jpg)
Metropolis Light Transport
![Page 49: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/49.jpg)
Progressive Photon Mapping
![Page 50: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/50.jpg)
Need an efficient range query of photons (not kNN query)
Be aware of tradeoffTree is adaptive, but costly to constructHash is fast to construct, but not adaptive
Implementation
![Page 51: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/51.jpg)
Important parametersInitial radiusAlpha value (= radius reduction rate)Number of photons per pass
Convergence is guaranteed no matter what(as long as )
Parameters
0 < α < 1
![Page 52: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/52.jpg)
Several optionskNN queries on the first photon mapRay differentialsConstant
Avoid using too large radius Few pixels per photons is usually good
Anton will introduce a better approach
Parameters - Initial Radius
![Page 53: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/53.jpg)
Use 0.6... = 2/3Theoretical optimalWorks well in practiceAdaptive alpha is possible
Anton will tell you more details
Parameters - Alpha Value
![Page 54: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/54.jpg)
Mainly depends on two factorsDesired frequency of visual feedbackCost of making a data structure for range query
Splatting approach can lower this number to one
Parameters - # of Photons Per Pass
![Page 55: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/55.jpg)
smallppm - 128 lines of working PPM code
Sample Code
cs.au.dk/~toshiya/smallppm.cpp
![Page 56: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/56.jpg)
Based on smallpt by Kevin Beason
Splatting approachUses spatial hashing for range queries
Stores αN instead of N for each measurement pointSave some multiplicationsαN is integer while N is not (avoids precision issue)
Sample Code
![Page 57: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/57.jpg)
Use a cylinder kernel around eye raysProgressive extension of beam radiance estimate [Jarosz et al. 08]Equations for radius reduction stay the sameMore details in Section 5.6 of my dissertation
Participating Media
![Page 58: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/58.jpg)
Use a cylinder kernel around eye raysProgressive extension of beam radiance estimate [Jarosz et al. 08]Equations for radius reduction stay the sameMore details in Section 5.6 of my dissertation
Participating Media
![Page 59: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/59.jpg)
Use a cylinder kernel around eye raysProgressive extension of beam radiance estimate [Jarosz et al. 08]Equations for radius reduction stay the sameMore details in Section 5.6 of my dissertation
Participating Media
![Page 60: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/60.jpg)
Infinite number of photons without storing them- “Path tracing”nization of photon mapping
Robust to specular-diffuse-specular pathsConverges to the correct solutionEasy to implement
Summary
![Page 61: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/61.jpg)
PPM in the Wild
![Page 62: Progressive Photon Mapping Basics - 東京大学hachisuka/starpm... · Progressive Photon Mapping Basics Toshiya Hachisuka Aarhus University ... ][Dutré 93] Bidirectional Path Tracing](https://reader030.vdocuments.us/reader030/viewer/2022041109/5f0d2ea27e708231d439135d/html5/thumbnails/62.jpg)
Probabilistic formulation of PPM“How to turn your PM into PPM in a minute!”
Next Talk