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 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.
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 (Canvas Files). We will also be using chapters from a (as of today) unpublished book whose author is allowing us to share chapters with you.
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.
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.
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 parts written by Shirley and Marschner - are great. They 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 Fundamentals of Computer Graphics 4e (official access at ProQuest). We will also provide the chapters for required readings as PDFs via the course Canvas Fundamentals of Computer Graphics (Canvas Folder). If you want to buy a physical copy, it is available from Fundamentals of Computer Graphics 5e (purchase via 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’s good to learn from).
For more depth in some parts, we will use 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 (Real-Time Rendering 4e (official access at ProQuest)). We will also provide the chapters for required readings as PDFs via the course Canvas (Real-Time Rendering (Canvas Folder)). If you plan on doing interactive graphics beyond the class, you might want to buy this book for your bookshelf .
Prof. John Hart at the University of Illinois has started to write a graphics textbook The Big Fun Book of Computer Graphics. He hasn’t finished it. He is letting us use the book for the class. Many of the chapters will be required reading. The Big Fun Book of Computer Graphics, Hart's Draft (Canvas Folder) has individual chapters and the whole book as a PDF.
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 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 (Key Chapters on Canvas).