Computer Graphics (CMU 15-462/662)
This page contains lecture slides, videos, and recommended readings.
(Overview of graphics, vectors, vector spaces, linear maps, inner product, norm, L2 inner product, span, basis, orthonormal basis, Gram-Schmidt, frequency decomposition, systems of linear equations, 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)
(basic math of spatial transformations and coordinate spaces)
(understanding perspective projection, drawing a line, coverage testing as sampling a 2D signal, performing point-in-triangle tests)
(interpolation using barycentric coordinates, occlusion via the depth buffer, alpha composition, use of premultiplied alpha, the graphics pipeline and modern GPUs)
(sampling and challenges of aliasing, supersampling, perspective correct interpolation, texture mapping using the mip-map)
(3D rotations, commutativity of rotations, 2D rotation matrix, Euler angles, rotation from axis/angle, complex numbers, quaternions, quaternion rotation)
Supplementary material:
(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)
(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)
(implicit and explicit geometric representations, CSG, distance fields, level sets, fractals, Bezier curves and patches, NURBS, subdivision)
(acceleration via bounding volume hierarchies and space partitioning structures)
(tristimulus nature of color perception, XYZ primaries, luminance vs. brightness, color spaces)
(radiometric quantities and units, photometry, radiometry integrals, how real cameras work)
(the rendering equation, the importance of indirect illumination, path tracing)
Supplementary material:
(quadrature, sampling distributions, basic Monte Carlo integration, ray tracing vs. rasterization, expected value, variance, law of large numbers, importance sampling)
(local vs. global illumination, Monte Carlo integration, importance sampling, direct lighting estimate, cosine weighting, path tracing, Russian roulette)
(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, Hammersley and Halton sequences, blue noise, Poisson disk sampling, Lloyd relaxation, alias table, photon mapping, finite element radiosity)
(history of (computer) animation, splines, natural splines, cubic Hermite/Bezier, B-splines, interpolation, keyframing, rigging, skeletal animation, inverse kinematics, blend shapes)
Supplementary material:
(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)
(continuous vs. discrete optimization, standard form of an optimization problem, local vs. global minima, existence and uniqueness of solutions, convex optimization, descent methods, gradient descent, Newton descent, kinematic chains, inverse kinematics)
(PDEs in computer graphics, defintion of a PDE, order and linearity, model equations (elliptic/parabolic/hyperbolic), Laplace equation, heat equation, wave equation, numerical solution of PDEs, Lagrangian and Eulerian discretization, the Laplace operator, discrete Laplacian, Jacobi method)
(definition of character control, PD controllers, postural control, balance control, parameters of a walking controller, inverted pendulum model for stepping, quadrupedal gaits, gait charts, parameters of a quadrupedal gait controller, applications of character simulation and control, character animation with sampling, muscle models, and motion capture, character performance)