CS155:  Computer Graphics

Fall 2004

Lecture:

M&W 1:15-2:30, JA B204

Lab:

W 6-6:50, BK B105

Professor:

Z Sweedyk
2341 Olin, x78360
z@cs.hmc.edu
Office hours: see schedule

Course mailing list:

cs-155-l@hmc.edu

Tutors/Graders:

Edward Kim ejkim@odin.ac.hmc.edu

Text:

OpenGL Programming Guide Version 1.4. by Woo, Neider, Davis, Shreiner

Useful Links:

CS155 Gallery
Siggraph
L.A. Siggraph

What is CS155?

In CS155, we study the fundamental concepts and processes that drive 3D computer graphics. We begin with a study of digital images and digital image processing.  Next we study rendering techniques; rendering is the process by which a 3D model is converted to a 2D image.  We cover ray tracing and the graphics pipeline process.  Finally we look at some methods for modeling 3D objects including polygon meshes, spline curves and surfaces, and subdivision surfaces.

Projects

Your grade will be based on and four projects, labs, and class participation as described below.
15%     Image Processing project
25%     Ray Tracing project
20%     OpenGL project
30%     Final project
10%     Labs and class participation

Grades

Provided you meet the basic course requirement described in the following section, your grade will be assigned based on the percentage of possible points you receive as shown below:
A      96-100%
A- 91-95%
B+ 87-90%
B 84-86%
B- 81-83%
C+ 77-80%
C 74-76%
C- 71-73%
D+ 67-70%
D 64-66%

Basic Course Requirement

In order to pass the class you must earn a passing grade, as described above. In addition, however, you must meet the following basic requirement. Before the final exam time of the course, you must submit a solution to each programming assignment that successfully implements at least 50% of the assigned features. In other words, you cannot blow off an entire assignment and pass the class! Note that this basic requirement is necessary but not sufficient to pass the class. Note also that late penalties are used to calculate your grade but are not used with respect to this basic requirement.

Late Policy

You begin the semester with 5 one-day extensions that may be used to extend programming assignment deadlines. You earn an additional one-day extension each time you submit a programming assignment 24 (or more) hours before its due time. Assignment submitted after the due time plus extensions will lose points for each late day. Each project description includes the number of extension days that can be used for the assignment and its late day penalties.

Honor Code

We provide skeleton code for most of the assignments. Any additional code you submit must be designed and written by you unless you obtain prior approval from me. Any violation of this policy will result in (at least) course failure. If in doubt, ask.

Course Schedule:

Date Topic Project assignment
Wed
9/1/04
Introduction               
Wed
9/1/04
(LAB)
Intro Lab  
Mon
9/6/04
Image Processing I
Simple pixel transformations
Interpolation/Extrapolation
Compositing
Project 1: Image Processing
Wed
9/8/04
Image Processing II
Convolution
Warping
         
Mon
9/13/04
Image Processing III
Dithering
         
Wed
9/15/04
Image Processing IV
Morphing
Non-photo realism
         
Mon
9/20/04
Ray Tracing I
Ray Casting
Intersection Tests
Project 2: Ray Tracing
Wed
9/22/04
Ray Tracing II
Hierarchical coordinates
Ray tracing scene graphs
         
Wed
9/22/04
(LAB)
Scene graph lab  
Mon
9/27/04
Ray Tracing III
Illumination Model
         
Wed
9/29/04
Ray Tracing IV
Recursive Ray Tracing
         
Mon
10/4/04
Ray Tracing V

Cheap Tricks
         
Wed
10/6/04
Ray Tracing VI

Optimizations
         
Mon
10/11/04
Project work          
Wed
10/13/04
Graphics Pipeline I
Clipping
         
Mon
10/18/04
Fall break          
Wed
10/20/04
Graphics Pipeline II
Scan conversion
         
Mon
10/25/04
Graphics Pipeline III
Modeling Transforms
Project 3: OpenGL Robot
Getting Started
Wed
10/27/04
Graphics Pipeline IV
Projection Transforms
Viewport Transforms
         
Mon
11/1/04
Textures  
Wed
11/3/04
Shadows  
Wed
11/3/04
Billboarding lab  
Mon
11/8/04
Modeling: Curves I
  • Parametric curves (demo)
  • Lagrange interpolating curves
 
Wed
11/11/04
Modeling: Curves II  
Mon
11/15/04
Modeling: Curves III  
Wed
11/17/04
Project meetings Final Project
Mon
11/22/04
Final project presentations  
Wed
11/24/04
Project work  
Mon
11/29/04
Morphing Lab  
Wed
12/1/04
Modeling  
Mon
12/6/04
Art Show/Modeling  
Wed
12/8/04
Project updates