Computer Graphics (CMU 15-462/662)

This page contains lecture slides and optional readings for the Spring 2020 offering of 15-462/662.

(Overview of graphics + making a line drawing of a cube!)

(Vectors, vector spaces, linear maps, inner product, norm, L2 inner product, span, basis, orthonormal basis, Gram-Schmidt, frequency decomposition, systems of linear equations, bilinear and quadratic forms, matrices)

(Euclidean inner product, cross product, matrix representations, determinant, triple product formulas, differential operators, directional derivative, gradient, differentiating matrices, differentiating functions, divergence, curl, Laplacian, Hessian, (multivariable) Taylor series)

(coverage testing as sampling a 2D signals, challenges of aliasing, performing point-in-triangle tests)

Further Reading:

- A Pixel is Not A Little Square, Alvy Ray Smith, 1995
- A Nice Video Illustration of Temporal Aliasing. by Valvano and Yerraballi
- The Fourier Transform and It's Applications (Ch. 5) by B. Osgood (this is an outstanding reference)
- Stanford CS348B's Notes on Sampling. by Pat Hanrahan (also see Chapter 7.1 in the Physically Based Rendering book)

(basic math of spatial transformations and coordinate spaces)

Further Reading:

- Real Time Rendering Chapter 4. by T. Akenine Moller, E. Haines, N. Hoffman
- 3D Rotations (exerpt from Ch. 15 of Advanced Animation and Rendering Techniques. by A. Watt, M. Watt)

(3D rotations, commutativity of rotations, 2D rotation matrix, Euler angles, rotation from axis/angle, complex numbers, quaternions, quaternion rotation)

(understanding perspective projection, texture mapping using the mip-map)

Further Reading:

- Pyramidal Parametrics. by L. Williams (the original mipmapping paper from 1983!)

(occlusion via the depth buffer, alpha composition, the modern rasterization pipeline and GPUs)

Further Reading:

- Image Compositing Fundamentals. by Alvy Ray Smith, 1995
- A Closer Look at GPUs. by K. Fatahalian and M. Houston, 2008
- Rise of the Graphics Processor. by D. Blythe, 2008
- The Compute Architecture of Intel Processor Graphics Intel Technical Report, 2015.
- NVIDIA GeForce GTX 980 Whitepaper. NVIDIA Technical Report, 2014

(implicit and explicit representations, geometric data structures)

(smooth surfaces, manifold condition, manifold polygon mesh, surfaces with boundary, polygon soup, incidence matrices, halfedge data structure, local mesh operations, subdivision modeling)

(geometry processing pipeline, surface reconstruction, upsampling, downsampling, resampling, filtering, compression, shape analysis, remeshing, mesh quality, subdivision, Catmull-Clark scheme, Loop scheme, iterative edge collapse, quadric error metric, minimizing a quadratic form, Delaunay flipping, Laplacian smoothing, isotropic remeshing, signal degradation)

(distance queries, point-to-triangle, definition of a ray, ray-sphere intersection, ray-triangle intersection, triangle-triangle intersection)

(accelerating geometric queries via bounding volume hierarchies and space partitioning structures, rasterization and ray casting as solutions to the same visibility query problem)

(tristimulus nature of color perception, color matching experiments, XYZ primaries, luminance vs. brightness, color spaces, gamma correction, tone mapping)

Further Reading:

- Marc Levoy's Stanford CS178 interactive demos are super helpful understanding color theory. (see section on "Color")
- Recovering High Dynamic Range Radiance Maps from Photographs by Debevec et al.
- Gradient Domain High Dynamic Range Compression by Fattal et al. SIGGRAPH 2002
- Photographics Tone Reproduction for Digital Images by Reinhard et al. SIGGRAPH 2002.

Overview of essential info on the first part of your pathtracer assignment.

(radiometric quantities and units, photometry, radiometry integrals, how real cameras work)

(the rendering equation, the importance of indirect illumination, path tracing, splitting, Russian roulette)

(quadrature, sampling distributions, basic Monte Carlo integration)

(ray tracing vs. rasterization, local vs. global illumination, Monte Carlo integration, expected value, variance, law of large numbers, importance sampling, direct lighting estimate, cosine weighting, path tracing, Russian roulette)

Overview of essential info on the second part of your pathtracer assignment.

(Monte Carlo integration, expected value, variance, continuous random variables, variance reduction, bias and consistency, path space formulation of light transport, importance sampling, bidirectional path tracing, Metropolis-Hastings algorithm, multiple importance sampling, sampling patterns, stratified sampling, low-discrepancy sampling, quasi Monte Carlo, Hammersley and Halton sequences, blue noise, Poisson disk sampling, Lloyd relaxation, alias table, photon mapping, finite element radiosity)

Further Reading:

- "Monte Carlo Methods for Light Transport Simulation" the Academy Award-winning PhD thesis by Eric Veach
- "Stratified Sampling of Spherical Triangles" by Jim Arvo
- "Computing the Discrepancy with Applications to Supersampling Patterns" by David Dobkin, David Eppstein, and Don P. Mitchell
- "Generating Antialiased Images at Low Sampling Densities" by Don P. Mitchell

(history of (computer) animation, splines, natural splines, cubic Hermite/Bezier, B-splines, interpolation, keyframing, rigging, skeletal animation, inverse kinematics, blend shapes)

(physically-based animation, Newton's 2nd law of motion, generalized coordinates, ordinary differential equations (ODE), Lagrangian mechanics, Euler-Lagrange equations, pendulum/double pendulum, n-body systems, mass-spring systems, particle systems, flocking, crowds, particle-based fluids, granular materials, molecular dynamics, hair simulation, numerical integration, forward/backward/symplectic Euler, stability analysis, numerical differentiation, automatic differentiation, symbolic differentiation)

Further Reading:

- Physically Based Modeling: Principles and Practice (Differential Equation Basics) by Andrew Witkin and David Baraff.
- Physically Based Modeling: Principles and Practice (Particle System Dynamics) by Andrew Witkin.
- Geometric Numerical Integration by Ernst Hairer, Christian Lubich, and Gerhard Wanner.
- Structure and Interpretation of Classical Mechanics by Gerald Jay Sussman and Jack Wisdom.