CS155:  Computer Graphics

Fall 2005

Lecture:

T&Th 2:45-4:00, LAC lab

Professor:

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

Course mailing list:

cs-155-l@hmc.edu

Tutors/Graders:

Jon Dodge jdodge@cs.hmc.edu
Brad Tennis btennis@cs.hmc.edu

Text:

OpenGL Programming Guide Version 1.4. by Woo, Neider, Davis, Shreiner
Advanced Graphics Programming Using OpenGL by McReynolds & Blythe

Useful Links:

Image Processor Images
Composite Images
Ray Tracing Images
CS155 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.

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%     Assignments 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%

Late Policy

You begin the semester with 5 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. Assignment submitted after the due time plus extensions will lose 10 points per day.

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 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.

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
8/31/05
Introduction (ppt), (pdf)
Digital Images (ppt), (pdf)
  ipDemo.exe
Harry24.bmp
Thurs
9/1/05
Image Processing I (ppt), (pdf)
Simple pixel transformations
Interpolation/Extrapolation
Compositing
Convolution
Project 1: Image Processing
Due: 11:59 PM, Sunday, Sept. 11
 
Tues
9/6/05
Image Processing II (ppt) (pdf)
Dithering
Warping
           
Thurs
9/8/05
Image Processing III (ppt), (pdf)
Morphing
  Morphing Lab
Tues
9/13/05
3D (ppt), (pdf)
3D worlds
Transforms and homogeneous coordinates
Hierarchical coordinates
  rt.exe
snowman.ray
Thurs
9/15/05
Ray Tracing I (ppt), (pdf)
Ray Casting
Intersection Tests
Project 2: Ray Tracing
First 60 points due: 2:45 PM, Thurs., Sept. 29
Next 25 points due: 2:45 PM, Thurs., Oct. 6
Last 15 points due: 2:45 PM, Thurs., Oct.20
 
Tues
9/20/05
Ray Tracing II (ppt) (pdf)
Ray tracing scene graphs
                   
Thurs
9/22/05
Ray Tracing III (ppt), (pdf)
Lighting
   
Tues
9/27/05
Ray Tracing IV (ppt), (pdf)
Recursion
                   
Thurs
9/29/05
Ray Tracing V (ppt),(pdf)
Texture mapping
Bump mapping
                   
Tues
10/4/05
Ray Tracing VI (ppt),(pdf)

Procedural textures
Jittering
Soft shadows
Bounding boxes
                   
Thurs
10/6/05
OpenGL           openGL tutorial
Tues
10/11/05
Pipeline I (ppt), (pdf)
Overview
Clipping
   
Thurs
10/13/05
Guest: Mark Wilkins, Dreamworks    
Tues
10/18/05
Fall break    
Thurs
10/20/05
Pipeline II (ppt), (pdf)
Scan Conversion
Project 3: Robot
First 35 points due 2:45PM Thurs. Oct. 27
Next 35 points due 2:45PM Thurs. Nov. 3
Final 30 points due midnight Sunday Nov. 6
 
Tues
10/25/05
Class Cancelled    
Thurs
10/27/05
Pipeline III (ppt) (pdf)
Transformations
   
Tues
11/1/05
Textures (ppt),(pdf)   Billboarding Lab
Thurs
11/3/05
Shadows (ppt), (pdf)   Shadows Lab
Tues
11/8/05
Robot Show and Tell
Final project discussion
Project 4: Do-It-Yourself
Proposal and presentation due Tues. Nov. 15
Final presentation/demo due Thurs. Dec. 8
Movie demo:
movie.cpp
image.cpp
image.h
timer.cpp
timer.h
Thurs.
11/10/05
Final project discussion    
Tues
11/15/05
Final project concept presentations    
Thurs
11/17/05
Final project concept presentations cont.    
Tues
11/22/05
Robot grading    
Thurs
11/24/05
Thanksgiving break    
Tues
11/29/05
Project status reports    
Thurs
12/1/05
Project status reports    
Tues
12/5/05
Project status reports    
Thurs
12/1/05
Final project presentations