Syllabus

Administrivia:

  • Time: TTh 10:30-11:50pm
  • Place: Mary Gates Hall (MGH) 287
  • Instructor:
    Brian Curless (curless@cs), CSE 664
    Office hours: Tues 1-2 PM, or by appointment
  • Teaching assistant:
    Ian Simon (iansimon@cs), CSE 618
    Office hours: Mon 3-4 PM, Wed 1:30-2:30 PM, or by appointment

Prerequisites:

  • Knowledge of data structures
  • A good working knowledge of C (and hopefully C++) programming
  • Some linear algebra
  • Some mathematical sophistication
  • (No prior knowledge of graphics is assumed.)

Text:

  • Alan Watt, 3D Computer Graphics, Third Edition, Addison-Wesley, 2000.
  • CSE 557 Course Reader, available for $53.85 in the Communications Building , room B042.

Supplemental texts

  • Woo, Neider, Davis, and Schreiner. OpenGL Programming Guide, Third Edition. Addison-Wesley, 1999.
  • Andrew S. Glassner. An Introduction to Ray Tracing. Academic Press, 1989.
  • Foley, van Dam, Feiner, Hughes. Computer Graphics Principles and Practice, Second Edition in C. Addison Wesley, 1996.
  • Edward Angel, Interactive Computer Graphics: A top-down approach with OpenGL, Second Edition. Addison Wesley, 2000.

Copies of the supplemental texts are in the graphics instructional lab.  Please, please do not remove these books from the lab under any circumstances.

Topics:

  • Week 1: Introduction, displays, sampling theory
  • Week 2: Sampling theory, image processing
  • Week 3: Geometric transformations, shading
  • Week 4: Ray tracing
  • Week 5: Texture mapping, Z-buffers
  • Week 6: Hierarchical modeling, parametric curves
  • Week 7: Parametric curves, particle systems
  • Week 8: Subdivision curves, parametric surfaces
  • Week 9: Subdivision surfaces, perception and color
  • Week 10: Special topics

Grading:

  • Projects: 80%
  • Written assignments: 20%

There will be no final exam for this course.

 

Projects:

Projects can be implemented in the graphics instructional lab or on your own machine. The lab is located in Sieg 327.

You will work on four projects:

Project 1: Impressionist (15%)

An interactive program that creates pictures that look like paintings.

 

Project 2: Ray tracer (25%)

A recursive ray tracer for generating simple images that model reflection and refraction. You will work on this project with a teammate.

 

Project 3: Animator (25%)

An interactive modeling and animation system with a built in dynamic simulator. You will work on this project with a teammate.

 

Project 4: Final project (35%)

Choose between a substantial extension to the ray tracer or the animator, or other suggested projects.

Projects will be graded during in-person sessions with the TA. During the grading session, the TA will run the project to make sure that it conforms to the project guidelines. The TA will then quiz individual members of the team to determine how well they understand the structure of the code, the design trade-offs, and the implemented algorithms.

One grade will be assigned for all members of the team for the project's implementation. Separate grades will be recorded for each team member's "knowledge of the project." For some of the projects, the last component of the grade will involve using your project to create an artifact, hopefully, of some artistic merit. Extra credit will be given for the nicest artifacts, as determined by class vote. Click here for more information on project grading.

Project Turn-in & Late Policy:

Assignments are due at the beginning of lecture on the due date. This means that the modification stamp on the project executable must be earlier than the start of lecture on the due date. Late assignments are marked down at a rate of 33% per day (not per lecture), meaning that if you fail to turn in an assignment on time it is worth 66% for the first 24 hours after the deadline, 33% for the next 24 hours, and it is worth nothing after that. In addition, no extra credit for bells and whistles will be awarded for any late assignment.

Exceptions will be given only in extreme circumstances and only in advance.

Written Assignments:

There will be 2 homework sets that will test your in-depth understanding of topics covered topics.  You should work on the homework sets individually.