Week 5: Lighting, Shading [for Rendering/Lighting TDs]
5.1 Parameter interpolation
5.1.1 Linear interpolation
scalars
vectors
* points
* colors (triplets)
* pixel-blending operation!
5.1.2 Nonlinear interpolation
bias
exp/log and also poly fns
gain
smoothstep
* classic smoothstep (cubic eqn), compare w/ 'step'
5.1.3 Multi-sample interpolation
spline interpolation
* splines
* approx vs interp - Bezier, b-spline, Catmull-Rom (approx vs interp splines)
* tension, bias
5.1.4 Weighted interpolation
blendshapes
* blendshapes - multi samples, normalized wt scaling
luminance
* NTSC luminance formula (vs. simple grayscale)
5.1.5 Rotation interpolation
Euler angles
slerp
5.2 Lighting and shading calculations
5.2.1 The standard lighting equation
Ambient
Diffuse
incl. wrap diffuse
Specular
* Blinn, Phong
* Schlick's approx!
5.2.2 Lighting-related vectors
Reflection
Refraction
Ray tracing
* see Shirley's bk - 2 chapters - basics, refraction, distrib. tracing..
5.2.3 Falloff
Light falloff
* none/linear/quadratic/other
Fog
5.2.4 Anisotropic shading
brushed metal
hair
glossy
jewel
5.3 Noise
5.3.1 fBM
Random walk
See Proc example
5.3.2 Perlin noise
noise function
* noise() - 1D, 2D, 3D, nD [RSL]
noise variations
* lattice noise, RMF noise, gradient noise etc
Turbulence
* summation - loop: double freq, halve the strength (to not destroy base pattern) - like a symphony
* when Nyquist limit is reached, stop the loop
Procedural patterns
* fractal noise (proc. patterns): marble, spatter, wood
5.3.3 Cell noise
Voronoi regions
cell formation
alternate distance metrics
Manhattan Metric etc
5.3.4 Wavelet noise
Generalized bases
Noise synthesis
Wavelet turbulence
* http://www.cs.cornell.edu/~tedkim/WTURB/
5.3.5 Curl noise
curl - review
curl-derived noise
5.4 Misc. shading topics
5.4.1 Random numbers - spatial distributions
Test and reject
plane: generate, test, accept/reject
Point repulsion
plane
Over a sphere
Gems article (or Steve CG?) - consider a circular cross section..
Non-uniform distributions
5.4.2 Low discrepancy sequences
QMC/LDS
(eg. Sobol)
Monte Carlo
Buffon's needle - MC way to get pi :)
GEOMETRIC probability..
http://www.cut-the-knot.org/fta/Buffon/buffon9.shtml
Stamp: http://www.ms.uky.edu/~mai/java/stat/buffon.jpg
Applet: http://www.ms.uky.edu/~mai/java/stat/buff.html and http://www.ventrella.com/Buffon/index.html (in 3D)
Buffon's 'dot' - unif. rnums in [0..1] in x,y, see if they fall inside circle or not (P=area of circle/area of sq)
5.4.3 Tiled shading
uv remapping
* UV coords, RST of them
wallpaper groups
* kaleido (Terrazo, actually!)
Bug's Eye kaleido
Wang tiles
5.4.4 Spherical harmonics
Bessel functions
Color bleeding
5.4.5 Mapping
normal mapping
PTM (polynomial texture mapping)
parallax mapping