Course Links

Resources

External

Note that the timing and topics shown for future dates represent projections that are subject to change as the course progresses.

Some lab and homework solutions include material courtesy of Sara Mathieson.

No. Date Topics Before Class In Class Homework
1 Jan. 27 Images & Pixels Reading: Syllabus;
Sections 1.1 and 1.2
Videos: 1A, 1B; slides 1A, 1B
Lab 0: Hello World
Lab 1: Checkerboard
(sample solution)
 
2 Jan. 29 Line drawing Reading: Section 2.1
Video: #2, slides
Handout 1 (solution) Homework 1: Snowflake
3 Feb. 3 Polygons Reading: Section 2.2
Video: #3, slides
Lab 2: Regular Polygon (sample solution)
4 Feb. 5 Fill algorithms Video: #4, slides Handout 2 (solution) Homework 2: Polygons and Fill
5 Feb. 10 Linear algebra background Khan Academy on matrix multiplication;
Video: #5, slides;
Matrix multiplication practice
Lab M: Matrix Operations (sample solution);
6 Feb. 12 Transformation Matrices Sarah's notes; Video: #6, slides; Interactive guide Handout 3 (solution) Homework 3: Transformations (hint)
7 Feb. 17 Using Transformations Reading: Sections 2.3 and 2.6;
Video: #7, slides
Lab 3: Transformations (solution);
Demo: hierarchical model, animated
8 Feb. 19 Animation Reading: 12 Principles of animation.
Two Videos: #7.5A, #7.5J (7.5A slides, 7.5J slides)
Sailboat demo: 1, 2, 3 Homework 4: Animation
9 Feb. 24 Bézier curves Reading: Nerding out with Bézier curves,
Video: #8, slides
Handout: Bézier curves (solution); Homework 5: Curves
* Feb. 26 --- RALLY DAY ---
10 Mar. 3 Line clipping Reading: Tutorials point,
Video: #9, slides
Handout: Line Clipping (solution);
12 Mar. 5 History of Computer Graphics No reading/video Midterm Exam
(self scheduled Mar. 6-8)
12 Mar. 10 Introduction to 3D graphics
Projection
Reading: Section 3.3
OpenGL tutorial on projection
Video: #10, slides
Projection handout (solution);
13 Mar. 12 Introduction to WebGL Reading: Section 5.1
Video: #11, slides, demo
Lab 6: Pyramid in WebGL (solution); Homework 6: Walking in 3D
* Mar. 17 & 19 --- SPRING BREAK ---
14 Mar. 24 Animation in WebGL
3D Transformations
Reading: Section 5.2
Video: #12, slides
Lab 7: Spinning Pyramid (solution) lookAt demo
15 Mar. 26 Hierarchical models Reading: Section 2.4, Spider example, walker demo;
Video: #13 slides
Lab 8: Robotic Arm (solution); Homework 7: Solar System
16 Mar. 31 Lighting and shading Reading: Section 4.1 and
Three.js geometries and materials and
Three.js light sources;
Video: #14, slides; lighting demo
Lab 9: Phases of the Moon (solution); Homework 8: Shading & Texture Mapping
17 Apr. 2 Texture mapping Reading: Section 4.3 and
Three.js textures, UV coordinates
Video: #15, slides
Lab 10: Texture Mapping (solution);
Demos: stone wall, globe
18 Apr. 7 Texture mapping (cont) O'Reilly chapter on Three.js; Shadow mapping
Video: #16, slides
Handout 6 (solution); Handout 7 (solution); Shadow demo
Lab 11: Intro to Blender
 
19 Apr. 9 Hidden surface removal
Blender basics
Video: #17, slides;
CG fast track tutorial (optional)
Resources: Blender Manual
Lab 12: Blender chair and wine glass Final Project
20 Apr. 14 Ray tracing Reading: Section 8.1
Video: #18, slides
Lab 13: Blender wooden cup Homework 9: Blender and Ray tracing
21 Apr. 16 Ray tracing (cont) Reading: Section 8.1
Video: #19, slides
Lab 14: Curves in Blender
22 Apr. 21 Collision detection
Game design
Game design videos: 1, 2, 3
Video: #20, slides
Collision detection demo
Handout 8 (solution)
23 Apr. 23 Subsurface Scattering
Particle Systems
Reading: Particle Systems & Artificial Life
Video: #21, slides
Lab 15: Intro to Particles (solution);
Examples: Fireball, Volcano, Ring
* Apr. 28 Final Project Presentations
24 Apr. 30 Final Review Video: #22, slides Handout 9 (solution);
Handout 10 (solution);
Self-scheduled final exam