MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
PATH CONSTRUCTION
Iliyan Georgiev
Solid Angle
PATH CONSTRUCTION Iliyan Georgiev Solid Angle MONTE CARLO METHODS - - PowerPoint PPT Presentation
PATH CONSTRUCTION Iliyan Georgiev Solid Angle MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION PATH INTEGRAL FRAMEWORK Pixel value Z I j = f j ( x ) d x P Z Pixel estimator P N h I j i = 1 f j ( x i ) X p ( x i ) N i =1
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
Solid Angle
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
2 — PATH CONSTRUCTION
Ij = Z
P
fj(x)dx
Pixel value
Z
P
hIji = 1 N
N
X
i=1
fj(xi)
Pixel estimator
p(xi)
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
3 — PATH CONSTRUCTION
Ij = Z
P
fj(x)dx
Pixel value Pixel estimator
p(xi)
path pdf
Z
P
hIji = 1 N
N
X
i=1
fj(xi)
path contribution
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
4 — PATH CONSTRUCTION
Path contribution
fj(x) = Wj(x0, x1) "Y
i
fs(xi)G(xi, xi+1)T(xi, xi+1) # Le(xk, xk−1) x0
0 x1 1 xk 1 xk−1
Ij = Z
P
fj(x)dx
Pixel value Pixel estimator
p(xi)
Z
P
hIji = 1 N
N
X
i=1
fj(xi)
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
5 — PATH CONSTRUCTION
Path contribution
fj(x) = Wj(x0, x1) "Y
i
fs(xi)G(xi, xi+1)T(xi, xi+1) # Le(xk, xk−1)
camera response
x0
0 x1 1 xk 1 xk−1
Ij = Z
P
fj(x)dx
Pixel value Pixel estimator
p(xi)
Z
P
hIji = 1 N
N
X
i=1
fj(xi)
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
6 — PATH CONSTRUCTION
Path contribution
fj(x) = Wj(x0, x1) "Y
i
fs(xi)G(xi, xi+1)T(xi, xi+1) # Le(xk, xk−1) x0
0 x1 1 xk 1 xk−1
BSDF/ phase
Ij = Z
P
fj(x)dx
Pixel value Pixel estimator
p(xi)
Z
P
hIji = 1 N
N
X
i=1
fj(xi)
camera response
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
7 — PATH CONSTRUCTION
Path contribution
fj(x) = Wj(x0, x1) "Y
i
fs(xi)G(xi, xi+1)T(xi, xi+1) # Le(xk, xk−1) x0
0 x1 1 xk 1 xk−1
geometry
Ij = Z
P
fj(x)dx
Pixel value Pixel estimator
p(xi)
Z
P
hIji = 1 N
N
X
i=1
fj(xi)
BSDF/ phase camera response
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
8 — PATH CONSTRUCTION
Path contribution
fj(x) = Wj(x0, x1) "Y
i
fs(xi)G(xi, xi+1)T(xi, xi+1) # Le(xk, xk−1) x0
0 x1 1 xk 1 xk−1
transmittance
Ij = Z
P
fj(x)dx
Pixel value Pixel estimator
p(xi)
Z
P
hIji = 1 N
N
X
i=1
fj(xi)
geometry BSDF/ phase camera response
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
9 — PATH CONSTRUCTION
Path contribution
fj(x) = Wj(x0, x1) "Y
i
fs(xi)G(xi, xi+1)T(xi, xi+1) # Le(xk, xk−1) x0
0 x1 1 xk 1 xk−1
emitted radiance
Ij = Z
P
fj(x)dx
Pixel value Pixel estimator
p(xi)
Z
P
hIji = 1 N
N
X
i=1
fj(xi)
transmittance geometry BSDF/ phase camera response
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
10 — PATH CONSTRUCTION
Path contribution
fj(x) = Wj(x0, x1) "Y
i
fs(xi)G(xi, xi+1)T(xi, xi+1) # Le(xk, xk−1) x0
0 x1 1 xk 1 xk−1
Ij = Z
P
fj(x)dx
Pixel value Pixel estimator
p(xi)
Z
P
hIji = 1 N
N
X
i=1
fj(xi)
emitted radiance transmittance geometry BSDF/ phase camera response
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
Z
P
hIji = 1 N
N
X
i=1
fj(xi)
Ij = Z
P
fj(x)dx
Pixel value Pixel estimator
p(xi)
11 — PATH CONSTRUCTION
Path contribution
fj(x) = Wj(x0, x1) "Y
i
fs(xi)G(xi, xi+1)T(xi, xi+1) # Le(xk, xk−1) x0
0 x1 1 xk 1 xk−1
ideally proportional emitted radiance transmittance geometry BSDF/ phase camera response
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
12 — PATH CONSTRUCTION
ω1 x0
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
13 — PATH CONSTRUCTION
x0
0 x1
p(t1|x0, ω1) ∝ T(x0, x1)
distance sampling
ω1
p(t1|
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
14 — PATH CONSTRUCTION
x0
0 x1
direction sampling
p(ω2|x1) ∝ fs(x1)
ω2
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
15 — PATH CONSTRUCTION
x0
0 x1
distance sampling
x2 ω2
p(t2|x1, ω2) ∝ T(x1, x2) p(t2|
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
16 — PATH CONSTRUCTION
x0
0 x1 2 x3 3 x4 4 x5
x2
A series of distance and direction sampling decisions
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
17 — PATH CONSTRUCTION
p(x) ∝ Wj(x0, x1) "Y
i
fs(xi)G(xi, xi+1)T(xi, xi+1) # ) # Le(xk, xk−1)
not importance sampled high variance when light sources are small cannot render illumination from point light sources
x0
0 x1
2 x3
3 x4 4 x5
x2
A series of distance and direction sampling decisions
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
18 — PATH CONSTRUCTION
x0 x2
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
19 — PATH CONSTRUCTION
x0
0 x1
x2
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
20 — PATH CONSTRUCTION
x0 x2
p(t1|x0) ∝ T(x0, x1)
0 x1
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
21 — PATH CONSTRUCTION
x0 x2
T(x0, x1) ∈ [0, 1]
/ G(x1, x2) = 1 kx1, x2k2 2 [0, 1]
0 x1
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
22 — PATH CONSTRUCTION
x0 x2
p(t1|x0) / G(x1, x2) = 1 kx1, x2k2
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
23 — PATH CONSTRUCTION
x0 x2
p(t1|x0) / G(x1, x2) = 1 kx1, x2k2
uniform angular distribution
Transmittance sampling, 16 spp Equiangular sampling, 16 spp
MIS combination Transmittance sampling Equiangular sampling
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
26 — PATH CONSTRUCTION
x0
0 x1 2 x3
x2
Equiangular connections Transmittance connections
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
angular singularity
28 — PATH CONSTRUCTION
x0
0 x1 2 x3
x2
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
29 — PATH CONSTRUCTION
x0
2 x3
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
30 — PATH CONSTRUCTION
x0
2 x3 0 x1
x2
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
31 — PATH CONSTRUCTION
x0
2 x3 0 x1
x2
J
n t p a t h s a m p l i n g : 1 ) P r e s c r i b e j
n t p d f 2 ) D e r i v e c
d i t i
a l p d f s v i a s u c c e s s i v e j
n t p d f m a r g i n a l i z a t i
3 ) C
d i t i
a l s a r e
t a i n e d i n r e v e r s e
d e r
TRADITIONAL: prescribes conditional pdfs, no explicit control over joint pdf JOINT SAMPLING: prescribe joint pdf, conditional pdfs derived from it
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
32 — PATH CONSTRUCTION
p(x1, x2) ∝ G(x0, x1)G(x1, x2)G(x2, x3)
joint pdf
x0
2 x3 0 x1
x2
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
33 — PATH CONSTRUCTION
x0
2 x3 0 x1
p(t1) / 1 kx3 x1k
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
34 — PATH CONSTRUCTION
x0
2 x3 0 x1
ω2 θ2
θ2 = 0 Cancels singularity at
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
ω2
35 — PATH CONSTRUCTION
x0
2 x3 0 x1
x2
p(t2) / 1 kx3 x2k2
equiangular pdf
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
36 — PATH CONSTRUCTION
x0
2 x3 0 x1
x2 p(x1, x2) ∝ G(x0, x1)G(x1, x2)G(x2, x3)
joint pdf
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
p(x1, x2) ∝ G(x0, x1)G(x1, x2)G(x2, x3)fs(x1)fs(x2)
37 — PATH CONSTRUCTION
x0
2 x3 0 x1
x2
joint pdf via tabulation
Equiangular Transmittance Joint sampling
path lengths 1-3
isotropic phase function
Equiangular Transmittance Joint sampling
path lengths 1-8
isotropic phase function
Joint tabulated path sampling Transmittance connections
path lengths 1-3
anisotropic phase function
Joint tabulated path sampling Transmittance connections
path lengths 1-8
anisotropic phase function
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
42 — PATH CONSTRUCTION
2 x3 3 x4 4 x5
x2
0 x1
x0
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
43 — PATH CONSTRUCTION
2 x3 3 x4 4 x5
x2
0 x1
x0 (s, t) = (6, 0)
# vertices from light
Sampling technique
# vertices from eye
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
44 — PATH CONSTRUCTION
2 x3 3 x4 4 x5
x2
0 x1
x0 (s, t) = (5, 1)
Sampling technique
# vertices from light
# vertices from eye
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
45 — PATH CONSTRUCTION
2 x3 3 x4 4 x5
x2
0 x1
x0 (s, t) = (4, 2)
Sampling technique
# vertices from light
# vertices from eye
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
46 — PATH CONSTRUCTION
2 x3 3 x4 4 x5
x2
0 x1
x0 (s, t) = (3, 3)
Sampling technique
# vertices from light
# vertices from eye
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
47 — PATH CONSTRUCTION
2 x3 3 x4 4 x5
x2
0 x1
x0 (s, t) = (2, 4)
Sampling technique
# vertices from light
# vertices from eye
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
48 — PATH CONSTRUCTION
2 x3 3 x4 4 x5
x2
0 x1
x0 (s, t) = (1, 5)
Sampling technique
# vertices from light
# vertices from eye
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
49 — PATH CONSTRUCTION
2 x3 3 x4 4 x5
x2
0 x1
x0 (s, t) = (0, 6)
Sampling technique
# vertices from light
# vertices from eye
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
50 — PATH CONSTRUCTION
2 x3 3 x4 4 x5
x2
0 x1
x0
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
51 — PATH CONSTRUCTION
4 x5
x2
0 x1
x0
2 x3 3 x4
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
52 — PATH CONSTRUCTION
4 x5
x2
0 x1
x0
2 x3 3 x4
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
53 — PATH CONSTRUCTION
4 x5
x2
0 x1
x0
2 x3 3 x4
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
54 — PATH CONSTRUCTION
4 x5
x2
0 x1
x0
2 x3 3 x4
hIji = X
s≥0
X
t≥0
ws,t(xi,j) fj(xi,j) ps,t(xi,j)
Combined MIS pixel estimator:
# vertices from light
# vertices from eye
MONTE CARLO METHODS FOR VOLUMETRIC LIGHT TRANSPORT SIMULATION
55 — DISTANCE SAMPLING
UNIDIRECTIONAL SAMPLING
NEXT EVENT ESTIMATION
JOINT PATH SAMPLING
BIDIRECTIONAL PATH TRACING