CS155:  Computer Graphics

Fall 2008

Lecture:

T&Th 1:15-2:45, LAC lab

Professor:

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

Course mailing list:

cs-155-l@hmc.edu

Text:

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

Useful Links:

CS155 Proj1 1 Gallery
CS155 Proj1 2 Gallery
Siggraph
L.A. Siggraph
Installing Glut

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.

Grades

Points are earned through course projects, a few assignments and class participation:
Image Processing project     15 points
Ray Tracing project    25 points
OpenGL modeling project     20 points
Final project    25 points
GPU Assignments       10 points
Class participation   5 points
Provided you meet the basic course requirement described in the following section, your grade will be based on your total earned points:
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 of the course projects that earns at least 50% of the possible. In other words, you cannot blow off an entire project and pass the class! Note that this basic requirement is necessary but not sufficient to pass the class.

Late Policy

You begin the semester with 2 one-day extensions that may be used to extend project deadlines. You earn an additional one-day extension each time you submit a project assignment 24 (or more) hours before its due time. You may use these extension days to extend the due time of the course projects subject to maximums provided in project descriptions. Note, however, extension days will eat into the time you have for the next project!! So use them carefully. Projects submitted after the due time plus extensions will lose 10% of the total points per day. Note: Late penalties are not considered when determining the 50% cutoff to satisfy the basic requirement. So, for example, suppose you haven't finished the ray tracer and it is now 10 days past the deadline plus late days. (OK, so not you, you would never do that, but maybe the slacker sitting next to you.) Even if the slacker sitting next to you submits a perfect solution worth 25 points, it is work 0 points after late penalties. So you might think, oh sorry, the guy sitting next to you might think, there is no point in even submitting the project. But there is! Because of this policy. No submission means the slacker fails the course. Got it?

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 Assigment Links
Tues
9/2/07
Introduction (ppt)    
Thurs
9/4/08
Image Processing I (ppt)
Simple pixel transformations
Interpolation/Extrapolation
Compositing
Convolution
Project 1: Image Processing
Due: 1:15 PM, Tues. 9/16
 
Tues
9/9/08
Image Processing II (ppt)
Convolution cont.
Dithering
Warping
           
Thurs
9/11/08
Image Processing III (ppt)
Warping cont.
Morphing
   
Tues
9/16/08
3D (ppt)
3D worlds
Transforms and homogeneous coordinates
Hierarchical coordinates
Project 1 Due Morphing Lab
Thurs
9/18/08
3D worlds cont.
Catch up
          rtWindows.exe
snowman.ray
Tues
9/23/08
Ray Tracing I (ppt)
Ray Casting
Intersection Tests
Project 2: Ray Tracing
First 35 points due: 1:15 PM, Tues., 9/30/08
Next 30 points due: 1:15 PM, Tues., 10/7/08
Last 35 points due: 1:15PM, Tues., 10/15/08
         
Thurs
9/25/08
Ray Tracing II (ppt)
Ray tracing scene graphs
   
Tues
9/30/08
Ray Tracing III
Lighting (ppt)
Texture mapping (ppt)
Ray Tracer Part I due RTI tests
Thurs
10/2/08
Ray Tracing IV
Recursion(ppt)
Bump mapping & 3d textures(ppt)
                   
Tues
10/7/08
Ray Tracing V (ppt)
Bells & whistles
Ray Tracer Part II due RTII tests
Thurs
10/09/08
Pipeline systems overview (ppt)   openGL intro tutorial
Transformation demo
Projection demo
Tues
10/14/08
Pipeline overview cont. Ray Tracer Part III due RT tests
 
Thurs
10/16/08
Lighting Robot
First 30 points due: 1:15 PM, Tues., 10/28/08
Next 30 points due: 1:15 PM, Tues., 11/4/08
Last 40 points due: 1:15PM, Tues., 11/11/08
openGL lighting tutorial
Tues
10/21/08
Fall break    
Thurs
10/23/08
Camera & robot control (ppt)   rt Grading
Tues
10/28/08
Textures and billboarding Robot I due Texture Lab
Billboarding Lab
Heads Up Lab
Thurs
10/30/08
Shadows   Shadow Lab
Tues
11/4/08
Curves 1 (ppt) Robot II due  
Thurs
11/6/08
Curves 2 (ppt)    
Tues
11/11/07
 
Guest Speaker
Robot III due  
Thurs.
11/13/08
Final project discussion Project 4: Do-It-Yourself
Proposal due Tues. Nov. 18
First presentation due Nov. 25- Dec.4
Final presentation/demo due Thurs. Dec. 11
 
Tues
11/18/08
Final project discussions Approved proposals due  
Thurs
11/20/08
     
Tues
11/25/08
Student Presentations    
Thurs
11/27/08
Thanksgiving break    
Tues
12/2/08
     
Thurs
12/4/08
     
Tues
12/09/07
Final project presentations    
Thurs
12/11/07
Final project presentations