Noise
Instructor: Christopher Rasmussen (cer@cis.udel.edu)
November 21, 2019 ❖ Lecture 25
Outline
Photon Mapping (H. Jensen, 1996)
Photon Mapping: 1st pass (Write)
images from Wikipedia
kd-trees
images from Wikipedia
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)
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
Other kinds of interactions
Rayleigh/Mie scattering examples
Actual sky photo
Nishita sky simulation
GLSL sky simulation
Scratchapixel sky simulation
Other kinds of interactions
BSSRDF examples
BSSRDF examples
BRDF
BSSRDF
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
Variations on noise
"sum" here means fractal noise as defined on previous slide
Noise Variations
from Perlin
Smoothed noise only
Turbulence (8 octaves)
Pure Perlin noise
Turbulence
Noise Variations
Turbulence with absolute
values of noise
Phase shift: sin(x + turb())
Noise in GLSL
Value noise/turbulence demo: https://www.shadertoy.com/view/4sfGzS
2-D Noise: Applications
3-D and 4-D Noise: Applications
Noise: “Wobbly Chrome”
WebGL/GLSL examples
GLSL programming in your browser