Global Illumination
Instructor: Christopher Rasmussen (cer@cis.udel.edu)
May 3, 2023 ❖ Lecture 33
Outline
Photon Mapping (H. Jensen, 1996)
Photon Mapping: 1st pass (Write)
kd-trees
kd-trees
Photon Map: Example
Raytraced scene (courtesy of P. Christensen)
Photon map of scene (n=500,000)�[notice nothing stored at pure specular surfaces]
WebGL path tracer (not same as photon mapping, but similar)
Blender "Cycles" path tracer (not same as photon mapping, but similar)
Tutorial from same source as earlier texture-mapping videos
Another rendering tutorial
Photon Mapping: 2nd pass (Read)
Irradiance estimates based on nearby photons
Previous image combined w/ texture maps & material colors
Scene after final gathering
Raytraced scene (courtesy of P. Christensen)
Lighting Components, Reconsidered
Multiple Photon Maps
Caustic map
Global map
Ray Tracing
Photon Mapping
Photon Mapping
Where are LSDE paths? LDDE paths?
Example: Water caustics
Example: Smoke (volume map)
Demo: Photon mapping with caustics
What is Computer Graphics? Goals
More procedural modeling
What is Computer Graphics? Goals
More procedural modeling -- noise can help with shape, motion, pattern, ...
Noise as a Texture Generator
3-D Noise
courtesy of L. McMillan
Perlin noise is implemented in GLM library -- see this page
3-D Noise Interpolation
courtesy of L. McMillan
Z interpolation
X interpolation
Y interpolation
3-D Noise Texturing: Examples
Original object
Noise with trilinear smoothing
Triquadratic noise
courtesy of L. McMillan
Noise Frequency
Original
noise
Smoothed
noise
Smoothed noise at different magnification levels
courtesy of H. Elias
Fractal Noise (aka "turbulence", aka "fractional Brownian motion" (FBM))
+ 0.5 x
+ 0.25 x
+ 0.125 x
1 x
=
courtesy of H. Elias