Computer Graphics

CS559, Spring 2010
Time: MW 2:30pm - 3:45pm
Engineering Hall 2305

Announcement Syllabus Readings Projects

Instructor: Li Zhang
Telephone: (608)262-5083
Office: COMP S&ST 6387
Office Hours: 3:50-4:50pm (Monday, Wednesday)
TA: Sajika Gallege
Telephone: (608)262-6601
Office: COMP S&ST 1306
Office Hours: Thursday 1-2pm, Friday 1-2pm

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

Mailing list: If you are registered, DOIT will automatically put you on the list.
Computer account: Everyone registered in this class will get a Computer Systems Lab account to do programming assignments.


Peter Shirley. Fundamentals of Computer Graphics, 3ed
note: the new 3rd edition is different than the second - it is red (not green).

This book is not at Amazon (yet), except for a kindle edition

This is a general purpose textbook on graphics. It tries to cover the basics, without getting into the details of any particular system or API. It started out as a focused text on the most important topics, but over time, it has grown to cover a lot of stuff.

Mason Woo, et al. The OpenGL Programmer's Guide. This is sometimes known as the "red book."

OpenGL is the graphics library we will use for much of the class. Having a reference book is useful (but there are plenty of references on the web). However: the "OpenGL Programmer's Guide" turns out to be a great tutorial on a number of topics, so it will provide some required readings in class.The current edition is the 7th 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 will be some readings from this book, and its an important reference.

OpenGL Programmer's Guide at Amazon. 

Tomas Akenine-Möller and Eric Haines. Real Time Rendering, 3e.

This is an advanced book more into real-time rendering. It 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 an awesome encyclopedic reference book, but a little hard to learn from, so it's highly recommend (not required as the above two) if you are serious about graphics.

There will be an inclass midterm exam, on Wednesday, March 17th.
There will be a final exam, on Monday, May 10th.

There will be three (fairly sizeable) programming projects. The deadline is strictly enforced; Each late day will cost you 20% of the total score. That is, after first day, you get 80%, second day, 60%, ... fifth day, 0%. The penalty is prorated hourly. For situations you can recover your penalty, please read the Policy page.

25% * 3 projects
15% final exam
10% midterm exam
See thePolicy Pagefor more details

Computing Environment
Each student in this class has been assigned an account to use department machines 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 our department XP machines is Microsoft Visual Studio .NET 2008. 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.