From CS559 Computer Graphics Fall 2007

Main: BasicInfo


Michael Gleicher
Office: 6385 CS
Office Hours: Tuesdays 11:00-11:45, Wednesday 9:30-10:15


Yoh Suzuki
Office: 3379 CS
Office Hours: Monday 12:00 - 2:00

Chi Man Liu
Office: 1301 CS
Office Hours: Thursday 1:00 - 3:00


Technically, CS367 (Data Structures) and Math 320, 340 or CS416 (some familiarity with linear algebra). But please read the Should You Be Here page.

Mailing List and Web

The course home page is the primary place for announcements. Please check it regularly. There is an RSS feed available for it.

There is a mailing list that is set up by DOIT that I have little control over. It will send email to your "wisc" account if you are a student. Please make sure that you either read this account, or have it forwarded.

Required Books

Unfortunately, there isn't a textbook that covers the material in this class the way that I want to cover it. Shirley's book (see below) comes close, when coupled with the OpenGL red book (see below as well). The RTR book (see below) could be a textbook, it covers suprisingly many topics really well. But its a little too focused to be a general textbook.

I provide links to Amazon since they can be cheaper than the UW bookstore - I do not necessarily endorse them.

Main Textbook:

Peter Shirley. Fundamentals of Computer Graphics, 2ed
note: the new 2nd edition is considerably different than the first - it is green (not orange).

You may get the "uncorrected" 1st printing. If so, please be sure to check the errata page. In fact, I recommend that you go through the book and mark the errata right away.

Shirley, Foundations of Computer Graphics at Amazon.

Suplemental Textbook:

Mason Woo, et al. The OpenGL Programmer's Guide. This is sometimes known as the "red book."
The current edition is the 6th edition, but for the purposes of this class an older edition would be OK too. If you don't want to buy this book, the complete contents of the older version (fine for the required class readings) is online in html. There used to be an online PDF version as well, but it seems to have vanished.

OpenGL Programmer's Guide at Amazon.
There will be some readings from this book, and its an important reference.

Advanced Text:

Tomas Akenine-Möller and Eric Haines. Real Time Rendering, 2nd ed.
This book is specifically about real-time rendering, and is very useful if you're interested in interactive stuff like games. It is really well written, and has great discussions of a lot of the basic topics. Its getting a little bit dated, but I recommend it if you're really interested in graphics.
Real Time Rendering at Amazon


There will be 2 exams, counting for 25% of your grade.

There will be an evening midterm exam, on Monday, October 29th from 7:15-9:00pm. The CS577 midterm exam is scheduled for the same time as the CS559 exam. We will provide an alternate exam time (for the CS559 midterm) for students taking both classes.

There will be a final exam, in the time slot given by the registrar. Currently, this is scheduled for Friday, December 21st at 2:45 (ending at 4:45) 4:45pm . The registrar sometimes changes this.

Exams are difficult to reschedule, and arrangements must be made ahead of time. Please contact me at the beginning of the semester if you forsee there being a problem.


25% * 3 projects (includes sub-assignments and checkpoints)
25% two exams (midterm and final)
Other aspects of the course (such as written homeworks and surveys) are folded into the above categories.

See the Policy Page for more details.

Computing Environment

This class has been assigned to the "Storm Lab" (B240 Comp Sci) that contains computers running Windows XP.

Programming assignments in the class will be in C++. If you do not have experience programming in C++, re-read the Should You Be Here page. There is a page of information on C++ for 559.

The compiler provided in the Storm Lab is Microsoft Visual Studio .NET 2003. This is not the most current version. We can provide a copy of the compiler to any student taking the class, contact the TA for details.

See the Computing Policy page for more details.


There will be a number of small written homework assignments and programming assignments. These will generally be counted as part of the larger projects. Most assignments will be graded on a check/no check basis.

Programming Projects

There will be three (fairly sizeable) programming projects. These have historically been the focal point of the course.

New for this year: the big projects will be broken into smaller pieces or progress steps that you must submit along the way, although the final grading will be done when the entire project is complete.

Previous Years

The web pages for previous versions of this class can be found here.

This class will be most similar to last years. Some things will be different, but looking at last years can give you some idea as to what to expect.

Retrieved from
Page last modified on December 12, 2007, at 02:51 PM