Stochastic Ray Tracing Contents Classical Ray Tracing with Area Light Sources

Total Page:16

File Type:pdf, Size:1020Kb

Stochastic Ray Tracing Contents Classical Ray Tracing with Area Light Sources Contents Stochastic Ray Tracing • Monte Carlo Integration • Application to direct lighting by area light sources • Solving the radiance equation with the Kadi Bouatouch Monte Carlo Method IRISA – Distributed Ray Tracing Email: [email protected] – Path Traycing 1 2 Classical Ray Tracing With Area Light Sources • One shadow ray by intersection point • Only point light sources • Hard shadows: umbra • Soft shadows • Area light sources != point light sources 3 4 More Sample Points on the Light Solution to the Rendering Equation Source y ψ y • Analytical solution: too ψθy V(x,y)=? θy much difficult V(x,y)=?rxy rxy θx • Use the Monte Carlo θ x x Θx method Θ cosθxcosθy e L(x→Θ)= fr (x,Θ↔Ψ)L (y→Ψ)V(x,y) 2 dy ∫ rxy • Approximate the source by a set of points AL • Aliasing along the shadows’ borders 5 6 Direct Lighting Direct Lighting y ψ y • Random point sampling of ψθy ψ θy the area light sources V(x,y)=?rxy y rxyω’ θx θ x x • Use these points to evaluate Θx x Θ the integral Θ ω cosθxcosθy e 1 shadow ray 9 shadow rays L(x→Θ)= fr (x,Θ↔Ψ)L (y→Ψ)V(x,y) 2 dy 1 ∫ rxy p(y)= AL AS N N 1 D(yi) 1 cosθxcosθyi L(x→Θ)= D(y)dy L(x→Θ) = L(x→Θ) = As f(x,Θ↔Ψ)Le(yi→Ψi ) Vis(x,yi) ∫ ∑ i ∑ 2 N p(y) N rxyi AL i=1 i=1 7 8 Direct Lighting Stratified Sampling 36 shadow rays 100 shadow rays N cosθxcosθyi 1 s e i i L(x→Θ) = ∑A f(x,Θ↔Ψ)L (y→Ψi ) 2 Vis(x,y) 9 shadow rays 9 shadow rays N rxyi i=1 without stratification with stratification 9 10 Stratified Sampling Stratified Sampling 36 shadow rays no 36 shadow rays with 100 shadow rays no 100 shadow rays with stratification stratification stratification stratification 11 12 Multiple Light Sources Multiple Light Sources • The integral does not change : rather than integrating over one light source, integrate over all the surfaces of the light sources cosθxcosθy r e L(x→Θ)= f (x,Θ↔Ψ)L (y→Ψ)V(x,y) 2 dy ∫ rxy AL • The pdf for selecting points is modified : first select a light source S using pdf p(S), then a point y on S with p(y|S) 36 shadow rays per pixel in the 2 images but with different p(S)=ΦS p(yS)= 1 p(y)=p(S)p(yS) ΦT As pdf 13 14 Application to pixels: oversampling Application to pixels: oversampling • Compute radiance at the centre • Any sampling method of a pixel Æ aliasing • Oversample a pixel and compute radiance for sub-pixels • Use a filter L= ∫ f(x)L(x)dx Pixel … evaluated by the Monte Carlo method. N f(xi)L(xi) L≈ 1 ∑ N i=1 p(xi) 15 16 Application to pixels: oversampling Implementation • Comparison : 1 centered ray per pixel 100 centered rays per pixel 1 ray / pixel 10 rays / pixel 100 rays / pixel 100 random shadow rays 1 random shadow rays per per intersection intersection 17 18 The Rendering Equation The Rendering Equation • Evaluation of the rendering equation L(x→Θ)=Le(x→Θ)+ ∫ fr(x,Ψ↔Θ)⋅L(x←Ψ)⋅cos(Ψ,nx)⋅dωΨ • How to write the rendering equation and Ωx how to evaluate it using Monte Carlo Lx()←Ψ Lx() integration? →Θ Lxe ()→Θ – Which pdf to use for the rendering equation ? x – Algorithms and results 19 20 The Rendering Equation Computing Radiance • How to evaluate L ? L(x→Θ)=Le(x→Θ)+ ∫ fr(x,Ψ↔Θ)⋅L(x←Ψ)⋅cos(Ψ,nx)⋅dωΨ Ωx –Find Le(x→Θ) = Le + ⋅ fr ⋅cos – Add: ∫ L=? Ω x ∫ fr (x,Ψ ↔ Θ)⋅ L(x ← Ψ)⋅cos(Ψ,nx )⋅dωΨ Ωx 21 22 Computing Radiance Computing Radiance • How to evaluate L ? • Hemisphere Sampling θin – Monte Carlo Integration π / 2 dω Θin – Generate random directions on Ω , using the x θin probability density function p(Ψ) ϕ 0 in 0 2π ϕin L(x→Θ)= ∫ fr(x,Ψ↔Θ)⋅L(x←Ψ)⋅cos(Ψ,nx)⋅dωΨ Ωx p(Θ)=cosθ ⇒θ=acos( ξ )etϕ=2πξ π 1 2 N 1 fr(x,Ψi↔Θ)⋅L(x←Ψi)⋅cos(Ψi,nx) Θ=(θ,ϕ)⇒dωΘ=sinθ⋅dθ⋅dϕ L(x→Θ) = ∑ 1 N i=1 p(Ψi) p(Θ)=n+1cosnθ⇒θ=acos(ξ n+1)etϕ=2πξ 2π 1 2 23 24 Computing Radiance Computing Radiance • Generate a random direction Ψi z Evaluation of L(x←Ψi) ? 1 N f ( )⋅ L(x ← Ψ )⋅cos( ) L = ∑ r K i K N i=1 p(Ψi ) z Radiance is constant along the propagation direction. Evaluate the BRDF z rc(x, Ψ ) = first visible point. Evaluate the cos(…) i Evaluate L(x←Ψi) z L(x←Ψi) = L(rc(x, Ψi) → Ψi) 25 26 Computing Radiance Stopping Recursion • When recursion is stopped? • Recursive Evaluation • Each bounce adds a level of indirect lighting. The contributions of higher order reflections are negligible. If we ignore them, the estimates are biased ! 27 28 Terminating the Recursion Russian Roulette • When/how do we stop the recursion? •Integral f (x) – When the ray doesn’t hit any object 1 1 α • Can be very hard/impossible for dense scenes I = ∫ f (x)dx = ∫ f (x /α)dx 0 α 0 – When a maximum depth is reached • Estimator • This is highly scene dependent 1 roulette f ( x / α ) if x < α – Primarily specular scenes requires far more bounces than < I >= α diffuse scenes • Having a fixed path length results in a biased estimate 0 if x > α – When the contribution of the ray falls below a certain • Use Russian roulette to decide α threshold – ray is absorbed with probability 1-α • More efficient than a fixed max depth, but still gives a biased – results in unbiased estimator result 29 30 Russian Roulette Russian Roulette • A simple and unbiased termination criteria is Russian roulette: •Example – Given a uniform random number ξ, terminate the ray –p = 0.9 , then α = 1- p = 0.1 if ξ ≥ α, otherwise scale the contribution of the ray by 1/α – One chance in 10 that ray is reflected. • Here αє [0,1] is the absorption probability – The radiance due to one reflected ray – Recursion stops with a probability of p = 1- α – By scaling the contribution of rays that continue by is multiplied by 10. 1/ α, the result remains unbiased – instead of shooting 10 rays, we shoot • Russian roulette is not practically useful until we only 1, but count the contribution of add direct light to our ray tracer!! this one 10 times 31 32 Russian Roulette Russian Roulette • With Russian roulette the pseudo code now looks like this: • Case of n incident rays RGB radiance(Ray r) if(r hits at x) N if(ξ < α) 1 fr (x,Ψi ↔ Θ)⋅ L(x ← Ψi )⋅cos(Ψi ,nx ) L(x → Θ) = ∑ Generate new direction, Di, from p ( Ψ ) and i=1 i N p(Ψi ) the surface normal at x Ray ray(x, Di) •Case of one incident ray return Le(x) + R(x,Di)*radiance(ray) / α else f (x, Di ↔ Θ)⋅ L(x ← Di)⋅cos(Di,n ) return Le(x) L(x → Θ) = r x p(Di) else return background = R(x, Di).L(x ← Di) 33 34 Russian Roulette Distribution Ray Tracing • Non biased Estimate • Algorithm – Trace N rays per pixel • The expected value is correct – At each intersection point, trace 1 ray (or more) randomly chosen on the hemisphere to evaluate the rendering equation • Bigger variance – End recursion using the Russian roulette • But more efficient 35 36 Distribution Ray Tracing Distribution Ray Tracing computeImage() { basicPT(x, theta) { for each pixel (i,j) { estimatedRadiance = Le(x, theta) estimatedRadiance[i,j] = 0 if(not absorbed) { // russian roulette for s = 1 to #samples-in-pixel { for s = 1 to #radianceSamples { // ray directions generate Q in pixel (i,j) theta = (Q – E)/|Q-E| // E is the Eye psi = generate random direction on hemisphere x = trace(E,theta) y = trace(x, psi) estimatedRadiance [i,j] += computeRadiance(x,-theta) estimatedRadiance += } basicPT(y,-psi) * BRDF(x,psi,theta)* estimatedRadiance [i,j] /= # samples-in-pixel cos(Nx,psi) / pdf(psi) } } } computeRadiance(x, theta) { estimatedRadiance /= #radianceSamples estimatedRadiance = basicPT(x, theta) } return estimatedRadiance return estimatedRadiance/(absorption) } } 37 38 Distribution Ray Tracing Distribution Ray Tracing 39 40 Distribution Ray Tracing Distribution Ray Tracing 1 ray/pixel 16 rays/pixel 256 rays/pixel Very noisy : null contribution as long as the path does not reach a light source!! L = ?? 41 42 Distribution Ray Tracing Distribution Ray Tracing Lee = 00 Linin = ?? Lrr = ?? 43 44 Distribution Ray Tracing Distribution Ray Tracing L = ?? Linin = ?? 45 46 Distribution Ray Tracing Distribution Ray Tracing Linin = ?? Lee=00 Lrr=?? 47 48 Distribution Ray Tracing Distribution Ray Tracing Lee = 11..234234 Lrr = ?? L = ?? 49 50 Distribution Ray Tracing Distribution Ray Tracing • Improve the algorithm by dividing the integral into two parts: direct and indirect Li(x→Θ)=∫ fr(x,Ψ↔Θ)⋅Le(x←Ψ)⋅cos(Ψ,nx)⋅dωΨ Ωx + ∫ fr(x,Ψ↔Θ)⋅Li(x←Ψ)⋅cos(Ψ,nx)⋅dωΨ Ωx L(x→Θ)=Le(x→Θ)+Li(x→Θ) 51 52 Distribution Ray Tracing Direct Illumination L (x → Θ) = f ( )⋅ L (x ← Ψ)⋅cos( )⋅dω direct ∫ r K e K Ψ Ωx – Evaluate differently the direct and the indirect = f ( )⋅ L (y → x)⋅cos( )⋅dω components ∫ r K e K Ψ Ωx cos( )dA = f ( )⋅ L (y → x)⋅cos( )⋅( K y )⋅V (x, y) ∫ r K e K 2 Area rxy ⋅ f ⋅cos + ⋅ f ⋅cos source ∫ r ∫ r Source Ω x dAy Θ dA yycosθ dω = dω Θ 2 x Θ r 53 54 Indirect Illumination Indirect Illumination Li (x → Θ) = ∫ fr (x,Ψ ↔ Θ)⋅ Li (x ← Ψ)⋅cos(Ψ,nx )⋅dωΨ Li (x → Θ) = ∫ fr (x,Ψ ↔ Θ)⋅ Li (x ← Ψ)⋅cos(Ψ,nx )⋅dωΨ Ωx Ωx 55 56 Distribution Ray Tracing Distribution Ray Tracing L(x→Θ)= ∫ fr(x,Ψ↔Θ)⋅L(x←Ψ)⋅cos(Ψ,nx)⋅dωΨ •Uniform distribution Ωx N 1 fr(x,Ψi↔Θ)⋅L(x←Ψi)⋅cos(Ψi,nx) p(Ψ) = L(x→Θ) = 1 ∑ 2π N i=1 p(Ψi) 2π N • Depends on how to sample the hemisphere L(x → Θ) = ∑ fr (x,Ψi ↔ Θ)⋅ L(x ← Ψi )⋅cos(Ψi ,nx ) N i=1 – Uniform distribution – Importance sampling : pick p to match integral • Cosine distribution • BRDF distribution • BRDF*cosine distribution 57 58 Distribution Ray Tracing Distribution Ray Tracing •Cosine distribution •BRDF distribution cosθΨ p(Ψ) = p(Ψ) = fr(...) π π N 1 N L(x → Θ) = ∑ fr (x,Ψi ↔ Θ)⋅ L(x ← Ψi ) N i=1 L(x → Θ) = ∑ L(x ← Ψi )⋅cos(Ψi ,nx ) N i=1 59 60 Distribution Ray Tracing: Distribution Ray Tracing pixel sampling •BRDF*cosine distribution computeImage() { for (each pixel (i,j)) { estimatedRadiance[i,j] = 0 p(Ψ) = fr(...).cosθΨ for (s = 1 to #samples-in-pixel) { 1 N generate
Recommended publications
  • Distribution Ray Tracing Academic Press, 1989
    Reading Required: ® Shirley, 13.11, 14.1-14.3 Further reading: ® A. Glassner. An Introduction to Ray Tracing. Distribution Ray Tracing Academic Press, 1989. [In the lab.] ® Robert L. Cook, Thomas Porter, Loren Carpenter. “Distributed Ray Tracing.” Computer Graphics Brian Curless (Proceedings of SIGGRAPH 84). 18 (3) . pp. 137- CSE 557 145. 1984. Fall 2013 ® James T. Kajiya. “The Rendering Equation.” Computer Graphics (Proceedings of SIGGRAPH 86). 20 (4) . pp. 143-150. 1986. 1 2 Pixel anti-aliasing BRDF The diffuse+specular parts of the Blinn-Phong illumination model are a mapping from light to viewing directions: ns L+ V I=I B k(N⋅ L ) +k N ⋅ L d s L+ V + = IL f r (,L V ) The mapping function fr is often written in terms of ω No anti-aliasing incoming (light) directions in and outgoing (viewing) ω directions out : ωω ωω→ fr(in ,out) or f r ( in out ) This function is called the Bi-directional Reflectance Distribution Function (BRDF ). ω Here’s a plot with in held constant: f (ω , ω ) ω r in out in Pixel anti-aliasing All of this assumes that inter-reflection behaves in a mirror-like fashion… BRDF’s can be quite sophisticated… 3 4 Light reflection with BRDFs Simulating gloss and translucency BRDF’s exhibit Helmholtz reciprocity: The mirror-like form of reflection, when used to f(ωω→)= f ( ω → ω ) rinout r out in approximate glossy surfaces, introduces a kind of That means we can take two equivalent views of aliasing, because we are under-sampling reflection ω ω (and refraction).
    [Show full text]
  • An Advanced Path Tracing Architecture for Movie Rendering
    RenderMan: An Advanced Path Tracing Architecture for Movie Rendering PER CHRISTENSEN, JULIAN FONG, JONATHAN SHADE, WAYNE WOOTEN, BRENDEN SCHUBERT, ANDREW KENSLER, STEPHEN FRIEDMAN, CHARLIE KILPATRICK, CLIFF RAMSHAW, MARC BAN- NISTER, BRENTON RAYNER, JONATHAN BROUILLAT, and MAX LIANI, Pixar Animation Studios Fig. 1. Path-traced images rendered with RenderMan: Dory and Hank from Finding Dory (© 2016 Disney•Pixar). McQueen’s crash in Cars 3 (© 2017 Disney•Pixar). Shere Khan from Disney’s The Jungle Book (© 2016 Disney). A destroyer and the Death Star from Lucasfilm’s Rogue One: A Star Wars Story (© & ™ 2016 Lucasfilm Ltd. All rights reserved. Used under authorization.) Pixar’s RenderMan renderer is used to render all of Pixar’s films, and by many 1 INTRODUCTION film studios to render visual effects for live-action movies. RenderMan started Pixar’s movies and short films are all rendered with RenderMan. as a scanline renderer based on the Reyes algorithm, and was extended over The first computer-generated (CG) animated feature film, Toy Story, the years with ray tracing and several global illumination algorithms. was rendered with an early version of RenderMan in 1995. The most This paper describes the modern version of RenderMan, a new architec- ture for an extensible and programmable path tracer with many features recent Pixar movies – Finding Dory, Cars 3, and Coco – were rendered that are essential to handle the fiercely complex scenes in movie production. using RenderMan’s modern path tracing architecture. The two left Users can write their own materials using a bxdf interface, and their own images in Figure 1 show high-quality rendering of two challenging light transport algorithms using an integrator interface – or they can use the CG movie scenes with many bounces of specular reflections and materials and light transport algorithms provided with RenderMan.
    [Show full text]
  • Production Global Illumination
    CIS 497 Senior Capstone Design Project Project Proposal Specification Instructors: Norman I. Badler and Aline Normoyle Production Global Illumination Yining Karl Li Advisor: Norman Badler and Aline Normoyle University of Pennsylvania ABSTRACT For my project, I propose building a production quality global illumination renderer supporting a variety of com- plex features. Such features may include some or all of the following: texturing, subsurface scattering, displacement mapping, deformational motion blur, memory instancing, diffraction, atmospheric scattering, sun&sky, and more. In order to build this renderer, I propose beginning with my existing massively parallel CUDA-based pathtracing core and then exploring methods to accelerate pathtracing, such as GPU-based stackless KD-tree construction, and multiple importance sampling. I also propose investigating and possible implementing alternate GI algorithms that can build on top of pathtracing, such as progressive photon mapping and multiresolution radiosity caching. The final goal of this project is to finish with a renderer capable of rendering out highly complex scenes and anima- tions from programs such as Maya, with high quality global illumination, in a timespan measuring in minutes ra- ther than hours. Project Blog: http://yiningkarlli.blogspot.com While competing with powerhouse commercial renderers 1. INTRODUCTION like Arnold, Renderman, and Vray is beyond the scope of this project, hopefully the end result will still be feature- Global illumination, or GI, is one of the oldest rendering rich and fast enough for use as a production academic ren- problems in computer graphics. In the past two decades, a derer suitable for usecases similar to those of Cornell's variety of both biased and unbaised solutions to the GI Mitsuba render, or PBRT.
    [Show full text]
  • Interactive Distributed Ray Tracing of Highly Complex Models Ingo Wald, Philipp Slusallek, Carsten Benthin Computer Graphics Group
    Interactive Distributed Ray Tracing of Highly Complex Models Ingo Wald, Philipp Slusallek, Carsten Benthin Computer Graphics Group, Saarland University, Saarbruecken, Germany g fwald,slusallek,benthin @graphics.cs.uni-sb.de Abstract. Many disciplines must handle the creation, visualization, and manip- ulation of huge and complex 3D environments. Examples include large structural and mechanical engineering projects dealing with entire cars, ships, buildings, and processing plants. The complexity of such models is usually far beyond the interactive rendering capabilities of todays 3D graphics hardware. Previous ap- proaches relied on costly preprocessing for reducing the number of polygons that need to be rendered per frame but suffered from excessive precomputation times — often several days or even weeks. In this paper we show that using a highly optimized software ray tracer we are able to achieve interactive rendering performance for models up to 50 million triangles including reflection and shadow computations. The necessary prepro- cessing has been greatly simplified and accelerated by more than two orders of magnitude. Interactivity is achieved with a novel approach to distributed render- ing based on coherent ray tracing. A single copy of the scene database is used together with caching of BSP voxels in the ray tracing clients. 1 Introduction The performance of todays graphics hardware has been increased dramati- cally over the last few years. Today many graphics applications can achieve interactive rendering performance even on standard PCs. However, there are also many applications that must handle the creation, visualization, and manipulation of huge and complex 3D environments often containing several tens of millions of polygons [1, 9].
    [Show full text]
  • Monte Carlo Path Tracing
    Chapter 1 Monte Carlo Path Tracing This Chapter discusses Monte Carlo Path Tracing. Many of these ideas appeared in James Kajiya’s original paper on the Rendering Equation. Other good original sources for this material is L. Carter and E. Cashwell’s book Particle-Transport Simulation with the Monte Carlo Methods and J. Spanier and E. Gelbard’s book Monte Carlo Principles and Neutron Transport Problems. 1.1 Solving the Rendering Equation To derive the rendering equation, we begin with the Reflection Equation Lr(~x;~!r) = Z fr(~x;~!i ~!r) Li(~x;~!i) cos θid!i: Ωi ! The reflected radiance Lr is computed by integrating the incoming radiance over a hemisphere centered at a point of the surface and oriented such that its north pole is aligned with the surface normal. The BRDF fr is a probability distribution function that describes the probability that an incoming ray of light is scattered in a random outgoing direction. By convention, the two direction vectors in the BRDF point outward from the surface. One of the basic laws of geometric optics is that radiance does not change as light propagates (assuming there is no scattering or absorption). In free space, where light travels along straight lines, radiance does not change along a ray. Thus, assuming that a point ~x on a receiving surface sees a point ~x0 on a source surface, the incoming radiance is equal to the outgoing radiance: Li(~x;~!i(~x0; ~x)) = Lo(~x0; ~!o0 (~x;~x)): 1 Li(x,ωi) Lr(x,ωr) fr(x,ωi,ωr) Figure 1.1: Integrating over the upper hemisphere.
    [Show full text]
  • Distribution Ray Tracing Academic Press, 1989
    Reading Required: Shirley, 13.11, 14.1-14.3 Further reading: A. Glassner. An Introduction to Ray Tracing. Distribution Ray Tracing Academic Press, 1989. [In the lab.] Robert L. Cook, Thomas Porter, Loren Carpenter. “Distributed Ray Tracing.” Computer Graphics Brian Curless (Proceedings of SIGGRAPH 84). 18 (3). pp. 137- CSE 557 145. 1984. Fall 2014 James T. Kajiya. “The Rendering Equation.” Computer Graphics (Proceedings of SIGGRAPH 86). 20 (4). pp. 143-150. 1986. 1 2 Pixel anti-aliasing BRDF The diffuse+specular parts of the Blinn-Phong illumination model are a mapping from light to viewing directions: ns LV I=ILB kds()NL +k N LV ILr f (,LV ) The mapping function fr is often written in terms of No anti-aliasing incoming (light) directions in and outgoing (viewing) directions out: ffrr(,inout) or ( in out ) This function is called the Bi-directional Reflectance Distribution Function (BRDF). Here’s a plot with in held constant: fr (,in out ) in Pixel anti-aliasing All of this assumes that inter-reflection behaves in a mirror-like fashion… BRDF’s can be quite sophisticated… 3 4 Light reflection with BRDFs Simulating gloss and translucency BRDF’s exhibit Helmholtz reciprocity: The mirror-like form of reflection, when used to ff(( )) rrinout out in approximate glossy surfaces, introduces a kind of That means we can take two equivalent views of aliasing, because we are under-sampling reflection (and refraction). reflection. Suppose in = L and out = V: For example: fr (L V) fr (V L) L V We can now think of the BRDF as weighting light
    [Show full text]
  • High Quality Rendering Using Ray Tracing and Photon Mapping
    High Quality Rendering using Ray Tracing and Photon Mapping Siggraph 2007 Course 8 Monday, August 5, 2007 Lecturers Henrik Wann Jensen University of California, San Diego and Per Christensen Pixar Animation Studios Abstract Ray tracing and photon mapping provide a practical way of efficiently simulating global illumination including interreflections, caustics, color bleeding, participating media and subsurface scattering in scenes with complicated geometry and advanced material models. This halfday course will provide the insight necessary to efficiently implement and use ray tracing and photon mapping to simulate global illumination in complex scenes. The presentation will cover the fun- damentals of ray tracing and photon mapping including efficient tech- niques and data-structures for managing large numbers of rays and photons. In addition, we will describe how to integrate the informa- tion from the photon maps in shading algorithms to render global illu- mination effects such as caustics, color bleeding, participating media, subsurface scattering, and motion blur. Finally, we will describe re- cent advances for dealing with highly complex movie scenes as well as recent work on realtime ray tracing and photon mapping. About the Lecturers Per H. Christensen Pixar Animation Studios [email protected] Per Christensen is a senior software developer in Pixar’s RenderMan group. His main research interest is efficient ray tracing and global illumination in very com- plex scenes. He received an M.Sc. degree in electrical engineering from the Tech- nical University of Denmark and a Ph.D. in computer science from the University of Washington in Seattle. His movie credits include ”Final Fantasy”, ”Finding Nemo”, ”The Incredibles”, and ”Cars”.
    [Show full text]
  • State of the Art in Monte Carlo Ray Tracing for Realistic Image Synthesis
    State of the Art in Monte Carlo Ray Tracing for Realistic Image Synthesis Siggraph 2001 Course 29 Monday, August 13, 2001 Organizer Henrik Wann Jensen Stanford University Lecturers James Arvo Caltech Marcos Fajardo ICT/USC Pat Hanrahan Stanford University Henrik Wann Jensen Stanford University Don Mitchell Matt Pharr Exluna Peter Shirley University of Utah Abstract This full day course will provide a detailed overview of state of the art in Monte Carlo ray tracing. Recent advances in algorithms and available compute power have made Monte Carlo ray tracing based methods widely used for simulating global illumination. This course will review the fundamentals of Monte Carlo methods, and provide a detailed description of the theory behind the latest tech- niques and algorithms used in realistic image synthesis. This includes path tracing, bidirectional path tracing, Metropolis light transport, scattering equations, irradi- ance caching and photon mapping. Lecturers Jim Arvo Computer Science 256-80 1200 E. California Blvd. California Institute of Technology Pasadena, CA91125 Phone: 626 395 6780 Fax: 626 792 4257 [email protected] http://www.cs.caltech.edu/ arvo James Arvo has been an Associate Professor of Computer Science at Caltech since 1995. From 1990 to 1995 he was a senior researcher in the Program of Computer Graphics at Cornell University. He received a B.S. in Mathematics from Michigan Technological University, an M.S. in Mathematics from Michigan State Univer- sity, and a Ph.D. in Computer Science from Yale University in 1995. His research interests include physically-based image synthesis, Monte Carlo methods, human- computer interaction, and symbolic computation.
    [Show full text]
  • High Quality Rendering Using Ray Tracing and Photon Mapping
    High Quality Rendering using Ray Tracing and Photon Mapping Siggraph 2007 Course 8 Monday, August 5, 2007 Lecturers Henrik Wann Jensen University of California, San Diego and Per Christensen Pixar Animation Studios Abstract Ray tracing and photon mapping provide a practical way of efficiently simulating global illumination including interreflections, caustics, color bleeding, participating media and subsurface scattering in scenes with complicated geometry and advanced material models. This halfday course will provide the insight necessary to efficiently implement and use ray tracing and photon mapping to simulate global illumination in complex scenes. The presentation will cover the fun- damentals of ray tracing and photon mapping including efficient tech- niques and data-structures for managing large numbers of rays and photons. In addition, we will describe how to integrate the informa- tion from the photon maps in shading algorithms to render global illu- mination effects such as caustics, color bleeding, participating media, subsurface scattering, and motion blur. Finally, we will describe re- cent advances for dealing with highly complex movie scenes as well as recent work on realtime ray tracing and photon mapping. About the Lecturers Per H. Christensen Pixar Animation Studios [email protected] Per Christensen is a senior software developer in Pixar’s RenderMan group. His main research interest is efficient ray tracing and global illumination in very com- plex scenes. He received an M.Sc. degree in electrical engineering from the Tech- nical University of Denmark and a Ph.D. in computer science from the University of Washington in Seattle. His movie credits include ”Final Fantasy”, ”Finding Nemo”, ”The Incredibles”, and ”Cars”.
    [Show full text]
  • Sorted Deferred Shading for Production Path Tracing
    Eurographics Symposium on Rendering 2013 Volume 32 (2013), Number 4 Nicolas Holzschuch and Szymon Rusinkiewicz (Guest Editors) Sorted Deferred Shading for Production Path Tracing Christian Eisenacher Gregory Nichols Andrew Selle Brent Burley Walt Disney Animation Studios Abstract Ray-traced global illumination (GI) is becoming widespread in production rendering but incoherent secondary ray traversal limits practical rendering to scenes that fit in memory. Incoherent shading also leads to intractable performance with production-scale textures forcing renderers to resort to caching of irradiance, radiosity, and other values to amortize expensive shading. Unfortunately, such caching strategies complicate artist workflow, are difficult to parallelize effectively, and contend for precious memory. Worse, these caches involve approximations that compromise quality. In this paper, we introduce a novel path-tracing framework that avoids these tradeoffs. We sort large, potentially out-of-core ray batches to ensure coherence of ray traversal. We then defer shading of ray hits until we have sorted them, achieving perfectly coherent shading and avoiding the need for shading caches. Categories and Subject Descriptors (according to ACM NUMA effects and load-balancing. Thus, it is desirable to CCS): I.3.7 [Computer Graphics]: Three-Dimensional avoid caches and instead seek to ensure coherent shading. Graphics and Realism—Raytracing In this paper, we present a streaming ray-tracer, capable of performing multi-bounce GI on production-scale scenes 1. Introduction without resorting to shading caches or instancing. To achieve Path-traced GI promises many benefits for production ren- this, we introduce a novel two-stage ray sorting framework. dering: it can produce richer, more plausible results with far First, we sort large, potentially out-of-core ray batches to fewer lights, and avoids the data-management burden asso- ensure coherence.
    [Show full text]
  • Rendering Equation and Its Solution
    Computer graphics III – Rendering equation and its solution Jaroslav Křivánek, MFF UK [email protected] Global illumination – GI Direct illumination 2 Review: Reflection equation “Sum” (integral) of contributions over the hemisphere: Lr (x,ωo ) = Li (x,ωi )⋅ fr (x,ωi → ωo )⋅cosθi dωi ∫ H (x) n ω Li(x, i) Emitted radiance Lo(x, ωo) dωi θ L (x,ω ) = L (x,ω ) θo i o o e o + Lr (x,ωo ) Lr(x, ωo) Total outgoing rad. Reflected rad. From local reflection to global light transport Reflection equation (local reflection) Lo (x,ωo ) = Le (x,ωo ) + Li (x,ωi )⋅ fr (x,ωi → ωo )⋅cosθi dωi ∫ H (x) Where does the incoming radiance Li(x, ωi) come from? From other places in the scene ! Lo( r(x, ωi), -ωi) r(x, ωi) ω = ω −ω = Li (x, i ) Lo (r(x, i ), i ) L (x,ω ) i i x Ray casting function CG III (NPGR010) - J. Křivánek 2015 From local reflection to global light transport Plug for Li into the reflection equation Lo (x, ωo ) = Le (x,ωo ) + ω −ω ⋅ ω → ω ⋅ θ ω ∫ Lo (r(x, i ), i ) fr (x, i o ) cos i d i H (x) Incoming radiance Li drops out Outgoing radiance Lo at x described in terms of Lo at other points in the scene CG III (NPGR010) - J. Křivánek 2015 Rendering equation Remove the subscript “o” from the outgoing radiance: ω = ω L (x, o ) Le (x, o ) + ω −ω ω → ω θ ω ∫ L(r(x, i ), i ) fr (x, i o )cos i d i H (x) Description of the steady state = energy balance in the scene Rendering = calculate L(x, ωo) for all points visible through pixels, such that it fulfils the rendering equation CG III (NPGR010) - J.
    [Show full text]
  • The Rendering Equation Radiosity
    The Rendering Equation Direct (local) illumination Light directly from light sources No shadows Indirect (global) illumination Hard and soft shadows Diffuse interreflections (radiosity) Glossy interreflections (caustics) CS348B Lecture 12 Pat Hanrahan, Spring 2011 Radiosity CS348B Lecture 12 Pat Hanrahan, Spring 2011 Page 1 Lighting Effects Hard Shadows Soft Shadows Caustics Indirect Illumination CS348B Lecture 12 Pat Hanrahan, Spring 2011 Challenge To evaluate the reflection equation the incoming radiance must be known To evaluate the incoming radiance the reflected radiance must be known CS348B Lecture 12 Pat Hanrahan, Spring 2011 Page 2 To The Rendering Equation Questions 1. How is light measured? 2. How is the spatial distribution of light energy described? 3. How is reflection from a surface characterized? 4. What are the conditions for equilibrium flow of light in an environment? CS348B Lecture 12 Pat Hanrahan, Spring 2011 The Grand Scheme Light and Radiometry Energy Balance Surface Volume Rendering Equation Rendering Equation Radiosity Equation CS348B Lecture 12 Pat Hanrahan, Spring 2011 Page 3 Energy Balance Balance Equation Accountability [outgoing] - [incoming] = [emitted] - [absorbed] Macro level The total light energy put into the system must equal the energy leaving the system (usually, via heat). Micro level The energy flowing into a small region of phase space must equal the energy flowing out. CS348B Lecture 12 Pat Hanrahan, Spring 2011 Page 4 Surface Balance Equation [outgoing] = [emitted] + [reflected] CS348B Lecture 12 Pat Hanrahan, Spring 2011 Direction Conventions BRDF Surface vs. Field Radiance CS348B Lecture 12 Pat Hanrahan, Spring 2011 Page 5 Two-Point Geometry Ray Tracing CS348B Lecture 12 Pat Hanrahan, Spring 2011 Coupling Equations Invariance of radiance CS348B Lecture 12 Pat Hanrahan, Spring 2011 Page 6 The Rendering Equation Directional form Transport operator Integrate over i.e.
    [Show full text]