Computer Graphics

Unless otherwise stated in the assignment, each assignment is due 15 minutes before class on the day indicated. Reading assignments are listed on the day they are assigned, and generally prepare you for the next class. Readings to skim are in brackets. Note that this schedule is an aspirational approximation of what we'll do; it will be updated as the term goes on.

For an overview of the course, see the calendar PDF (which will not be kept updated) and the syllabus.

Week 1: Getting Started
Date Due Class Topic Out Reading
1. Th 12/3 Course overview; Logistics HW0: Setup
2. F 12/4 2D shapes; Python HW1: 2D Shapes
Week 2: 2D and 3D Shape Models
3. M 12/7 HW0 2D shapes
4. Tu 12/8 2D & 3D shapes
5. Th 12/10 HW1 Lab time — 3D shapes HW2: 3D Point Clouds
6. F 12/11 3D shapes HW3: 3D Meshes
Week 3: 2D Transformations
7. Tu 12/15 HW2 Lab time — 2D transformations
8. W 12/16 2D transformations
Winter Break! Woo!
Week 4: Transformations and Frames
Date Due Class Topic Out Reading
9. M 1/4 Transformation matrices §4.1–4.2
10. Tu 1/5 Homogeneous coordinates; Inverse transformations; Coordinate frames §B.1–B.5; §C.1–C.6; §4.3
11. Th 1/7 Scene graphs; 3D transformations HW4: Transformations §4.7–4.8
12. F 1/8 HW3 3D transformations §4.9–4.10; [§4.14]; §5.1
Week 5: Camera Transformations
13. M 1/11 Perspective & cameras §5.2–5.3
14. Tu 1/12 Transformation redux: composition & rotations
15. Th 1/14 Lab time — 3D Transformations & Scenegraphs
16. F 1/15 Camera transformations HW5: Projection Renderer §5.5–5.7
Week 6: Rasterization
17. Tu 1/19 HW4 Camera posing redux; Perspective projection
18. Th 1/21 Perspective projection redux; Normals & basic shading; Backface culling; Rasterization; Barycentric coordinates & interpolation; Z-buffering
19. F 1/22 Lab time — Perspective & rasterization §5.8; §8.11; §12.2
Week 7: Raytracing
Date Due Class Topic Out Reading
20. M 1/25 The perspective normalization transform
21. Tu 1/26 Raytracing; 3D intersections & reflections §12.3
22. Th 1/28 HW5 Lighting & shadows §6–6.5
Week 8: OpenGL
23. M 2/1 Lab time: ray-triangle intersections HW6: Raytracer §6.7–6.8
24. Tu 2/2 The OpenGL shader pipeline [§1.1–1.6]; §1.7–1.10; §2.1–2.2
25. Th 2/4 WebGL, Javascript, and GLSL §2.3–2.5
26. F 2/5 GLSL shaders §2.6–2.10
Week 9: OpenGL
27. Th 2/11 Lab time: building a WebGL app HW7: JS Mesh & WebGL Renderer
28. F 2/12 HW6 Lab time cont'd
Week 10: Animation & Optimized Rendering
Date Due Class Topic Out Reading
28. M 2/15 Animation & interaction
XX. Tu 2/16 HOS Day, yippee!
29. Th 2/18 Data representations; HW7 work time; Optimization data structures
30. F 2/19 HW7 Backface culling redux
 
Week 11: Advanced Rendering
31. M 2/22 Octrees HW8: Final Project
32. Tu 2/23 Project work time
33. Th 2/25 Demos & work time
34. F 2/26 Project work time
Extended Period Week
Tu 3/1 Final period 11:30am–1:00pm. Final projects due by 11:15am. During final period: demos and course feedback.