MIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1

Similar documents
Schedule. MIT Monte-Carlo Ray Tracing. Radiosity. Review of last week? Limitations of radiosity. Radiosity

Monte-Carlo Ray Tracing. Antialiasing & integration. Global illumination. Why integration? Domains of integration. What else can we integrate?

Raytracing & Epsilon. Today. Last Time? Forward Ray Tracing. Does Ray Tracing Simulate Physics? Local Illumination

A Brief Overview of. Global Illumination. Thomas Larsson, Afshin Ameri Mälardalen University

Global Illumination and Monte Carlo

The Rendering Equation & Monte Carlo Ray Tracing

The Rendering Equation and Path Tracing

Motivation. Advanced Computer Graphics (Fall 2009) CS 283, Lecture 11: Monte Carlo Integration Ravi Ramamoorthi

Biased Monte Carlo Ray Tracing

To Do. Real-Time High Quality Rendering. Motivation for Lecture. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing

Discussion. Smoothness of Indirect Lighting. History and Outline. Irradiance Calculation. Irradiance Caching. Advanced Computer Graphics (Spring 2013)

Motivation: Monte Carlo Rendering. Sampling and Reconstruction of Visual Appearance. Caustics. Illumination Models. Overview of lecture.

Recent Advances in Monte Carlo Offline Rendering

Global Illumination. CSCI 420 Computer Graphics Lecture 18. BRDFs Raytracing and Radiosity Subsurface Scattering Photon Mapping [Ch

Biased Monte Carlo Ray Tracing:

Global Illumination. Global Illumination. Direct Illumination vs. Global Illumination. Indirect Illumination. Soft Shadows.

Photorealism vs. Non-Photorealism in Computer Graphics

Local vs. Global Illumination & Radiosity

2/1/10. Outline. The Radiance Equation. Light: Flux Equilibrium. Light: Radiant Power. Light: Equation. Radiance. Jan Kautz

Final Project: Real-Time Global Illumination with Radiance Regression Functions

CS 428: Fall Introduction to. Radiosity. Andrew Nealen, Rutgers, /7/2009 1

11/2/2010. In the last lecture. Monte-Carlo Ray Tracing : Path Tracing. Today. Shadow ray towards the light at each vertex. Path Tracing : algorithm

Global Illumination. Global Illumination. Direct Illumination vs. Global Illumination. Indirect Illumination. Soft Shadows.

Illumination Algorithms

Global Illumination. COMP 575/770 Spring 2013

Computer Graphics. Lecture 10. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura 12/03/15

Computer Graphics. Lecture 13. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura

To Do. Advanced Computer Graphics. Course Outline. Course Outline. Illumination Models. Diffuse Interreflection

Motivation: Monte Carlo Path Tracing. Sampling and Reconstruction of Visual Appearance. Monte Carlo Path Tracing. Monte Carlo Path Tracing

Korrigeringar: An introduction to Global Illumination. Global Illumination. Examples of light transport notation light

Path Tracing part 2. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017

Lecture 18: Primer on Ray Tracing Techniques

Photon Mapping. Due: 3/24/05, 11:59 PM

Lecture 7 - Path Tracing

Stochastic Path Tracing and Image-based lighting

Global Illumination. Why Global Illumination. Pros/Cons and Applications. What s Global Illumination

Monte Carlo Ray Tracing. Computer Graphics CMU /15-662

Advanced Graphics. Path Tracing and Photon Mapping Part 2. Path Tracing and Photon Mapping

Motivation. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye

Today. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination. Exercise 2. Path Tracing Radiosity

Global Illumination The Game of Light Transport. Jian Huang

Lecture 12: Photon Mapping. Biased Methods

Global Illumination CS334. Daniel G. Aliaga Department of Computer Science Purdue University

Part I The Basic Algorithm. Principles of Photon Mapping. A two-pass global illumination method Pass I Computing the photon map

Virtual Spherical Lights for Many-Light Rendering of Glossy Scenes

Monte Carlo Ray-tracing and Rendering

Advanced Graphics. Global Illumination. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

INFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Ground Truth. Welcome!

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.

I have a meeting with Peter Lee and Bob Cosgrove on Wednesday to discuss the future of the cluster. Computer Graphics

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

Global Illumination and the Rendering Equation

Ray tracing. EECS 487 March 19,

The Rendering Equation. Computer Graphics CMU /15-662

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

Global Illumination. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

Rendering: Reality. Eye acts as pinhole camera. Photons from light hit objects

Announcements. Written Assignment 2 out (due March 8) Computer Graphics

Other Rendering Techniques CSE 872 Fall Intro You have seen Scanline converter (+z-buffer) Painter s algorithm Radiosity CSE 872 Fall

CS 563 Advanced Topics in Computer Graphics Irradiance Caching and Particle Tracing. by Stephen Kazmierczak

Photon Maps. The photon map stores the lighting information on points or photons in 3D space ( on /near 2D surfaces)

Photon Mapping. Michael Doggett Department of Computer Science Lund university

Shading and Illumination

Physically Realistic Ray Tracing

Assignment 3: Path tracing

CENG 477 Introduction to Computer Graphics. Ray Tracing: Shading

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

CS348B: Image Synthesis

An introduction to Global Illumination. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

Scalable many-light methods

Interactive Rendering of Globally Illuminated Glossy Scenes

Global Illumination using Photon Maps

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1

COMP371 COMPUTER GRAPHICS

Rendering. Mike Bailey. Rendering.pptx. The Rendering Equation

rendering equation computer graphics rendering equation 2009 fabio pellacini 1

COMPUTER GRAPHICS COURSE. LuxRender. Light Transport Foundations

Effects needed for Realism. Computer Graphics (Fall 2008) Ray Tracing. Ray Tracing: History. Outline

Global Illumination and Radiosity

Monte Carlo Integration COS 323

Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1)

Distribution Ray Tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

A NEW APPROACH OF DENSITY ESTIMATION FOR GLOBAL ILLUMINATION

A Frequency Analysis of Light Transport

Reading. 8. Distribution Ray Tracing. Required: Watt, sections 10.6,14.8. Further reading:

SOME THEORY BEHIND REAL-TIME RENDERING

Sung-Eui Yoon ( 윤성의 )

Review. Stephen J. Guy

Monte Carlo Path Tracing. The Rendering Equation

THE goal of rendering algorithms is to synthesize images of virtual scenes. Global illumination

EECS 487: Interactive Computer Graphics

The Traditional Graphics Pipeline

CS-184: Computer Graphics. Administrative

The Rendering Equation. Computer Graphics CMU /15-662, Fall 2016

Advanced Ray Tracing

CS-184: Computer Graphics. Today. Lecture #16: Global Illumination. Sunday, November 8, 2009

Ray Tracing. CSCI 420 Computer Graphics Lecture 15. Ray Casting Shadow Rays Reflection and Transmission [Ch ]

Announcement. Lighting and Photometric Stereo. Computer Vision I. Surface Reflectance Models. Lambertian (Diffuse) Surface.

Transcription:

MIT 6.837 Monte-Carlo Ray Tracing MIT EECS 6.837, Cutler and Durand 1

Schedule Review Session: Tuesday November 18 th, 7:30 pm bring lots of questions! Quiz 2: Thursday November 20 th, in class (one weeks from today) MIT EECS 6.837, Cutler and Durand 2

Review of last week? MIT EECS 6.837, Cutler and Durand 3

Radiosity Diffuse surfaces Subdivide scene Radiosity assumed constant over a patch Form-factor between patches Geometry and visibility Big Matrix system MIT EECS 6.837, Cutler and Durand 4

Radiosity Smoothing and other gimmicks MIT EECS 6.837, Cutler and Durand 5

Limitations of radiosity Diffuse only for basic method Costly extension to specular Requires meshing Cost of visibility computation If you send rays, why not use ray tracing? Memory consumption vs. time scalability MIT EECS 6.837, Cutler and Durand 6

Why still learn radiosity? Still used in architecture (Lightscape) Introduction to finite element method Project the problem onto a finite basis of functions In the case of radiosity: piecewise constant Express interaction between elements Get a big matrix system Same as deformable object simulation Pre-computed radiance transfer: same strategy Use finite basis function Precompute lighting as a function of primary sources Use in a simplified version in Max Payne 2 MIT EECS 6.837, Cutler and Durand 7

Today: Monte Carlo Ray Tracing Principle of Monte-Carlo Ray Tracing Monte Carlo integration Review of Rendering equation Advanced Monte Carlo Ray Tracing MIT EECS 6.837, Cutler and Durand 8

Probabilistic Soft Shadows Multiple shadow rays to sample area light source Monte-Carlo ray tracing generalizes this one shadow ray lots of shadow rays MIT EECS 6.837, Cutler and Durand 9

Ray Casting Cast a ray from the eye through each pixel MIT EECS 6.837, Cutler and Durand 10

Ray Tracing Cast a ray from the eye through each pixel Trace secondary rays (light, reflection, refraction) MIT EECS 6.837, Cutler and Durand 11

Monte-Carlo Ray Tracing Cast a ray from the eye through each pixel Cast random rays from the visible point Accumulate radiance contribution MIT EECS 6.837, Cutler and Durand 12

Monte-Carlo Ray Tracing Cast a ray from the eye through each pixel Cast random rays from the visible point Recurse MIT EECS 6.837, Cutler and Durand 13

Monte-Carlo Cast a ray from the eye through each pixel Cast random rays from the visible point Recurse MIT EECS 6.837, Cutler and Durand 14

Monte-Carlo Systematically sample primary light MIT EECS 6.837, Cutler and Durand 15

Results (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 16

Monte-Carlo Take reflectance into account Multiply incoming radiance by BRDF value MIT EECS 6.837, Cutler and Durand 17

1 sample per pixel (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 18

256 samples per pixel (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 19

Monte Carlo Path Tracing Trace only one secondary ray per recursion But send many primary rays per pixel (performs antialiasing as well) MIT EECS 6.837, Cutler and Durand 20

Monte Carlo Path tracing traceray Intersect all objects Shade visible object Shade visible object Trace random ray to sample incoming light Shade using brdf MIT EECS 6.837, Cutler and Durand 21

Vintage path tracing image by Jim Kajiya (1986) Also introduced the rendering equation MIT EECS 6.837, Cutler and Durand 22

Convergence speed 0.14 0.12 AVERAGE L 0.1 0.08 0.06 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 PATHS/PIXEL Reference Value Min of 1000 Runs One Estimator Max of 1000 Runs Image adapted from: Henrik Wann Jensen. Realistic Image Synthesis Using Photon Mapping. 1st Ed. A K Peters, Ltd. July 2001. ISBN: 1568811470. MIT EECS 6.837, Cutler and Durand 23

Results 10 paths/pixel (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 24

Results 10 paths/pixel (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 25

Results 100 paths/pixel (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 26

Why use random numbers? Fixed random sequence We see the structure in the error (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 27

Recap Send random rays Sample the rendering equation No meshing required, no special storage No limitation On reflectance On geometry Extremely flexible Can be noisy (or slow) MIT EECS 6.837, Cutler and Durand 28

Today: Monte Carlo Ray Tracing Principle of Monte-Carlo Ray Tracing Monte Carlo integration Review of Rendering equation Advanced Monte Carlo Ray Tracing MIT EECS 6.837, Cutler and Durand 29

Monte-Carlo computation of π Take a square Take a random point (x,y) in the square Test if it is inside the ¼ disc (x 2 +y 2 < 1) The probability is π /4 y x MIT EECS 6.837, Cutler and Durand 30

Monte-Carlo computation of π The probability is π /4 Count the inside ratio n = # inside / total # trials π n * 4 The error depends on the number or trials MIT EECS 6.837, Cutler and Durand 31

Why not use Simpson integration? Yeah, to compute π, Monte Carlo is not very efficient But convergence is independent of dimension Better to integrate high-dimensional functions For d dimensions, Simpson requires N d domains MIT EECS 6.837, Cutler and Durand 32

What s the link to ray tracing? Light source is square Occluder is sphere Some pixels have exactly π /4 visibility ;-) one shadow ray lots of shadow rays MIT EECS 6.837, Cutler and Durand 33

Dumbest Monte-Carlo integration Compute 0.5 by flipping a coin 1 flip: 0 or 1=> average error =0.5 2 flips: 0, 0.5, 0.5 or 1 =>average error=0. 25 4 flips: 0 (*1),0.25 (*4), 0.5 (*6), 0.75(*4), 1(*1) => average error =0.1875 Does not converge very fast Doubling the number of samples does not double accuracy MIT EECS 6.837, Cutler and Durand 34

Convergence of Monte Carlo integration Variance decrease in 1/n Convergence is Independent of dimension 1 n MIT EECS 6.837, Cutler and Durand 35

Monte Carlo integration Want to evaluate b f ( x) dx a Use random variable x i with uniform probability over the domain 1 f ( x ) n i 1 Note that achieving uniform probability can be tough for complex domain (e.g. sphere) n i= MIT EECS 6.837, Cutler and Durand 36

Monte Carlo integration smarter Want to evaluate b f ( x) dx a Use random variable x i with probability p i n ( i ) n 1 p 1 i= f x i The whole trick is to choose the x i and p i MIT EECS 6.837, Cutler and Durand 37

Sampling strategy Sample directions vs. sample light source (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 38

Sampling strategies (Images removed due to copyright considerations.) Sampling more the light Sampling more the BRDF MIT EECS 6.837, Cutler and Durand 39

Monte Carlo recap Turn integral into finite sum Use random samples Convergence Independent of dimension Very flexible 1 n Tweak sampling/probabilities for optimal result A lot of integration and probability theory to get things right MIT EECS 6.837, Cutler and Durand 40

What can we integrate? Pixel: antialiasing Light sources: Soft shadows Lens: Depth of field Time: Motion blur BRDF: glossy reflection Hemisphere: indirect lighting Image removed due to copyright considerations. Please see Computer Graphics 25, no. 4 (July,1991): 157-164. ISBN: 0097-8930. MIT EECS 6.837, Cutler and Durand 41

Questions? (Images removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 42

Today: Monte Carlo Ray Tracing Principle of Monte-Carlo Ray Tracing Monte Carlo integration Review of Rendering equation Advanced Monte Carlo Ray Tracing MIT EECS 6.837, Cutler and Durand 43

The Rendering Equation ω' x' L(x',ω') = E(x',ω') + ρ x '(ω,ω')l(x,ω)g(x,x')v(x,x') da L (x',ω') is the radiance from a point on a surface in a given direction ω' MIT EECS 6.837, Cutler and Durand 44

The Rendering Equation ω' x' L(x',ω') = E(x',ω') + ρ x '(ω,ω')l(x,ω)g(x,x')v(x,x') da E(x',ω') is the emitted radiance from a point: E is non-zero only if x' is emissive (a light source) MIT EECS 6.837, Cutler and Durand 45

The Rendering Equation ω' x' L(x',ω') = E(x',ω') + ρ x '(ω,ω')l(x,ω)g(x,x')v(x,x') da Sum the contribution from all of the other surfaces in the scene MIT EECS 6.837, Cutler and Durand 46

The Rendering Equation ω' ω x x' L(x',ω') = E(x',ω') + ρ x '(ω,ω')l(x,ω)g(x,x')v(x,x') da For each x, compute L(x, ω), the radiance at point x in the direction ω (from x to x') MIT EECS 6.837, Cutler and Durand 47

The Rendering Equation ω' ω x x' L(x',ω') = E(x',ω') + ρ x '(ω,ω')l(x,ω)g(x,x')v(x,x') da n scale the contribution by ρ x' (ω,ω'), the reflectivity (BRDF) of the surface at x' θ r φ r φ i θ i MIT EECS 6.837, Cutler and Durand 48

The Rendering Equation ω' ω x For each x, compute V(x,x'), the visibility between x and x': 1 when the surfaces are unobstructed along the direction ω, 0 otherwise x' L(x',ω') = E(x',ω') + ρ x '(ω,ω')l(x,ω)g(x,x')v(x,x') da MIT EECS 6.837, Cutler and Durand 49

The Rendering Equation ω' ω x x' L(x',ω') = E(x',ω') + ρ x '(ω,ω')l(x,ω)g(x,x')v(x,x') da For each x, compute G(x, x'), which describes the on the geometric relationship between the two surfaces at x and x MIT EECS 6.837, Cutler and Durand 50

Monte Carlo Path Tracing Trace only one secondary ray per recursion But send many primary rays per pixel (performs antialiasing as well) MIT EECS 6.837, Cutler and Durand 51

Radiosity vs. Monte Carlo We have an integral equation on an infinite space Finite elements (Radiosity) Project onto finite basis of functions Linear system Monte Carlo Probabilistic sampling MIT EECS 6.837, Cutler and Durand 52

Radiosity vs. Monte Carlo We have an integral equation on an infinite space Finite elements (Radiosity) Project onto finite basis of functions Linear system View-independent (no angular information) Monte Carlo Probabilistic sampling View-dependent (but angular information) MIT EECS 6.837, Cutler and Durand 53

References See also Eric Veach s PhD http://graphics.stanford.edu/papers/veach_thesis/ Dutre, P., P. Bekaert and K. Bala. Advanced Global Illumination. AK Peters, Ltd. 2003. ISBN:1568811772. Shirley, Pete. Realistic Ray Tracing. AK Peters, Ltd. 1st. Ed. 2000. ISBN:1568811101. Jensen, Henrik Wann. Realistic Image Synthesis Using Photon Mapping. AK Peters, Ltd. 1st Ed. 2001. ISBN:1568811470. MIT EECS 6.837, Cutler and Durand 54

Today: Monte Carlo Ray Tracing Principle of Monte-Carlo Ray Tracing Monte Carlo integration Review of Rendering equation Advanced Monte Carlo Ray Tracing Irradiance caching Photon mapping MIT EECS 6.837, Cutler and Durand 55

Path Tracing is costly Needs tons of rays per pixel MIT EECS 6.837, Cutler and Durand 56

Direct illumination (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 57

Global Illumination (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 58

Indirect illumination: smooth (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 59

Irradiance cache The indirect illumination is smooth MIT EECS 6.837, Cutler and Durand 60

Irradiance cache The indirect illumination is smooth MIT EECS 6.837, Cutler and Durand 61

Irradiance cache The indirect illumination is smooth Interpolate nearby values MIT EECS 6.837, Cutler and Durand 62

Irradiance cache Store the indirect illumination Interpolate existing cached values But do full calculation for direct lighting MIT EECS 6.837, Cutler and Durand 63

Irradiance caching (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 64

Photon mapping Preprocess: cast rays from light sources Store photons MIT EECS 6.837, Cutler and Durand 65

Photon mapping Preprocess: cast rays from light sources Store photons (position + light power + incoming direction) MIT EECS 6.837, Cutler and Durand 66

Photon map Efficiently store photons for fast access Use hierarchical spatial structure (kd-tree) MIT EECS 6.837, Cutler and Durand 67

Photon mapping - rendering Cast primary rays For secondary rays reconstruct irradiance using adjacent stored photon Take the k closest photons Combine with irradiance caching and a number of other techniques MIT EECS 6.837, Cutler and Durand 68

Photon map results (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 69

Photon mapping - caustics Special photon map for specular reflection and refraction Glass sphere MIT EECS 6.837, Cutler and Durand 70

1000 paths/pixel (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 71

Photon mapping (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 72

Photon mapping recap Preprocess: Path tracing Store photons Special map for caustics (because not as uniform) Rendering Primary rays Direct lighting Indirect lighting Reconstruct irradiance using k nearest photons Irradiance caching Reconstruct caustics from caustic map MIT EECS 6.837, Cutler and Durand 73

Questions? (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 74

Why is the sky blue? (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 75

Answer: because sunset is red (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 76

Why is the sky blue? (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 75

Sampling strategies (Image removed due to copyright considerations.) Sampling more the light Sampling more the BRDF MIT EECS 6.837, Cutler and Durand 39

Why is the sky blue? MIT EECS 6.837, Cutler and Durand 75

Sun Color At sunset, longer traversal of atmosphere More blue is scattered, red remains Therefore redder MIT EECS 6.837, Cutler and Durand 80

Computer graphics sky models E.g. Preetham et al. SIGGRAPH 99. (Images removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 81

Night Sky Model Jensen, Durand, Stark, Premoze, Dorsey, Shirley 2001 (Images removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 82

Questions? (Image removed due to copyright considerations.) MIT EECS 6.837, Cutler and Durand 83