CS155:  Computer Graphics

Fall 2003

Lecture:

M&W 1:15-2:30, BK B-105

Lab:

Mon 6-6:50, BK B-105

Professor:

Z Sweedyk

2341 Olin, x78360

Mail: z@cs.hmc.edu

Office hours: MTW 2:45-4:00

Course mailing list:

cs-155-l@hmc.edu

Tutors/Graders:

Corey O’Connor

Useful Links:

Gallery

ppm conversion script

Revised Ordered Dither notes

Internet Ray Tracing Contest

Ray Tracing News

Povray

SGI's OpenGL site

GLUT Guide (PDF)

GLUI

opengl.org

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.

Image Gallery

We've collected images and movies from past semesters in our Online Gallery.  Take a look to see what sorts of things we do in this class, or for motivation when the projects get difficult.

Projects

Your grade will be based on four projects, labs, and class participation as described below.

 
  1. Image Processing            15%
  2. Ray Tracing                 25%
  3. OpenGL Application          20%
  4. Final Project               25%
  5. Labs/Class Participation    15%
 
 

For information on how to submit projects, check out the Homework Submission FAQ.

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.

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       >95%
  A-      >90%
  B+      >87%
  B       >84%
  B-      >80%
  C+      >77%
  C       >74%
  C-      >70%
  D+      >67%
  D       >64%

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.

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.

Tentative Course Schedule:

Date

Topic

Project assignment

9/3/03

Introduction

 

9/8/03

Image Processing I

Simple pixel transformations

Interpolation/Extrapolation

Compositing

Convolution

Project 1: Image Processing

9/8/03

Intro Lab

 

9/10/03

Image Processing II

Uniform quantization

Dithering

Warping

 

9/15/03

Image Processing III

Morphing

Morph Demo

Morph Instuctions

Image 1

Image 2

 

9/15/03

Filter Lab

 

9/17/03

Modeling transforms and Hierarchical Coordinates

 

9/22/03

Ray Tracing I

Ray Casting

Intersection tests

 

9/22/03

Morphing lab

 

9/24/03

Ray Tracing II

Lighting Model

Project 2: Ray Tracing

9/29/03

Ray Tracing III

Recursive Ray Tracing

 

9/29/03

Scene graph lab

tests

10/1/03

Ray Tracing IV

Cheap Tricks

Morph film

 

10/01/03

No Lab

tests

10/6/03

Ray Tracing V

Optimizations

 

10/8/03

Ray Tracing wrapup

 

10/13/03

Project help

 

10/15/03

Graphics Pipeline I

Modeling/View Transforms

 

10/20/03

Fall break

 

10/22/03

Graphics Pipeline II

Projection Transforms

main.cpp

compilation instructions

Project 3: Robot

10/27/03

Graphics Pipeline III

Clipping

 

10/27/03

Materials Lab

 

10/29/03

Pipeline IV

Scan Conversion

 

11/3/03

Textures

 

11/3/03

OpenGL lab
billboard
main.cpp
image.h
image.cpp
checkerboard.bmp
compile instructions

 

11/5/03

Shadows
shadow lab

Final Project

11/10/03

Curves I

 

11/10/03

Maya lab

 

11/12/03

Curves II

 

11/17/03

Surfaces

 

11/17/03

Maya Lab

 

11/19/03

Subdivision Surfaces

 

11/24/03

NURBS

 

11/26/03

Fractals

 

12/1/03

TBD

 

12/3/03

TBD

 

12/8/03

TBD

 

12/10/03

TBD

 

Last updated:  August 2003