Computer Graphics (CMU 15-462/662)
This page contains lecture slides, videos, and recommended readings.
(Overview of graphics, graphics pipeline)
(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, differential operators, directional derivative, gradient, differentiating matrices, differentiating functions, divergence, Laplacian, Hessian, (multivariable) Taylor series)
(Overview of key C++ programming constructs and concepts)
(basic math of spatial transformations and coordinate spaces, 3D rotations, commutativity of rotations, 2D rotation matrix, Euler angles, rotation from axis/angle, complex numbers, quaternions, quaternion rotation)
(understanding perspective projection, drawing a line, coverage testing as sampling a 2D signal, performing point-in-triangle tests, sampling and challenges of aliasing, supersampling)
(interpolation using barycentric coordinates, occlusion via the depth buffer, perspective correct interpolation, texture mapping using the mip-map)
(alpha composition, use of premultiplied alpha, implicit and explicit representations, geometric data structures, smooth surfaces, manifold condition, manifold polygon mesh, surfaces with boundary)
(a few more words on manifolds, 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)
(subdivision, Loop scheme, iterative edge collapse, quadric error metric, minimizing a quadratic form, Delaunay flipping, isotropic remeshing, signal degradation, geometric queries, marching cubes, signed distance fields, neural radiance fields)
(ray-triangle intersection, 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:
(types of reflectance functions, models of scattering, reflection, refraction, subsurface scattering, Snell's law, total internal reflection, albedo, Fresnel reflectance, constructing and using an environment light, importance sampling)
(ray sampling, direct vs. indirect illumination, discrete approximation of a continuous integral, biased vs. unbiased estimators, the Monte Carlo estimator and Monte Carlo integration, expected value, variance, 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, photon mapping, finite element radiosity)
(path space formulation of light transport, importance sampling, bidirectional path tracing, Metropolis-Hastings algorithm, multiple importance sampling, photon mapping, finite element radiosity, non-photorealistic rendering)
Supplementary material:
(history of (computer) animation, process of animation, principles of animation)
(splines, natural cubic splines, cubic Hermite/Bezier, Catmull-Rom splines, B-splines, interpolation, continuity, locality, keyframing)
Supplementary material:
(Forward and inverse kinematics)
(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)
(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)