This course covers techniques for realistic computer graphics rendering that consider global illumination, that is, light from light sources bouncing multiple times on object surfaces in the scene before illuminating the surface being shaded. The radiosity method is briefly discussed, but most of th…
Lecture 27 consists of the fall 2011 student project presentations.
Lecture 26 discusses multiple reflections in precomputed radiance transfer and hierarchical radiosity, with subdivision oracles and the push-pull method for shooting and gathering radiosity. (At 12 minutes, the factor of y_i(Psi_k) is not needed in the integral, since the integral for computing t_i^0 already involves that factor. The word "octtree" should be replaced many times by "quadtree", since we are doing quadtree subdivision.)
Lecture 25 discusses ambient occlusion, precomputed radiance transfer, spherical harmonics, and computing the coefficients of the spherical harmonics series by ray tracing. (At 24:24 minutes, the relation should read z^2 = 1 - x^2 - y^2, not z^2 = 1 - x^2 + y^2.)
Lecture 24 defines the extinction coefficient, scattering coefficient and albedo, derives the differential equation for radiance transport in a participating medium, shows how to create a photon map for a participating medium and how to integrate its inscattering along a viewing ray. (At 12 minutes "d omega" should be "d omega' ". The end of the bidirectional path tracing discussion should have included a factor of the transparency along the dotted line.)
Lecture 23 describes photon mapping on surfaces and extinction as well as transparency in participating media. (At 37:40 minutes, the fraction that gets through should be 1 - sigma_t*ds, not 1 - sigma_t.)
Lecture 22 discusses bidirectional path tracing, irradiance caching, and the split-sphere irradiance error estimate.
Lecture 21 gives an analytic formula for an unobstructed point-to-polygon form factor. (At 9:43 minutes, "Sum beta*cos(alpha)" should be "(1/2) Sum beta*cos(alpha)" since the area of a sector of a unit circle is half the subtended angle. In the formula for cos(alpha), V1 cross V2 must be normalized, because it it not a unit vector, even if V1 and V2 are.) Multipass global illumination methods are explained in terms of L D S G and E notation.
Lecture 20 gives the derivation of Snell's law for the refracted direction and discusses Fresnel's law for refracted energy fraction. (The rest of the energy goes to transmission). It also discusses pros and cons of the radiosity and path tracing methods and combining the best of both methods using final gathering as well as the Nusselt analog for unobstructed point to polygon form factor.
Lecture 19 explains the hemicube estimates for patch-to-patch form factors for "Galerkin" piecewise constant radiosity and for vertex-to-vertex form factors for "point collocation" piecewise linear radiosity. It also continues the proof that the global lines form factor computation is correct. (At 26:48 minutes, "cos(theta) = length/1" should be "cos(theta) = 1/length" and at 40:40 minutes, the sound track saying "is two at these other vertices" should say "is zero at these other vertices").
Lecture 18 describes putting direct illumination and indirect illumination together for recursive path tracing and completes the proof that the proposed method for sampling global lines gives the correct line density.
Lecture 17 discusses the progressive power shooting method for solving for radiosity and form factor estimates using local lines and global lines. (Stop at 35 minutes and 25 seconds, since the derivation from there on is done better in Lecture 19).
Lecture 16 discusses the linear equations for radiosity that come from using the Finite Element method and also the definition and properties of form factors, the convergence of the Neumann series for successive bounces and Jacobi and Gauss-Siedel iteration methods for solving the radiosity linear equations.
Lecture 15 discusses "backwards" path tracing from lights, the duality between flux propagating from lights and importance propagating from sensors as well as computing primary viewing rays from a camera with a lens (for depth of field effects).
Lecture 14 discusses the visual appearance of the results of different anti-aliasing filtering strategies and a method for reusing ray-traced samples in wide-filter Monte-Carlo integration. (The lower right corner of the large table should be "smoothly antialiased line", rather than "moves smoothly".)
Lecture 13 discusses signal processing, aliasing and anti-aliasing, Fourier transforms, convolution and the Shannon sampling theorem.
Lecture 12 discusses indirect illumination recursion and it's sampling strategies. (Routine computeRadiance finished at 26 minutes should end with "return radiance;" and also "elseif (u < q2)" at 45 minutes should read just "else".)
Lecture 11 discusses Russian roulette, direct illumination with shadow penumbra effects, and sampling environmental illumination.
Lecture 10 discusses sampling for Phong glossy reflection, variants of the Rendering Equation, and path tracing. (The words "incident" and "reflection" are reversed at the top of the board visible from 26 through 29 minutes.)
Lecture 9 discusses the Distributed Ray Tracing paper from the SIGGRAPH 1984 conference including motion blur, depth of field, anti-aliasing, shadow penumbras and glossy reflection. It analyzes a variance upper bound for jittered anti-aliasing sampling of a single high contrast edge and also gives methods for precomputing the diffuse and Phong specular reflection of an environment map.
Lecture 8 discusses sampling random variables using the cumulative distribution function or rejection sampling, and variance reduction using non-uniform sampling, or stratified sampling. (Start at 1 minute 50 seconds.)
Lecture 7 describes the concept of a continuous probability density, the cumulative distribution, independent random variables, expectation and variance of the mean of independent trials and Monte-Carlo integration.
Lecture 6 describes the rendering equation, in angular and area integrals and gives an introduction to discrete probability, mean and variance.
Lecture 5 describes the Cook-Torrance BRDF and gives some details not in the original paper on this BRDF.
Lecture 4 describes the bidirectional reflectance distribution function (BRDF) and Lambert's law as well as how to compute surface normals and viewing rays.
Lecture 3 gives the definition of radiant flux, radiance and solid angle as well as how to compute them.
Lecture 2 gives methods for intersecting rays with spheres, triangles, and convex polygons. (Please start at 1 minute 44 seconds.)
Lecture 1 discusses "Whitted" style recursive ray tracing. (Please start at 15 minutes 30 seconds.)