Final review
HW #4: due 5 am tomorrow if you have 3 late days!!!
May 17, 2016 ❖ Lecture 25
Final Notes
Final topics
TEXTURES
What is Texture Mapping?
from Hill
Texture mapping: Steps
Texturing Pipeline (Geometry + Rasterization)
list adapted from Akenine-Moller & Haines
courtesy of R. Wolfe
Projector Functions
Planar projector
courtesy of R. Wolfe
Projecting in non-standard directions
courtesy of R. Wolfe
Projecting in non-standard directions
courtesy of R. Wolfe
Different ray directions for a spherical projector
Environment/Reflection Mapping
from Angel
Environment mapping: Details
courtesy of R. Wolfe
Texture Rasterization
from Hill
Why not?
from Hill
courtesy of
H. Pfister
Magnification and minification
Magnification
Minification
from Angel
courtesy of H. Pfister
Bilinear Interpolation (BLI)
Vertical blend
Horizontal blend
Mipmaps
from Woo, et al.
Bump Mapping
Bump mapping: Why?
courtesy of Nvidia
Bump Mapping: How?
from Hill
Bump mapping: Issues
courtesy of Nvidia
Displacement Mapping
courtesy of spot3d.com
Bump mapping
Displacement mapping
Shadow Maps
View from light
View from camera
RAY TRACING
Illumination models
Backward Ray “Following”: Types
Angel
Does Ray Intersect any Scene Primitives?
from Hill
Ray-Sphere Intersection I
with ray equation
(where d is a unit vector) to get:
Ray-Sphere Intersection II
to solve for t, resulting in a quadratic equation with roots given by:
Shadow Rays
from Hill
Ray Tracing
from Hill
Ray Tracing Reflection Formula
Refraction
θ1: Angle of incidence
θ2: Angle of refraction
courtesy of
Wolfram
Basic Ray Tracing: Notes
Distributed (aka “distribution”) Ray Tracing (DRT)
Supersampling
from Hill
Regular supersampling
with 2x frequency
Jittered supersampling
Adaptive Supersampling (Whitted’s method)
from Hill
DRT: Soft Shadows
DRT: Ambient Occlusion
DRT: Glossy Reflections
Why is the reflection
sharper at the top?
Bounding Volumes
Bounding Boxes as Volumes: Multiple Objects
Nested boxes impose a hierarchy...
...that allow a more efficient recursive tree search
Uniform Spatial Subdivision
GLOBAL ILLUMINATION
Light Paths
from Sillion & Puech
Light Paths: Examples
from Hill
Ray tracing light paths
General light paths
from Sillion & Puech
Caustics
courtesy of H. Wann Jensen
from Sillion & Puech
Bidirectional Ray Tracing (P. Heckbert, 1990)
from P. Heckbert
Photon Mapping (H. Jensen, 1996)
Lighting Components, Reconsidered
LD*E paths
from http://gurneyjourney.blogspot.com
Also known as diffuse reflectance,
color bleeding
kd-trees
NOISE
Noise as a Texture Generator
3-D Noise
courtesy of L. McMillan
Perlin noise is implemented in GLM library -- see this page
Fractal Noise (aka "turbulence", aka "fractional Brownian motion" (FBM))
+ 0.5 x
+ 0.25 x
+ 0.125 x
1 x
=
courtesy of H. Elias
2-D Noise: Applications
3-D and 4-D Noise: Applications
SHAPE MODELING
Parametric Lines
p(t) = p0 + t(p1 - p0), where t ∈ [0, 1]
= p0 - t p0 + t p1
= (1 - t)p0 + t p1
from Akenine-Möller & Haines
like a “blend” of
the two endpoints
Linear Interpolation as Blending
Blending functions for
linear interpolation
(2 control points)
from Akenine-Möller & Haines
• Here we have n=1, B0 = 1 - t, and B1 = t
Interpolating interpolants: Quadratic Bezier curves
p(t) = (1 - t)d + te
= (1 - t)[(1 - t)a + tb] + t[(1 - t)b + tc]
from Akenine-Möller & Haines
Bézier Curves
Cubic Bernstein polynomials
for 4 control points
from Akenine-Möller & Haines
Interpolating Splines
Catmull-Rom spline
from Hearn & Baker
Catmull-Rom spline
Curve Subdivision
from Shirley
Bézier curves and B-splines via subdivision
Chaikin’s scheme
from Akenine-Möller & Haines
Surface Subdivision
from Akenine-Möller & Haines
Loop subdivision
from Akenine-Möller & Haines
Subdivision: Example (Catmull-Clark)
from http://graphics.stanford.edu/courses/cs468-10-fall/LectureSlides/10_Subdivision.pdf
Other surface subdivision schemes