MIT 6.837 Monte-Carlo Ray TracingScheduleReview of last week?RadiositySlide 5Limitations of radiosityWhy still learn radiosity?Questions?Today: Monte Carlo Ray TracingProbabilistic Soft ShadowsRay CastingRay TracingMonte-Carlo Ray TracingSlide 14Monte-CarloSlide 16ResultsSlide 18Slide 19Slide 20Monte Carlo Path TracingMonte Carlo Path tracingVintage path tracing imageConvergence speedSlide 25Slide 26Slide 27Why use random numbers?RecapSlide 30Slide 31Monte-Carlo computation of pSlide 33Why not use Simpson integration?What’s the link to ray tracing?Dumbest Monte-Carlo integrationConvergence of Monte Carlo integrationMonte Carlo integrationMonte Carlo integration – smarterSampling strategySampling strategiesMonte Carlo recapWhat can we integrate?Slide 44Slide 45The Rendering EquationSlide 47Slide 48Slide 49Slide 50Slide 51Slide 52Slide 53Radiosity vs. Monte CarloSlide 55ReferencesSlide 57Slide 58Path Tracing is costlyDirect illuminationGlobal IlluminationIndirect illumination: smoothIrradiance cacheSlide 64Slide 65Slide 66Irradiance cachingRadianceSlide 69Slide 70Slide 71Slide 72Photon mappingSlide 74Photon mapPhoton mapping - renderingPhoton map resultsSlide 78Photon mapping - causticsSlide 80Slide 81Photon mapping recapSlide 83Slide 84Next time: colorWhy is the sky blue?Answer: because sunset is redRaileigh scatteringSlide 89Sky colorSun ColorComputer graphics sky modelsNight Sky ModelSlide 94MIT EECS 6.837, Cutler and Durand 1MIT 6.837 Monte-Carlo Ray TracingMIT EECS 6.837, Cutler and Durand 2Schedule•Review Session: Tuesday November 18th, 7:30 pm, Room 2-136bring lots of questions!•Quiz 2: Thursday November 20th, in class(one weeks from today)MIT EECS 6.837, Cutler and Durand 3Review of last week?MIT EECS 6.837, Cutler and Durand 4Radiosity•Diffuse surfaces•Subdivide scene•Radiosity assumed constant over a patch•Form-factor between patches•Geometry and visibility•Big Matrix systemMIT EECS 6.837, Cutler and Durand 5Radiosity•Smoothing and other gimmicksMIT EECS 6.837, Cutler and Durand 6Limitations 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 scalabilityMIT EECS 6.837, Cutler and Durand 7Why 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 2MIT EECS 6.837, Cutler and Durand 8Questions?MIT EECS 6.837, Cutler and Durand 9Today: Monte Carlo Ray Tracing•Principle of Monte-Carlo Ray Tracing•Monte Carlo integration•Review of Rendering equation•Advanced Monte Carlo Ray TracingMIT EECS 6.837, Cutler and Durand 10Probabilistic Soft Shadows•Multiple shadow rays to sample area light source•Monte-Carlo ray tracing generalizes thisone shadow raylots of shadow raysMIT EECS 6.837, Cutler and Durand 11Ray Casting•Cast a ray from the eye through each pixelMIT EECS 6.837, Cutler and Durand 12Ray Tracing•Cast a ray from the eye through each pixel •Trace secondary rays (light, reflection, refraction)MIT EECS 6.837, Cutler and Durand 13Monte-Carlo Ray Tracing•Cast a ray from the eye through each pixel•Cast random rays from the visible point –Accumulate radiance contributionMIT EECS 6.837, Cutler and Durand 14Monte-Carlo Ray Tracing•Cast a ray from the eye through each pixel•Cast random rays from the visible point •RecurseMIT EECS 6.837, Cutler and Durand 15Monte-Carlo•Cast a ray from the eye through each pixel•Cast random rays from the visible point •RecurseMIT EECS 6.837, Cutler and Durand 16Monte-Carlo•Systematically sample primary lightMIT EECS 6.837, Cutler and Durand 17ResultsMIT EECS 6.837, Cutler and Durand 18Monte-Carlo•Take reflectance into account–Multiply incoming radiance by BRDF valueMIT EECS 6.837, Cutler and Durand 19•1 sample per pixelMIT EECS 6.837, Cutler and Durand 20•256 samples per pixelMIT EECS 6.837, Cutler and Durand 21Monte 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 22Monte Carlo Path tracingtraceRayIntersect all objectsShade visible objectShade visible objectTrace random ray to sample incoming lightShade using brdfMIT EECS 6.837, Cutler and Durand 23Vintage path tracing image•by Jim Kajiya (1986)•Also introduced the rendering equationMIT EECS 6.837, Cutler and Durand 24Convergence speedMIT EECS 6.837, Cutler and Durand 25Results•10 paths/pixelMIT EECS 6.837, Cutler and Durand 26Results•10 paths/pixelMIT EECS 6.837, Cutler and Durand 27Results•100 paths/pixelMIT EECS 6.837, Cutler and Durand 28Why use random numbers?•Fixed random sequence•We see the structure in the errorMIT EECS 6.837, Cutler and Durand 29Recap•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 30Questions?MIT EECS 6.837, Cutler and Durand 31Today: Monte Carlo Ray Tracing•Principle of Monte-Carlo Ray Tracing•Monte Carlo integration•Review of Rendering equation•Advanced Monte Carlo Ray TracingMIT EECS 6.837, Cutler and Durand 32Monte-Carlo computation of •Take a square•Take a random point (x,y) in the square•Test if it is inside the ¼ disc (x2+y2 < 1)•The probability is /4 xyMIT EECS 6.837, Cutler and Durand 33Monte-Carlo computation of •The probability is /4 •Count the inside ratio n = # inside / total # trials• n * 4•The error depends on the number or trialsMIT EECS 6.837, Cutler and Durand 34Why 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 Nd domainsMIT EECS 6.837, Cutler and Durand 35What’s the link to ray tracing?•Light source is square•Occluder is sphere•Some pixels have exactly /4 visibility ;-) one shadow raylots
View Full Document