- Last name: A-K (BA 2175, TA: William Xavier Snelgrove)
- Last name: L-Z (BA 2185, TA: Michael Tao)
| Part I: Basic Graphics Primitives | |||||
| Week 1 | |||||
| Date | Lecture topic | Sub-topic | Online notes | Textbook | External links |
| Tutorial | No tutorial this week | ||||
| Wed, Jan 11 | Introduction & raster operations [Slides] | Line drawing, 2D polygons, parametric 2D curves (circle, ellipse) | Introduction to Graphics; Curves; | 3.1-3.5; 2.5-2.6 | Leonid's slides; Computer display; Raster graphics; Bresenham's line algorithm; List of curves; Ellipse; Polygon; |
| Week 2 | |||||
| Tutorial | C++, OpenGL and Hierarchical Models | ||||
| Wed, Jan 18 | 2D Transformations [Slides] | Rigid, conformal, affine transformations. Homogeneous coordinates. Coordinate-free geometry. | 2D Transformations; Coordinate-Free Geometry; | 6.1; 2.4; 6.3 | General Transformations; Affine transformations; |
| Week 3 | |||||
| Tutorial | C++, OpenGL and Hierarchical Models | ||||
| Wed, Jan 25 | 3D Surfaces [Slides] | Planes, tangents, normals, bilinear patches, quadrics/superquadrics. 3D transformations. | 3D Objects; | 2.9-2.11; 13.1; 6.2 | Plane; Cylinder; Surface of revolution; Quadric; Normal Vector; Surface parameterization; |
| Part II: Viewing in 3D | |||||
| Week 4 | |||||
| Tutorial | 3D meshes, cylinders, surfaces of revolution | 2.11 | |||
| Wed, Feb 1 | Viewer coordinates. Perspective and orthographic projections. Pseudo-depth. | Camera Models; | 7.2-7.3; 7.3-7-5 | Camera transforms (OpenGL FAQ); | |
| Week 5 | |||||
| Tutorial | Life of a polygon: object, world, camera coordinates, homogeneous projection, 3D view volume | 7.1-7.2; 12.1 | |||
| Wed, Feb 8 | Visibility [Slides] | HSR and z-buffer. Spatial partitions, BSP trees | Visibility; | 8.1-8.2 | View volume applet (Brown); |
| Part III: Appearance Modeling and Rendering | |||||
| Week 6 | |||||
| Tutorial | Life of a polygon - homogeneous perspective, clipping, visibility, backfaces, BSP trees. Background and OpenGL for A2 | 12.3-12.4 | |||
| Feb 15 | Lighting and reflection [Slides] | Diffuse, ambient, specular, and Phong models. Interpolative shading. | Basic Lighting and Reflection; Interpolative Shading; | 9.1-9.2; 2.10-2.11; 3.6; 9.2; 11.1-11.4 | |
| Week 7 | |||||
| Tutorial | review of concepts for MIDTERM | ||||
| Wed, Mar 1 | Catmull-Romm Spline Interpolation [Slides] | MIDTERM (1st hour) + Catmull-Romm splines. | |||
| Week 8 | |||||
| Tutorial [Slides][code] | Lighting and texturing in OpenGL | ||||
| Wed, Mar 8 | Ray tracing [Slides] | Basic ray tracing algorithm. Computing ray-plane intersections. | Basic Ray Tracing; | 10.1-10.7 | |
| Week 9 | |||||
| Tutorial | Refraction and transmission. Ray trace pseudo-code | 10.8, 10.10 | |||
| Wed, Mar 15 | Advanced ray-tracing and global illumination.[Slides] | Refraction, Distributed/stochastic ray-tracing, Backwards ray-tracing (caustics), radiosity. | Distribution Ray Tracing; | 24.1-24.2 | |
| Part IV: Interpolation and Animation | |||||
| Week 10-11 | |||||
| Tutorial | Curves | ||||
| Wed, Mar 22, 29 | Curves and Interpolation[Slides]
| Polynomial interpolation, Cardinal (Catmull-Rom) splines, bezier, b-splines, hermite splines.
| Interpolation; Smooth Curves and Surfaces; | 15.1-15.3, 15.6.1, 15.4-15.5 | 1D Polynomial interpolation applet; Catmull-Rom applet; Bézier curve applet (UNC); Bézier curve applet (Brown); Bézier patch applet (OGI); Bézier patch applet (Cornell); |
| Week 12 | |||||
| Tutorial | Final exam review | ||||
| Wed, Apr 5 | Animation [Slides] |
Key-framing, parametric curves, motion capture. Data-driven and Physics-based animation | 16.1-16.2, 16.4-16.5; Lasseter | ||