Welcome to CS40: Computer Graphics. This course focuses on the creation and manipulation of digital imagery. We will examine modeling from both a pixel-based perspective and the 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, shadows, and the use of programmable shaders. 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).
WEEK | DATE | ANNOUNCEMENTS | TOPIC & READING | LAB |
1 | Jan 17 | Intro to C++/OpenGL Graphic Primatives The Rendering Pipeline |
Lab 01 | |
Jan 19 | ||||
Jan 21 | ||||
2 | Jan 24 | Event driven programming, simple animation | Lab 02 | |
Jan 26 | ||||
Jan 28 | Drop/Add ends | |||
3 | Jan 31 | Geometric Primitives Vector and Matrix operations |
Lab 03 | |
Feb 02 | ||||
Feb 04 | ||||
4 | Feb 07 | 3D Transforms gluLookAt, projections |
Lab 04 | |
Feb 09 | ||||
Feb 11 | ||||
5 | Feb 14 | more 3D transforms, Texture mapping |
Lab 05 | |
Feb 16 | ||||
Feb 18 | ||||
6 | Feb 21 | Phong Lighting model, normals, stencil buffer, mirrors |
|
|
Feb 23 | ||||
Feb 25 | ||||
7 | Feb 28 | Quaternions, smooth rotations, camera class | |
|
Mar 02 | ||||
Mar 04 | ||||
Mar 07 |
Spring Break |
|||
Mar 09 |
||||
Mar 11 |
||||
8 | Mar 14 | ray-tracing, shading/advanced lighting, shadows | Midterm project | |
Mar 16 | ||||
Mar 18 | ||||
9 | Mar 21 | Intro to Shaders | |
|
Mar 23 | ||||
Mar 25 | Last day to declare CR/NC or withdraw with a "W" |
|||
10 | Mar 28 | Procedural Methods Bump mapping |
|
|
Mar 30 | ||||
Apr 01 | ||||
11 | Apr 04 | Grammar based Methods | Lab 7 | |
Apr 06 | ||||
Apr 08 | ||||
12 | Apr 11 | Parallel Computing CUDA Intro |
|
|
Apr 13 | ||||
Apr 15 | ||||
13 | Apr 18 | More CUDA Thread syncronization |
|
|
Apr 20 | ||||
Apr 22 | ||||
14 | Apr 25 | Wrapup | |
|
Apr 27 | ||||
Apr 29 | ||||
May 12 |
Take Home Final due at 5pm |
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.
If you believe that you need accommodations for a disability, please contact Tracey Rush in the Office of Student Disability Services, located in Parrish 113, or e-mail trush1 for an appointment to discuss your needs and the process for requesting accommodations. Tracey Rush is responsible for reviewing and approving disability-related accommodation requests and, as appropriate, she will issue students with documented disabilities an Accommodation Authorization Letter. Since accommodations may require early planning and are not retroactive, please contact her as soon as possible.
You are also welcome to contact me privately to discuss your academic needs. However, all disability-related accommodations must be arranged through Tracey Rush in the Office Of Student Disability Services.
Academic honesty is required in all work you submit to be graded. You may not submit work done with (or by) someone else. You may not examine or use work done by others to complete your own work. You may discuss assignment specifications and requirements with others in the class to be sure you understand the problem. In addition, you are allowed to work with others to help learn the course material. However, with the exception of the student mentors and your partner on group assignments, you may not work with others on your assignments.
All code you submit must be your own with the following permissible exceptions: code distributed in class, code found in the course text book, and code worked on with an partner. In these cases, you should always include detailed comments that indicates on which parts of the assignment you received help, and what your sources were.
"It is the opinion of the faculty that for an intentional first offense, failure in the course normally is appropriate. Suspension for a semester or deprivation of the degree in that year may also be appropriate when warranted by the seriousness of the offense." - Student Handbook (2010-2011, pg36 Section A.4.b.i)
Please see me if there are any questions about what is permissible.