Upload
jennifer-silva
View
50
Download
0
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 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 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 24Lastra, 04/19/23
Pure Path Tracing
Best for big luminaires.
If lights small, few hits and large variance.
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 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 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