Computer Graphics Global Illumination: Photon Mapping, Participating Media Lecture 12 Taku Komura last lecture Monte-Carlo Ray Tracing Path Tracing Bidirectional Path Tracing Photon Mapping 2 Today Methods to accelerate the accuracy of photon mapping Rendering Participating Media 3 Accelerating the accuracy of photon mapping Combine with ray tracing to visualize the specular light visible from the camera Shoot more photons towards directions where more samples are needed Caustics photon map Tracing photons only towards specular surfaces A Practical Two-Pass Algorithm Building photon maps by photon tracing Separate the photon paths into different categories according to the reflectance Rendering Combining the radiance of difference light paths Light Transport Notation L: Lightsource E: Eye S: Specular reflection D: Diffuse reflection (k)+ one or more k events (k)* zero or more of k events (k)? zero or one k event (k|k’) a k or k’ event Photon Tracing Create two photon maps Global photon map (the usual photon map) All Photons with property L(S|D)*D are stored. Caustics photon map Created by tracing photons that hit the specular surfaces Cast the photons only toward specular objects LS+D Rendering Separate the irradiance into four groups Direct illumination (by ray tracing or global photon map) : LD Diffuse indirect illumination (by global photon map) : LD(S|D)+D Specular reflection (by ray tracing) L(S|D)*S Caustics (by caustics photon map) LS+D Caustics Photon Map Caustics require high resolution Need to cast more photons towards surfaces that generates caustics Projection Map Projection map A map of the geometry seen from the light source Made of many cells – which is on if there is a geometry in that direction, and off if not For a point light, it is a spherical projection For directional light, a planar projection Use a bounding sphere to represent the objects Direct + Indirect + Specular Why is photon mapping efficient? It is a stochastic approach that estimates the radiance from a few number of samples Kernel density estimation Can actively distribute samples to important areas Caustics photon map Today Methods to accelerate the accuracy of photon mapping Rendering Participating Media 14 Participating Media Dusty air, clouds, silky water Translucent materials such as marble, skin, and plants Photon mapping is good in handling participating media In participating media, the light is scattered to different directions Single / Multiple scattering The brightness of a point Is decided by Out scattering Absorption In scattering L ( x, ) L ( x, ) Li ( x, ' ) ' Light out-scattering • The change in radiance, L, in the direction ω, due to out scattering is given by ( ) L( x, ) s ( x) L( x, ) • The change in radiance due to absorption is ( ) L( x, ) a ( x) L( x, ) s ( x) : scattering coefficien t a ( x) : absorption coefficien t L ( x, ) In-scattering • The change due to inscattering ( ) L( x, ) s ( x) 4 p( x, ' , ) Li ( x, ' )d ' where the incident radiance, Li, is integrated over all directions p is called the phase function describing the distribution of the scattered light Li ( x, ' ) ' Phase function Isotropic scattering Scattered in any random direction 1 p( ) 4 Henyey-Greenstein Phase Function Scattered in the direction more towards the front Dust, stone, clouds p( ) 1 g 2 4 (1 g 2 2 g cos ) 1 2 1 g 1 Phase function Examples Cornell Box scene – isotropic, homogeneous participating medium. Cornell Box scene – anisotropic, homogeneous participating medium. 200,000 photons used with 65,000 in the volume map. Radiance 200,000 photons used with 65,000 in the volume map. Radiance estimate used 100 photons. estimate used 50 photons. Ray marching and single scattering • Now we compute how the light will be accumulated along a ray • This is called ray marching t x L( x, ) Li ( x, ' ) p( x, ' , ) s ( x)x e L( x x, ) N l where N is the number of light sources and Li is the radiance from each light source The last term is the light entering from behind, which is attenuated by proceeding Δx Ray marching through a finite size medium (Single Scattering) Ln1 ( x, ), N Ln ( x x, ), Ln ( x 2x, ) Ln 1 ( x, ) Li ( x, l ' ) p( x, l ' , ) s ( x)x e l t x Ln ( x x, ) Multiple scattering • For multiple scattering, it is necessary to integrate all the in-scattered radiance at every segment Ln 1 ( x, ) Ld ( x, l ' ) p ( x, l ' , ) s ( x)x N l 1 S Ls ( x, s ' ) p ( x, s ' , ) s ( x)x S s 1 e t ( x ) x Ln ( x x, ) • Here S sample rays are used to estimate the in-scattered light Photon mapping participating media • Photon mapping can efficiently handle multiple scattering • The photons interact with the media and are scattered / absorbed • The average distance the photon proceeds after each interaction is d 1 t t : terminati on coefficien t t s a Photon Scattering • The photon is either absorbed or scattered • The probability of scattering is s t • Deciding what happens by Russian Roulette Photon is scattered Given [0,1] Photon is absorbed • Once the photon interacts with the media, it is stored in a volume photon map Volume Radiance Estimate • Same as we did for surface radiance estimate, locate n nearest photons and estimate the radiance n ( ) Lo ( x, ) p 1 p ( x, ) f ( x, p ' , ) 4 3 r 3 Rendering Participating Media • By ray tracing • If a ray enters a participating media, we use ray marching to integrate the illumination. N Ln 1 ( x, ) Ll ( x, l ' ) p( x, l ' , ) s ( x)x Single scattering term l n p ( x, ) f ( x, l ' , ) 4 x p 1 r 3 3 t ( x ) x e Ln ( x x, ) multiple scattering term Examples single scattering multiple scattering Subsurface Scattering • In computer graphics, reflections of non-metallic materials are usually approximated by diffuse reflections. • Light leaving from the same location where it enters the object • For translucent materials such as marble, skin and milk, this is a bad approximation • The light leaves from different locations Single scattering Direct single scattering: Compute the distance the light has traveled and attenuate according to the distance Indirect Multiple scattering : Photon maps Subsurface Scattering by Photon Mapping • Photon tracing – as explained before • Rendering – Ray marching BSSRDF • Bidirectional Scattering Surface Reflectance Distribution Function (BSSRDF) dLr ( x, ) S ( x, , x ' , ' ) d i ( x' , ' ) • Relates the differential reflected radiance dLr, at x in the direction ω, to the differential incident flux, dΦ, at x’ from direction ω’. • We can capture/model the BSSRDF and use it for rendering Rendering using BSSRDF (a) sampling a BRDF (b) sampling a BSSRDF Collect samples of incoming rays over an area http://graphics.ucsd.edu/~henrik/animations/BSSRDF-SIGGRAPH-ET2001.avi Rendering by BSSRDF Human skin reflectance simulated by BRDF BSSRDF • Readings : Realistic Image Synthesis Using Photon Mapping by Henrik Wann Jensen, AK Peters Chapter 9, 10
© Copyright 2026 Paperzz