path differentials for mc rendering frank suykens department of computer science k.u.leuven, belgium...
TRANSCRIPT
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