Welcome to CS40: Computer Graphics. This course focuses on the creation and manipulation of 3D geometric models and the rendering of these models on a two dimensional screen. We will examine modeling from both a pixel-based view and a more geometric vector-based approach. Core topics include geometric primitives, 2D and 3D matrix transformations, projective geometry, and object modelling. We also examine the rendering pipeline and algorithms that improve performance including clipping and hidden surface removal and depth buffers. Intermediate topics include texture mapping, lighting, and shadows. We will be using the modern OpenGL programming approach which uses programmable vertex and fragment shaders throughout the course. Advanced topics may including grammar based models, isosurface extraction, and GPGPU computing using CUDA.
WEEK | DATE | ANNOUNCEMENTS | TOPIC & READING | LAB |
1 | Sep 01 | Intro to Graphics, Software Tools 1-1.2.2, 1.3-1.6, 1.6.2-1.10 | InClass: Intro Project 01 Git help | |
Sep 03 | ||||
Sep 05 | ||||
2 | Sep 08 | OpenGL Rendering Pipeline Shader Intro | InClass: OpenGL Project 02 | |
Sep 10 | ||||
Sep 12 | Drop/Add ends | |||
3 | Sep 15 | Vector and Matrix operations 2.7, 3.7, 4-4.5, 4.8-4.10 | Project 03 | |
Sep 17 | ||||
Sep 19 | ||||
4 | Sep 22 | 3D Transforms | InClass: Frames/Events Project 04 | |
Sep 24 | ||||
Sep 26 | ||||
5 | Sep 29 | projections, LookAt, camera class, perspective | Project 05 | |
Oct 01 | ||||
Oct 03 | ||||
6 | Oct 06 | InClass: Normals, Phong lighting | Midterm Project | |
Oct 08 | ||||
Oct 10 | ||||
Oct 13 | Fall Break | |||
Oct 15 | ||||
Oct 17 | ||||
7 | Oct 20 | Perlin Noise | InClass: Noise Midterm Project | |
Oct 22 | ||||
Oct 24 | ||||
8 | Oct 27 | Particle Systems | InClass: Particle Systems | |
Oct 29 | ||||
Oct 31 | ||||
9 | Nov 03 | CUDA Intro, memory/kernels | InClass: CUDA Intro | |
Nov 05 | ||||
Nov 07 | Last day to declare CR/NC | |||
10 | Nov 10 | CUDA Synchronization, parallel patterns | InClass: CUDA Patterns | |
Nov 12 | ||||
Nov 14 | ||||
11 | Nov 17 | Computational Geometry | InClass: Closest point | |
Nov 19 | ||||
Nov 21 | ||||
12 | Nov 24 | Curved surfaces |   | |
Nov 26 | ||||
Nov 28 | Thanksgiving | |||
13 | Dec 01 | Stencil Buffers | InClass: Stenciling | |
Dec 03 | ||||
Dec 05 | ||||
14 | Dec 08 | |||
Dec 19 |