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.
We will be using portions of some textbooks, but these are available online through the UW library. We will make selected chapters (the ones required for class) available through Canvas (Files on Canvas). 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.
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 (FundCG-UW). We will also provide the chapters for required readings as PDFs via the course Canvas (FCG Files on Canvas). If you want to buy a physical copy, it is available from (FundCG-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 graphics programmer, you probably want to have this book. But for class, it’s overkill - we will only use a small number of readings.
The UW Library has an electronic copy of Real-Time Rendering, 4e (RTR-UW). We will also provide the chapters for required readings as PDFs via the course Canvas (RTR on Canvas). If you plan on doing interactive graphics beyond the class, you might want to buy this book for your bookshelf (RTR-Amazon).
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 Canvas Directory 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).