CS155:  Computer Graphics

Fall 2010

Lecture:

M&W 1:15-2:30, LCS

Professor:

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

Grutor:

Emily Fujimoto
Emily_Fujimoto@hmc.edu
Grutor hours: TBD
Office hours: Sunday 7-9 and Tuesday 8-10 in the LAC

Course mailing list:

cs-155-l@hmc.edu

Course wiki:

https://www.cs.hmc.edu/twiki/bin/viewauth/Z

Optional Texts:

Fundamentals of Computer Graphics 3rd edition, Peter Shirley etal.
OpenGL Programming Guide Version 2.1 by Woo, Neider, Davis, Shreiner (earlier versions available online)

Student Galleries:

Project 1 Art
Project 1 Composites
Project 2 Art
Project 3 Robot Movies

What is CS155?

CS155 is an introduction to the major concepts in modern 3D graphics. We begin with a study of digital images and digital image processing. Next we study rendering, the process by which a 3D model is converted to a 2D image. We cover two important rendering techniques, ray tracing and pipeline processing.  Ray tracing produces realistic images but is computationally intensive whereas pipeline processing is fast but doesn't achieve the same level of realism. We then study some methods for modeling 3D objects including polygon meshes, spline curves and surfaces, and subdivision surfaces. Finally we touch on a variety of advanced topics including GPU processing.

Grades

Points are earned through course projects, in-class labs, and class participation:
Image Processing project     15 points
Ray Tracing project    20 points
OpenGL modeling     15 points
GPU processing     15 points
Final project    20 points
Labs       10 points
Class participation   5 points


In order to pass CS155 you must submit a solution to each of the course projects that earns at least 50% of its possible points. Provided you meet this condition, your course grade will be based on total points earned:
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

Each project has several deliverables which are due, typically, at one week intervals. You are given two late dates for each project. Unused late days are rolled over for the next project. You may use your late days to extend the due time of project deliverables provided you notify me by email me at the time of submission. Your email should include the number of late days you are using. The only exception to this policy is the final project, which must be submitted by December 18. Note that extension days will eat into the time you have for the next deliverable/project so use them carefully. Deliverables submitted after the due time plus extensions will lose 10% of their total points per day.

Submissions and Grading

You will submit all work by uploading it to your wiki page. You may submit multiple versions of any deliverable; 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.

Links

Course Schedule:

Class Lecture notes Lab Projects
9-1 Introduction
Wiki setup  
9-6 Digital Images
IP I:   Simple pixel transformations, interpolation/extrapolation, compositing, convolution
Color Shift Project 1: Image Processing
9-8 IP II:   Dithering, warping Dither lab  
9-13 IP III:
Morphing
Misc. effects
Morphing lab new control, etc.
Project 1 50 pts. due
9-15 RT I:   Ray casting, intersection tests    
9-20 RT II: Transformations Snowman 1
Snowman 2
 
9-22 RT III:
RT III: Scene Graphs
Recursive Ray Tracing
Snowman 3 Project 1 due
Project 2: Ray Tracing
9-27 RT IV: Color Computation Lighting  
9-29 No class           RT Test Set 1
10-4 RT V: RT V: Bells and whistles    
10-6 Pipeline I:   Overview of Pipeline Systems OpenGL I RT Test Set 2
10-11 Pipe II:   OpenGL Lighting/Camera Control OpenGL II
OpenGL III
Project 2 due
10-13     Project 3: OpenGL Robot
Project 3: OpenGL Modeler
10-18 Fall break    
10-20 Parametric curves I    
10-20 Parametric curves II Catmul-Rom/Bezier Lab  
10-27 Picking Picking Lab Project 3 40 pts. due
11-1 Textures and Billboards
Textures
Billboards
 
11-3 Shadows Shadow Lab Project 3 80 pts. due
11-8 Project 3 demos   Project 3 due
11-10 Project 3 demos, Final Project discussion   Project 4: Do-It-Yourself
11-15 Project 4 meetings/concept presentation   Project 4 proposals
11-17 Project 4 concept presentations   Project 4 proposals approved
11-22 Final project concept presentations    
11-24 Final project concept presentations    
11-29 GPU processing    
12-1 GPU processing   GPU project
12-6 Project 4 presentations    
12-8 Project 4 presentations    
12-13 (2 PM) GPU Project demo