UW Graphics Group

CS 559: Computer Graphics
Fall 2001

CS 559 Home
Calendar Resources Assignments Projects 1 2 3  

There is no single text for this class. A discussion of my gripes with the current options was written 2 years ago. The situation is getting better, but none of the books have gotten to print yet. We will use some chapters from a preprint of an upcoming text (the whole book isn't ready yet).

The book everyone is required to own is the OpenGL programming guide. This is an important reference for the programming projects, and will be used as the text for some parts of the course.

Perception, Images and Color

  • Ferwerda's tutorial on perception.
  • Chapter 13, "Achromatic and Colored Light" from "Foley and van Dam."
  • Chapter 15 of Shirley.
  • Signal Processing Tutorial. (notes by Prof. Gleicher)
  • Image Processing Tutorial (notes by Prof. Hanrahan, Stanford University).
  • Porter and Duff Compositing Paper.
  • Image Compositing Fundamentals. Paper. (Alvy Ray Smith Web Notes)
  • Paul Haeberli's Paint by Numbers. Paper.

Raster Algorithms

Graphics Programming

  • Readings from the Required "Text"

Transformations and Hierarchy

Viewing and 3D Basics

Curves and Surfaces

Lighting and Shading


  • Chapter 1 of Glassner (or chapter 8 from Shirley)
  • Something to talk about hardware rendering and micro-polygon rendering.

Texture Mapping and Related Tricks


  • Lasseter "Principles of Animation" Paper
  • Hodgins and Obrien survey article


Required "Text":

The book required for this class isn't a textbook at all, its a reference manual for one of the tools we will use in the class.However, it also serves as a good introduction to a lot of the basic concepts.

Mason Woo, Jackie Neider, Tom Davis, and Dave Sheiner. OpenGL Programming Guide, 3rd Edition. Addison-Wesley, 1999.
Note: while other editions are fine, I will refer to the page numbers in this one

Unfortunately, this book is about the software tools (which everyone will use for the foreseeable future, so I do not mind having the students buy it), and therefore lacks the generality and rigor required of a text book. On the other hand, it is extremely well written and very helpful.

The "Main Text"

Peter Shirley, a Professor at Utah, is writing a new graphics book. In terms of topics covered it is only slightly better than the current books. However, Peter's book has the appropriate level of rigor, without being gratuitously mathematical, and seems to be very well written. In the future, I expect this to be the text for the class.

Unfortunately, the book is not quite ready for us to use. I plan on using several chapters that are ready. I might give all of the available chapters to the students (depending on the publishers preference).


Notes used:

Signal Processing Tutorial. By Michael Gleicher.
Written as an appendix to a yet to be finished book on animation. It is written from an animation prospective (so the examples may not be appropriate), but its a good overview of the basics of signal processing.
Image Processing Notes. By Pat Hanrahan
Written for the graphics class at Stanford, and used by permission. A much more formal and mathematical discussion than mine.

Papers used:

Compositing Digital Images. T. Porter, T. Duff. Compositing Digital Images, Computer Graphics (Proc. SIGGRAPH), 18:3, pp. 253-259, 1984.
This is the paper that pretty much introduced the mathematics of compositing. Unfortunately, it is not available on-line.
Image Compositing Fundamentals. Alvy Ray Smith. Microsoft Technical Memo #4.
This paper is a nice review of the most important pieces of the math of compositing, which you will learn in a different paper (Porter and Duff). He also describes some tricks for making compositing go fast.
This is available on-line from Microsoft's web site. A companion paper describing some of the history of this stuff is interesting, but optional for the class. It is available here.
Paul E. Haeberli. Paint By Numbers: Abstract Image Representations, Computer Graphics (Proceedings of SIGGRAPH 90), 24 (4), pp. 207-214 (August 1990, Dallas, Texas).
A classic paper that shows how to do "painterly" rendering. A fun application of basic imaging stuff, and an easy read.

Books used:

James Foley, Andries van Dam, Steven Feiner, John Hughes. Computer Graphics: Principles and Practice. Addison Wesley, 1997.
Although it has more authors now, this book is still referred to by most people as "Foley and van Dam."
This is the "standard" reference book for the field. It turns out to be a hard book to learn from (I tried to use it as a textbook last year) for many important subject. However, so many people learned from this book, it has an important place in the community.
The good thing about this book is that it is encyclopedic. I include a chapter from it to get a quick and broad coverage of images since it goes through a lot quickly.
James Foley, Andries van Dam, Steven Feiner, John Hughes, and Richard Phillips. Introduction to Computer Graphics. Addison Wesley, 1997.
This book is known as the "baby Foley and van Dam," as it is a watered down, and shorter version of the "real" Foley and van Dam (Computer Graphics: Principles and Practice). For some topics in the class, this is sufficient. Overall, I don't think this book is rigorous enough for a course in a top 10 CS department. I have chosen a chapter from this book because its a subject that I do not want to cover deeply, so the level of this book is perfect.
Andrew Glassner (editor). An Introduction to Ray Tracing. Academic Press, 1989.
This book is very focused on an approach which is not as important as it once was. However, the introductory chapter gives a great survey of the approach which is useful for understanding later things.
Donald Hearn and Pauline Baker. Computer Graphics: C Version. Prentice Hall, 1997.
This is the closest thing to an acceptable text (in terms of rigor) out there. I used it pretty successfully two years ago. Unfortunately, the book is so dated that it is hard to use most of it, and the students disklike it. There discussion of Splines (which I am using) is the most readable of any text.
Tomas Moller and Eric Haines. Real-Time Rendering. AK Peters, 1999.
This book is a nice discussion of issues in doing graphics fast. It is not a general graphics textbook. Unfortunately, as graphics hardware changes, the right way to do this is changing at an alarming rate, and its unclear how the specialized speed tricks will be useful in the future. The begining chapters are a nice discussion of how the standard graphics pipeline works. In general, the book is strong on inight and intuition, but short on specific details. Relevant chapters make good survey reading for the introductory courses.
UW Graphics Group

CS559 Web

Home Resources Assignments Tools  
Calendar Policies Projects 1 2 3   Examples
Copyright (C) 2001 by Michael Gleicher
Last modified: 19:10 Nov 15, 2001