Prerequisites:
- Data structures
- A good working knowledge of C and C++ programming
- Linear algebra
- Some mathematical sophistication
- (No prior knowledge of graphics is assumed.)
Required text:
- Edward Angel, Interactive Computer Graphics: A top-down approach with
OpenGL, Fifth Edition. Addison Wesley, 2008.
Supplemental texts:
- Foley, van Dam, Feiner, Hughes. Computer Graphics
Principles and Practice, Second Edition in C. Addison Wesley, 1996.
- Shirley et al, Fundamentals of Computer Graphics, Second Edition.
AK Peters, 2005. [Errata]
- Andrew S. Glassner. An Introduction to Ray Tracing. Academic Press,
1989.
- Alan Watt, 3D
Computer Graphics, Third Edition, Addison-Wesley, 2000. [Errata]
- Woo, Neider, Davis, and Schreiner. OpenGL Programming Guide, Third
Edition. Addison-Wesley, 1999.
Topics:
- Displays
- Image processing
- Color
- Graphics programming
- Affine transformations
- Hierarchies
- Projection
- Hidden surfaces
- Shading
- Ray tracing
- Texture mapping
- Curves
- Particle systems
- Surfaces
- Animation
- Perception
Grading:
The breakdown is subject to change as a whole and
adjustments on a per-student basis in exceptional cases. This is the general
breakdown we'll be using:
Projects: |
80% |
Homeworks: |
20% |
Projects and homeworks will be done individually. Though you may discuss the problems with others,
your answers must be your own.
Projects:
Each project will require you to extend some skeleton project with new features to create a working
graphics application.
- Project #1: Impressionist:
- An interactive impressionistic paint system, similar in spirit to Paul
Haeberli's The
Impressionist.
- Project #2: Modeler:
- A viewer in which to construct a hierarchical articulated model using
OpenGL.
- Project #3: Trace:
- A program to create photorealistic raytraced images, complete computation
of shadows, reflections, and transparent effects.
- Project #4: Animator:
- An extension of project #2 which includes animation curves on geometry.
Create a 3D animation of your articulated model!
You will have approximately two weeks for each project.
Beyond the required extensions to the base project, you are encouraged to attempt bells and
whistles, which translate into extra credit points.
In particular, one whistle = 1 point and one bell = two whistles = 2
points.In addition, for each project you will be required to create an artifact, a final
polished example (e.g., an image or model) demonstrating your application,
hopefully of some artistic merit. Extra credit will be given for the nicest
artifacts, as determined by class vote.
Project and Homework Turn-in & Late Policy:
Homeworks and projects are due before class begins. You are permitted a
total of five late days on projects and homeworks throughout the quarter.
After that, the grade on the late assignment will be reduced by 33% for each day
it is late. The last homework and final animation are due during the Wednesday
of final exam week and no late days are permitted for these assignments.