UW Graphics Group

CS 559: Computer Graphics
Fall 2001

CS 559 Home
Calendar Resources Assignments Projects 1 2 3  

Why there isn't just one textbook for this class

Warning: this is a rant about the need for a new textbook in computer graphics, ending with an "apology" for why I haven't written one.

Last modified: 19:10 Nov 15, 2001

In a field as fast moving as computer science, it almost goes without saying that a book will be out of date before it is produced. However, I think that graphics has been particularly bad in this way. Not just because the technology has changed, but also, because the emphasis has changed. The topics that are important, the uses, the users, the applications, the pieces that the average practitioner can get off-the-shelf vs. having to build, the hardware, etc. have all changed.

Of course, these changes will continue to happen. In fact, the technology trends seem to indicate that changes are happening faster. I'll bet that 5 years from now, I'll look back at what we have today and think about how quaint the 1999 computing environment was, just like now I look back at how bad things were 10 years ago.

The easiest changes to point to are the quantitative things. My new home PC has more memory than was available in the machines of my entire research group 10 years ago, and its processor is at least 10 times faster than any fancy research computer I had access to - despite the fact that I bought it at a fraction of the cost. Indeed, a new home computer that you buy at the appliance store has more memory devoted specifically to graphics than all but the fanciest workstations did 10 years ago. However, these changes (which actually had been predicted based on Moore's law) are not what has made the current graphics textbooks obsolete.

Let me point out a specific example of the failings of the current state of the art of graphics texts. (While I prefer to not to name names, I am looking at Hearn & Bakers Computer Graphics 2nd edition and Foley, van Dam, et Al's Computer Graphics Principles and Practice - I have picked these not just from personal preference, but also because they are the most common choices for introductory courses at top universities.)

Both books describe graphics hardware - they have pictures of monitors and mice (which nowadays everyone knows about since they aren't particular to graphics). They also describe some less common things more specific to graphics: vector displays, pen and electrostatic plotters, for instance. My point is not that these devices have become obsolete (which, arguably they have). It's that the things that are missing are qualitatively different.

Today, one of the most common graphics devices is a digital camera (which is not mentioned in either book). The digital camera is very different than the devices described above for a number of reasons:

  1. Even in their heyday, plotters and vector displays were not common things. Today, we see digital cameras everywhere - they are common in popular use, and becoming more so. Knowing about an electrostatic plotter may have been important if you were developing software for an engineering firm, but knowing about a digital camera is important if you're going to put a picture on the web, or explain to your grandmother why this years vacation pictures aren't as sharp as the old ones.
  2. The set of things we need to know to deal with these new uses and devices are quite different. Computer graphics now means dealing with real and synthetic images (sometimes mixing the two). We not only need to know about ``object'' graphics, like lines and spheres, but image graphics as well. Extrapolating to the future, I think there is more of a need to talk about moving images, rather than just static ones.

Just about every computer scientist - actually, just about every computer user - will at some point encounter JPEG and GIF image compression. (What happens when we put those vacation photos on the web?) Very few, even when the devices were in their heyday, needed to understand the algorithms that drove an electrostatic plotter.

What makes matters even more difficult for a graphics student is that you still need to know about lines and spheres - in fact maybe more so, since you'll be dealing with them not just on fancy engineering workstations, but on home PCs (and looking forward, on the dashboard display of your car, your credit card information appliance, ...).

What saves us is that all of these things have become so commonplace and standardized that the computers ``do it for us.'' For example, nowadays, basic graphics functionality, such as the ability to draw lines, is expected as operating system functionality, and is probably implemented in hardware. It is much less important to know how to draw a line on a bitmapped display, although, you still do need to understand the underlying issues. The good news is that these its the same underlying issues are actually the same whether your drawing a line, or processing your vacation photos, and they haven't changed. The ways we use the basic concepts may be different, but the concepts themselves are not.

The problem is that the concepts really aren't very easy to learn, except in the context of a problem. For example, you can learn about sampling in a theoretical way in a signal processing class and its challenging to connect this to the graphics problems. In a graphics text, this key concept tends to get hidden away inside of a specific problem (sampling often only gets a brief discussion in the context of line drawing and anti-aliasing). The key concept is there in the texts, its just hidden away in a section thats easy to miss, thats discussing a topic thats less exciting nowadays.

My idea is that you can learn these concepts in the context of more up-to-date (and interesting) problems. Of course, I may end up losing the forest for the trees just as I am accusing the older textbooks of. Image warping and morphing may seem like a more interesting application of sampling today, but for all we know, in 5 years, this too will be a passe' topic that we have operating system support for. My hope is that by being explicit about the undelying concepts from the start, and trying to remember that this is more likely to be what we're going to need 5 years from now, I may stand a better chance.

Why ``Textbook'' in quotes?

  1. I doubt that I have the resources (time, energy, writing skill, drive), or that there are sufficient rewards to create a traditional textbook.
  2. It's unclear that the days of the traditional textbook (that is, a hardbound book that you buy in a bookstore) are much longer: the new version would probably be some multi-media, possibly web-based thing. The problem is, whatever's next, hasn't really surfaced yet. So, it's hard to know what the right thing to do it. For graphics, the new forms really provide an opportunity to practice what we preach: since so much of graphics is about how to create interaction and multi-media, it only makes sense to explain it using those same tools.
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