Books

Page content

You are not required to purchase books for this class.

All required readings will be provided online. Some of the readings are provided under academic fair use, and are only for students in the class. For this reason, they will be provided via the course Canvas page.

In the past, we used readings more extensively.

In the past, we used textbooks more extensively in class. Over time, students seemed to become less interested in them. This year, we will try to reduce our reliance on them. This is a bit of an experiment. The workbooks will suggest readings.

To the extent that we use textbooks, we will only use small portions of them, and we will only use books that we can provide free online access for. Some of these are commercially published books, but they are available online through the UW library. We will make selected chapters (the ones required for class) available through Canvas.

You may prefer to have a physical copy of the graphics textbooks. This is a good way to support the authors. We will only use small portions of the book (less than half of the main text, just a few chapters of the advanced text), so it may be hard to justify the cost for most people. See “Graphics Texts” below.

You may wish to have a book to help with JavaScript programming. The ones we recommend are available online for free, or you can purchase hardcopies.

The workbooks (which are important readings in their own right) will point you towards readings in the required books, and give links to the specific chapters.

I am providing links to Amazon because it is convenient, and their book pages have useful information. I do not endorse Amazon (I prefer to support local stores), but I appreciate its convenience. Amazon links may have an affiliate reference for the UW Graphics Group so that we might receive a small payment if you buy something using a link.

Graphics Texts

Unfortunately, there is no single textbook that fits the goals of the class.

For the “fundamentals” of graphics (the theory), we will use chapters from Fundamentals of Computer Graphics by Peter Shirley and Steve Marschner (with chapters contributed by others, including me). Note that we will be using the newer 4th edition (with a cover that fades from purple to orange) - it probably is not substantially different from the 3rd edition. There is an even newer 5th edition, but we do not have access to it through the UW Library. If you buy the book, you should probably buy the new version.

The core of the book - the part written by Shirley and Marschner - is great. The chapters are a fantastic introduction to the key theory topics. We will use those. The rest of the book is a scattering of topics and lacks the cohesiveness of the main part of the book. Most of the chapters are about topics that we won’t cover in class, and many of the topics we will cover are missing from the book.

The UW library has an electronic copy of Fundamentals of Computer Graphics, 4e Library. We will also provide the chapters for required readings as PDFs via the course Canvas. If you want to buy a physical copy, it is available from Amazon. But, it’s hard to justify recommending it: we won’t use that much of it for class, and it’s not a great reference book for after class is over (it is good to learn from).

For more depth in some parts, I may refer to portions of Real-Time Rendering by Thomas Moller, Eric Haines, Naty Hoffman, and some others. We’ll use the recent 4th edition. This book is an amazingly extensive reference book that surveys many approaches and details for a huge variety of topics. It’s an invaluable reference - if you’re going to be a real-time graphics programmer, you probably want to have this book. But for class, it’s overkill - it’s way too much depth, so we’ll just use it for a few topics.

The UW Library has an electronic copy of Real-Time Rendering, 4e Library. We will also provide the chapters for required readings as PDFs via the course Canvas. If you plan on doing interactive graphics beyond the class, you might want to buy this book for your bookshelf Amazon.

Another textbook Introduction to Computer Graphics by David Eck Graphics Book is a free, online textbook covering some of the materials for the course.

Javascript and Web Programming Books

The best source of information about web programming is, not surprisingly, the web. But for learning Javascript, you might want a more in-depth resource.

One problem with JavaScript books is that the language keeps changing. The old stuff still works, but there are newer and better ways to do things.

On the Javascript in CS559 Page there is advice on how to learn JavaScript and a list of recommended books.

Math Books

We’ll review the “basic linear algebra” (really vector math) in class. We don’t expect you to have taken a linear algebra class. The basic concepts of linear algebra we need (vectors, matrices, dot products, cross products) are actually taught in classes before linear algebra. And we’ll review it in class.

But, if you really want a math book to help you review this stuff, I recommend Immersive Linear Algebra by Jacob Strom, Kalle Astrom and Tomas Akenine-Moller. It’s available online at immersivemath. Practical Linear Algebra by Farin and Hansford. It’s available online from the UW library (Practical Linear Algebra-UW) or you can buy a copy (Practical Linear Algebra-Amazon). We’ll provide some readings as part of the course materials.

(This page is copied from Professor Gleicher’s CS559 Spring 2023)