Section L0101 T12-2 (Tutorial M12)
Section L5101 W12-2 (Tutorial W6)
| Part I: Basic Graphics Primitives | |||||
| Week 1 | |||||
| Lecture topic | Sub-topic | Online notes | Textbook | External links | |
| Tutorial | No tutorial this week | ||||
| Introduction & raster operations [slides, slides_6up] | 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 | ||||
| Interpolation and 2D Transformations [slides, slides_6up] | 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 | ||||
| 3D Surfaces [slides, slides_6up] | 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 | |||
Camera models and 3D transformations [slides, slides_6up] | 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 | |||
| Visibility [slides, slides_6up] | 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 | |||
| Lighting and reflection[slides, slides_6up] | 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 | Lighting and texturing in OpenGL | ||||
| Catmull-Romm Spline Interpolation [Slides] Animation [slides, slides_6up] | review of concepts for MIDTERM + Catmull-Romm splines + Key-framing, parametric curves, motion capture. Data-driven and Physics-based animation | ||||
| Week 8 | |||||
| Tutorial [Slides][code] | MIDTERM | ||||
| Ray tracing[slides, slides_6up] | 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 | |||
| Advanced ray-tracing and global illumination.[slides, slides_6up] | 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 | ||||
Curves and Interpolation [slides, slides_6up]
| 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 | ||||
| Wooden Monkey presentation, Summary | 16.1-16.2, 16.4-16.5; Lasseter | ||||