39
Slide 1 Lastra, 03/25/22 Monte-Carlo Methods

Monte-Carlo Methods

Embed Size (px)

DESCRIPTION

Monte-Carlo Methods. Topics. Kajiya’s paper Showed that existing rendering methods are approximations of rendering equation. Introduced path tracing. More recent work – Lafortune, Veach. Kajiya’s Rendering Equation. Expressed as point-to-point transfer Integral is over S , - PowerPoint PPT Presentation

Citation preview

Slide 1Lastra, 04/19/23

Monte-Carlo Methods

Slide 2Lastra, 04/19/23

Topics

• Kajiya’s paper

–Showed that existing rendering methods are approximations of rendering equation.

–Introduced path tracing.

• More recent work – Lafortune, Veach.

Slide 3Lastra, 04/19/23

Kajiya’s Rendering Equation

• Expressed as point-to-point transfer

• Integral is over S,

union of all surfaces

S

dxxx)Iρ(x,x',x(x, x')xxgxxI ")",("ε)',()',(

Slide 4Lastra, 04/19/23

Rendering Equation Terms

• is unoccluded two-point transport intensity

• Energy per unit time per unit area of source per unit area of target

S

dxxx)Iρ(x,x',x(x, x')xxgxxI ")",'("ε)',()',(

)',( xxI

Slide 5Lastra, 04/19/23

Rendering Equation Terms

• is geometry term

• 0 if x not visible from x’, 1/r2 if visible.

S

dxxx)Iρ(x,x',x(x, x')xxgxxI ")",'("ε)',()',(

)',( xxg

Slide 6Lastra, 04/19/23

Rendering Equation Terms

• is unoccluded emittance term

S

dxxx)Iρ(x,x',x(x, x')xxgxxI ")",'("ε)',()',(

)',(ε xx

Slide 7Lastra, 04/19/23

Rendering Equation Terms

• is unoccluded three-point transport reflectance (scattering term)

• Intensity scattered to x by x’ originating from x”

S

dxxx)Iρ(x,x',x(x, x')xxgxxI ")",'("ε)',()',(

)",',( xxx

Slide 8Lastra, 04/19/23

Why express as point-to-point?

• Wants to set up for a path tracing solution

–Point-to-point transfer of energy

Slide 9Lastra, 04/19/23

Relationship to OtherRendering Methods

• Compared rendering eqn. to conventional polygon rendering, ray tracing and distributed ray tracing.

• Let scattering,

S

dxxx)Iρ(x,x',xM ")",'("

Slide 10Lastra, 04/19/23

Relationship to “Utah Approx.”

• Geometry term, g, only computed to eye.

• g is ambient term.

• Scattering operator, M, only operates on point sources (0), ignores visibility to light (no shadows).

• M is now only sum over lights, not integration

• Later extensions for shadows and area lights

0εε gMgI

Slide 11Lastra, 04/19/23

Relationship to Ray Tracing

• M0 now one reflection, one refraction, and cosine for diffuse term

• Computes visibility, g, of point lights (generates shadow)

• M still small sum

00000 gεgεε gMgMgMgI

Slide 12Lastra, 04/19/23

Relationship to Distributed Ray Tracing

• Similar equation to Whitted’s

• Now need to evaluate M as integral

• M now distribution around reflection, refraction, and shadow ray

• Ambient term still “elusive”

Slide 13Lastra, 04/19/23

Relationship to Radiosity

• Solves energy balance, but only for diffuse.

• Derives equations for radiosity from the one presented.

• Points out that solving visibility is expensive and that you may not need radiosity for all surfaces (on other hand, you might).

Slide 14Lastra, 04/19/23

Kajiya’s Path Tracing

Slide 15Lastra, 04/19/23

Method

• At each hit,

–One ray cast based on specular, diffuse, and transmission coefficients

–One random ray per light

• Constant number of rays per pixel (40)

Slide 16Lastra, 04/19/23

Markov Chains for Solution

Absorbing state

p = 0.11

p = 0.08

p = 0.02 p = 1

Slide 17Lastra, 04/19/23

Algorithm

1. Choose pt. x’ visible from eye

2. Add in radiated intensity

3. For length of Markov path

1. Select pt. x” and compute g(x’, x”)

2. Calculate reflectance (x, x’, x”), multiply by (x’, x”)

3. Add contribution to pixel

Slide 18Lastra, 04/19/23

Sampling

• Most important factor in Monte Carlo

– Need to avoid bias

– But also need to make most out of few rays

– Otherwise, noisy images

• Kajiya discusses several ways.

• Better to look in more modern reference

– Glassner

– Recent dissertations

Slide 19Lastra, 04/19/23

Path Tracing

• Postulates that even for ray tracing, following one path (probabilistically) is better.

• Why? Most contribution from first ray.

• Need to be careful about proportion of reflection, refraction, and shadow rays.

Slide 20Lastra, 04/19/23

Results

401 minutes401 minutes 533 minutes533 minutes

256 x 256 image256 x 256 image

Ray TracedRay Traced(no ambient)(no ambient) Path TracedPath Traced

Light Light scattered scattered by sphereby sphere

Slide 21Lastra, 04/19/23

Results

Objects are gray, except for spheres and base.

Color bleeding

Caustics

Slide 22Lastra, 04/19/23

Current Methods

• Bi-directional path tracing (Lafortune and Veach)

• Metropolis (Veach)

Slide 23Lastra, 04/19/23

Pure Path Tracing

Slide 24Lastra, 04/19/23

Pure Path Tracing

Best for big luminaires.

If lights small, few hits and large variance.

Slide 25Lastra, 04/19/23

With Shadow Ray to Lights

Slide 26Lastra, 04/19/23

With Shadow Ray to Lights

Small lights OK.

Best for specular surfaces.

Slide 27Lastra, 04/19/23

Light Tracing

Slide 28Lastra, 04/19/23

Light Tracing

Small lights OK.

Best for caustics.

Slide 29Lastra, 04/19/23

Bi-Directional Path Tracing

Slide 30Lastra, 04/19/23

Bi-Directional Path Tracing

Slide 31Lastra, 04/19/23

Generating Samples

• Generated as groups

• Prefix from light joined with suffix from (to) eye (if edge is not obstructed)

• Russian roulette to cut off path

• Contribution must be multiplied by probability of generating path

Slide 32Lastra, 04/19/23

Results (from Veach)

Slide 33Lastra, 04/19/23

Metropolis

• Method for importance sampling

• A path is a sequence of points from a light to the eye.

• Let be the image contribution function, a measure of contribution over path

• is flux contributed by paths D

• Strategy: generate sequence of paths

with probability proportional to ƒ

x

x

Slide 34Lastra, 04/19/23

Mutations

• New path Xi+1 mutated from Xi

• Probability of rejecting each mutation keeps paths distributed according to contribution

• Discard start-up to reduce bias

• Can be run from a set of seed paths

• Run some bi-directional paths to find good seeds

Slide 35Lastra, 04/19/23

Implementation

• Path selection important

– minimize rejected paths, but not too correlated

– finds sub-paths and replace

– or perturb vertices of path (for caustics, etc)

• Mutation of “lens” path, (L|D)DS*E, to cover image pixels

• Adds direct lighting

– rejects path if found by Metropolis

Slide 36Lastra, 04/19/23

Results

Light for this example comes only through crack in doorway

Slide 37Lastra, 04/19/23

Results

There are specific mutations to capture caustics.

Slide 38Lastra, 04/19/23

Advantages

• Works well for difficult lighting

–because it “stays” in important area

• Like bi-directional path tracing there’s just a little work to get a new path

Slide 39Lastra, 04/19/23

References

• Kajiya, Jim, “The Rendering Equation”, SIGGRAPH ‘86.

• Lafortune papers and thesis

• Veach papers and thesis

• Jensen papers

• Shirley draft of MC book on his web page

• Kalos & Whitlock, Monte Carlo Methods, 1986.