Upload
silas-russell
View
219
Download
0
Tags:
Embed Size (px)
Citation preview
Path Differentials Path Differentials for MC Renderingfor MC Rendering
Frank Suykens
Department of Computer ScienceK.U.Leuven, Belgium
Dagstuhl 2001: Stochastic methods in Rendering
Path differentials 2
Monte Carlo RenderingMonte Carlo Rendering
• Few samples noise– Supersampling / Variance reduction– Exploit coherence in the ‘neighborhood’ of a path
Path differentials 3
Neighborhood of a pathNeighborhood of a path
• Region of influence
• Distance to neighboring paths
• Density
• ‘Footprint’
Applications:• Texture filtering
• Splatting
• Hierarchical refinement
• …
Noise vs. Bias
V
Path differentials 4
Related Work (Non MC)Related Work (Non MC)
• Extend path to finite width: beam, cone, pencil (Heckbert, Amanatides, Shinia et.al.)– difficult intersections, reflections and refractions
• Maintain connectivity (Collins)– diverging ray trees
• Ray differentials (Igehy)– Derivatives : based on point samples!
• Specular path perturbations (Chen, Arvo)
Path differentials 5
OverviewOverview
• Path sampling• Path derivatives, differentials, footprint• Path gradient• Applications & results• Conclusions
Compute derivatives of directions and vertices in a path to estimate a ‘footprint’, the region of influence of the path
Ov
erv
iew
Generalization of
Ray differentials
Path differentials 6
Path SamplingPath Sampling
D
V
D’V’
D’ = h( D, V, x, y )
Random variables
Sampling of new directions and vertices in a path:
Importance Sampling:
• BRDF
• Light sources
• …
Path differentials 7
Path SamplingPath Sampling
D
V
D’V’
D’ = g( x1 , x2 , … , xk )
Unit random variables
Sampling of new directions and vertices in a path:
‘Path generation function’
Domain Path
g
Path differentials 8
Path DerivativesPath Derivatives
j
kj
j x
xxxg
x
D
),...,,...,(' 1
D
V
D’ V’jx
D
'
Partial derivatives for all random variables:
Sensitivity in terms of xj
Path differentials 9
Path DerivativesPath Derivatives
j
kjv
j x
xxxg
x
V
),...,,...,(' 1
Vertex derivatives :
V’
jx
V
'
N
Path differentials 10
Path PerturbationPath Perturbation
),...,,...,( kjj1 xxxxgVV
Vertex perturbation :
V
jVV
jj
k1j x
x
xxgV
),...,(
Differential Vector
Path differentials 11
Footprint approximation
Path FootprintPath FootprintFootprint : All points reachable given perturbation
intervals [ -xj , xj ] (for each j)
D
Other footprint definitions possible (e.g. convolution)
jj
k xx
xg
)( ..1
V
Path differentials 12
Derivative ComputationDerivative Computation
• Derive all sampling procedures:
D’ = h( D, V, x, y )
• Transfer: V, D’ V’ = r ( V, D’ )(Trace a ray, cfr. Ray differentials)
• Relatively simple!
jj
k xx
xg
)( ..1
Path differentials 13
• Determine footprint size • Based on number of samples
• Many samples: smaller delta’s:
• Based on path gradient
Choose IntervalsChoose Intervals jj
k xx
xg
)( ..1
0x 1x
kj Nx /1
0x1x
0 1
1
0x
1x
Domain Path
Path differentials 14
Path GradientPath Gradient
• Partial derivatives of path evaluation
V
jVV
...cos)( ..1 rek fWxF
jj
xx
FF
Error threshold xj
jj
k xx
xg
)( ..1
Path differentials 16
Application: Texture FilteringApplication: Texture Filtering
• Classical ray tracing, but:• Glossy reflection/refraction (mod. Phong)
• Texture filtering over footprint
(Box filter)
Glo
ssy
V
Path differentials 17
Application: Texture FilteringApplication: Texture Filtering
Filtering, no gradient
Filtering, gradient
No filtering
Reference
Samples: 1/pixel, 4/scatter
Path differentials 18
Application: RadiosityApplication: Radiosity
• Hierarchical particle tracing radiosity
• Footprint size subdivision level
Path differentials 20
Application: RadiosityApplication: Radiosity
Hierarchical (footprint)
Non hierarchical (pre-meshed)
Path differentials 21
ConclusionsConclusions
• Derivatives of vertices, directions, path evaluation useful for:– Footprint estimates, perturbations, …
• Exploit coherence over footprint– Applicable to many MC methods based on
path sampling– Bias vs. Noise
• See EGWR 2001 paper