Welcome to CS40: Computer Graphics. This course focuses on the creation and manipulation of digital imagery. We will examine modeling from both a raster or pixel-based perspective and the more geometric vector based approach. Core topics include geometric primitives, 2D and 3D matrix transformations, projective geometry, 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, shadows, and curved surface modeling. Starting with the OpenGL framework allows us to explore some advanced topics as well including grammar based models, isosurface extraction, and applications to Geographic Information Systems (GIS) and computational geometry.
WEEK | DAY | ANNOUNCEMENTS | TOPIC & READING | LABS |
1 | Jan 20 | Intro to C++/OpenGL Graphic Primatives The Rendering Pipeline |
|
|
Jan 22 | ||||
2 | Jan 27 | Event driven programming, simple animation | Lab 01 | |
Jan 29 | Drop/add ends (Jan 30) | |||
3 | Feb 03 | Geometric Primitives Vector and Matrix operations |
Lab 02 | |
Feb 05 | ||||
4 | Feb 10 | 2D Transforms Viewing, Clipping, Projecting |
Lab 03 | |
Feb 12 | ||||
5 | Feb 17 | Projection, Basic Lighting, Surface Normals | |
|
Feb 19 | ||||
6 | Feb 24 | 3D Transforms Scene Graphs |
Midterm Project | |
Feb 26 | ||||
7 | Mar 03 | Texture mapping | |
|
Mar 05 | ||||
Mar 10 |
Spring Break |
|||
Mar 12 |
||||
8 | Mar 17 | depth-buffers, shading/advanced lighting, shadows | |
|
Mar 19 | ||||
9 | Mar 24 | Non-linear surfaces. Splines, Bezier surfaces | |
|
Mar 26 | ||||
10 | Mar 31 | Particle systems Procedural Methods |
|
|
Apr 02 | ||||
11 | Apr 07 | Graphics and GIS Terrain rendering |
Lab 05 | |
Apr 09 | ||||
12 | Apr 14 | Data Visualization Isosurface extraction Marching Cubes |
Lab 06 | |
Apr 16 | ||||
13 | Apr 21 | Advanced Topics General Computation with GPUs? |
|
|
Apr 23 | ||||
14 | Apr 28 | Wrapup | |
|
Apr 30 | ||||
May 07 |
Final Exams Start |
|||
May 16 |
Final Exams End |
50% Lab assignments |
20% Midterm |
20% Final |
10% Class participation |
Use late days wisely; once you have used up your late days, I reserve the right to not accept any further late assignments from you, and if I do accept further late assignments from you, you will receive a significant late penalty on them. I strongly recommend that you do not use any late days on the first few assignments.