Instructor: Zoran Popovic
- Josh Snyder (snydej@cs)
- Brice Johnson (bricej@cs)
- Alan Fineberg (af@cs)
- The course mailing list is cse457@cs, and will be created
automatically from the list of registered students.
- The instructor and TA's can be reached all together at cse457-staff@cs.
- You may also contact any of the staff members directly.
- CSE 303
- Data structures (CSE 326)
- A good working knowledge of C and C++ programming
- Linear algebra
- Some mathematical sophistication
- (No prior knowledge of graphics is assumed.)
- Edward Angel, Interactive Computer Graphics: A top-down approach with
OpenGL, Fifth Edition. Addison Wesley, 2005.
Copies of the supplemental texts
are in the graphics instructional lab. Please, please do not remove these
books from the lab under any circumstances.
- 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,
- Alan Watt, 3D
Computer Graphics, Third Edition, Addison-Wesley, 2000. [Errata]
- Woo, Neider, Davis, and Schreiner. OpenGL Programming Guide, Third
Edition. Addison-Wesley, 1999.
- Image processing
- Graphics programming
- Affine transformations
- Hidden surfaces
- Ray tracing
- Texture mapping
- Particle systems
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 will be done in teams of
two with room for extra credit as described in the next section. Homeworks are
to be completed individually. Though you may discuss the problems with others,
your answers must be your own. There is no midterm. The final is
Projects:CSE 457 is taught using
the graphics instructional lab
roughly 15 Windows XP workstations. The lab is located in Sieg 327. There will
be four projects. You'll work or in teams of two for the projects. You are
encouraged to change partners for each project -- each time you work with
someone you have not worked with before in the class, you will receive a bell
's worth of extra credit. Each project will require
you to extend some skeleton project with new features to create a working
- Project #1: Impressionist:
- An interactive impressionistic paint system, similar in spirit to Paul
- Project #2: Modeler:
- A viewer in which to construct a hierarchical articulated model using
- 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. Projects will be graded during
in-person sessions with one of the TAs on the day that the project is due.
During the grading session, a TA will run the project to make sure that it
conforms to the 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." Beyond the required
extensions to the base project, you are encouraged to attempt bells and
whistles, which translate into extra credit points. Click
for more information on project grading. In addition, for each project
both team members 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
Written homework assignments are due at the beginning of lecture on
the due date. Projects are due by midnight 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
Exceptions will be given only in extreme circumstances and only in advance.