21
Path Path Differentials Differentials for MC for MC Rendering Rendering Frank Suykens Department of Computer Science K.U.Leuven, Belgium Dagstuhl 2001: Stochastic methods in Rendering

Path Differentials for MC Rendering Frank Suykens Department of Computer Science K.U.Leuven, Belgium Dagstuhl 2001: Stochastic methods in Rendering

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 19

Application: RadiosityApplication: Radiosity

400.000 paths, with gradient

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

Path differentials 22

Future WorkFuture Work

• Other footprint estimates – use convolution

• Other derivative uses– Use path perturbations directly

• Apply to other global illumination algorithms (Importance maps)

• Include visibility