path differentials for mc rendering frank suykens department of computer science k.u.leuven, belgium...

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

Upload: silas-russell

Post on 18-Dec-2015

219 views

Category:

Documents


0 download

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 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