CS155:  Computer Graphics

Fall 2009

Lecture:

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

Professor:

Z Sweedyk
1249 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 (available online)

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, in-class labs, and class participation:
Image Processing project     15 points
Ray Tracing project    25 points
OpenGL project     20 points
Final project    25 points
Labs       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 for the course, you must submit a solution to each of the course projects that earns at least 50% of the possible points. 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.

Submissions and Grading

You will submit all work by uploading it to your wiki page. You may submit multiple versions but only the last submission will be graded.

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:

Class Lecture notes Lab Projects
9-1 Introduction
Digital Images
JES lab  
9-3 IP I:   Simple pixel transformations, interpolation/extrapolation, compositing, convolution Proj 1 setup Project 1: Image Processing
9-8 IP II:   Dithering, Warping Movie making  
9-10 IP III:   Warping cont., morphing Morphing lab  
9-15 3D I:   Transforms, homogenous coordinates Transform lab  
9-17     Project 1 due
9-22 Hierarchical Coordinates:   Hierarchical coordinates Hierarchical  
9-24 RT 1:   Ray casting, Intersection tests Proj 2 Setup Project 2: Ray Tracing
19-29 RT II:   Ray tracing scene graphs Lighting  
10-1 RT III:   Lighting Recursion RT Test 1
10-6 RT IV:   Recursion                    
10-8 RT V:   Bells and whistles Procedural textures RT Test 2
10-13 Pipe I:   Overview of pipeline systems OpenGL I  
10-15 Pipe II:   Lighting & Rendering OpenGL II Project 2 due
10-20 Fall break    
10-27 Pipe III:   User Interaction OpenGL III Project 3: OpenGL app
10-29 Pipe IV:   Tricks with buffers    
11-3 MOD I:   Parametric curves    
11-5 MOD II:   More parametric curves    
11-10 MOD III:   Parametric surfaces   Project 3 due
11-12 MOD IV:   Subdivision surfaces   Project 4: Do-It-Yourself
11-17 Final project proposals   Final project proposals due
11-19 Final project proposals    
11-24 Final project proposals    
11-26 Thanksgiving break    
12-1 Project Status Reports    
12-3 Project Status Reports    
12-8 Project status reports    
12-10 Final presentations   Project 4 due
Fri 12-18 2pm Final presentations