559 Home
559 Calendar 559 Resources 559 Class Info Remove Frames

Computer Graphics Books

The required textbook for this class is:

Computer Graphics, Principles and Practice, 2nd edition in C. By Foley, van Dam, Feiner, and Hughes. Published by Addison-Wesly, reprinted with corrections 1997.

I (and many in the graphics community) refer to the book as "Foley and van Dam." The original book had only these two authors. On the web pages I will often refer to it as FvD.

You will notice that the book doesn't fit the class exactly. We do not follow it closely, we skip through various parts of it. Be warned, some of the major problems of this book are:

  • It is encyclopedic. It covers a lot of topics in little detail. We will skip a lot of it.
  • It uses some very lame graphics libraries. We won't use them. You should understand them enough to read the book, but don't worry about learning them.
  • They have some dated notions about how to build user-interfaces.
  • Some sections of the book are really hard to learn from. Their presentation of parametric curves is particularly unfortunate. Their discussion of image processing is scattered at best.

If you're wondering why we are using a book that I don't like, let me summarize by saying its the best of a bad lot. Last year, I wrote a diatribe complaining about graphics texts. In last year's class, I chose a different book. It had a different set of problems than this one.

Foley and van Dam is such a standard book, however, that it makes up for some of its shortcomings. So many people have learned graphics from this book (including me). The book also works better as a reference than as a text, so you'll be happy to have it on your shelf should you decide to do more graphics.


The strongly recommended additional text is:

The OpenGL programming Guide, 3rd edition. Woo, et. al. Published by Addison Wesly, 1999.

I sometimes refer to this as "The Red Book."

Note: older editions are OK (especially the 2nd edition) for the purposes of this class in terms of content, but I will always refer to page numbers and chapters from the new edition. If you are going to buy this book, you are better off getting the newest edition possible.

The primary purpose of this book is to help you learn about the OpenGL graphics library that you will need for your programming assignments. It also is a pretty good suplemental text to learn more about graphics.


Optional Books

 
David Hearn and Pauline Baker. Computer Graphics, C version, 2nd edition. Prentice Hall, 1997.
This was the text for last year's course. It's a common competitor to Foley and van Dam for a general graphics text. It's a bit better at explaining some things, but not as comprehensive in its scope of topics.
Charles Poynton. A Technical Introduction to Digital Video. John Wiley and Sons, 1996.
This book is specifically about issues related to video. However, it offers a great discussion of many of the topics of computing with images, and ties things very nicely to the perceptual psychology. Two chapters of the book are online, one of which is a required reading for the course.
Steven Upsill. The Renderman Companion. Addison Wesley. 1990
This is a reference for a piece of software that we probably won't use in the class. However, it is an excellent reference to a lot of concepts in computer graphics.
Image Processing for Computer Graphics. Jonas Gomes, Luiz Velho , Silvio Levy (Translator). Springer-Verlag, 1997.
A very nice book about image processing geared towards computer graphics. It's a bit mathematical (in fact, I think its gratuitously mathematical), but it is much better than just about any standard image processing book I've seen. This would be a great text for an advanced course.
 


Books on C++

If you're looking for a book on C++, my favorite is the C++ Primer. This preference is historical: I learned C++ from an older edition of the book, and at that time there were far fewer choices.
Stanley Lippman and Josee Lajoie. C++ Primer, 3rd Edition. Addison Wesley, 1998.
The "standard" reference on C++ is by Stroustrup. He created the language, but his book isn't necessarily the best reference or easiest to learn from.
Bjarne Stroustrup. The C++ Programming Language
Last modified: 17:07 Sep 18, 2000
(c) 2000 Michael Gleicher