For this class, all readings will be made available to you via the web. For the textbooks, we will either use small portions (so we can provide the chapters via academic fair use), or Wendt Library has arranged to provide online versions of the book. So, you don’t need to buy any books. However, if you like to have a physical book, or you like to support the authors, here are the books we will be using.
Remember, you can access the library online even if you are off-campus using their EZ-Proxy Service. I Recommend you install their bookmarklet.
Main (General) Graphics Text
Peter Shirley and Steve Marschner. Fundamentals of Computer Graphics, 3ed note: the new 3rd edition is different than the second – it is red/orange (not green). At UW Library: book link online At Amazon: book kindle edition This is a general purpose textbook on graphics. It tries to cover the basics, without getting into the details of any particular system or API. It started out as a focused text on the most important topics, but over time, it has grown to cover a lot of stuff. While its not an ideal text for this class, I think its the best out there. It’s biggest problem is that it leaves out a lot of topics. What it does cover, it covers really well The topic material in this book is timeless, so despite the fact the book is 6 years old, it is still up to date. |
More Advanced Graphics Text
Tomas Akenine-Möller, Eric Haines, Naty Hoffman.
Real-Time Rendering, 3rd Edition, AK Peters, 2008. Online: we will provide chapters, or at the library At Amazon: book This book is a bible of graphics programming for the real-time kinds of stuff games use. Well, it was the bible when it came out in 2008. If you are a game graphics programmer, you look at this book a lot. It gives a pretty encyclopedic reference to the various techniques for various things you need to do. The nature of the topic causes it to seem out of date quickly, but the book can give you an idea of what the main approaches are and then you can look for what the newer tweaks are. One down side, is that the book tends to be more of an encyclopedia, telling you the main ideas of the various approaches, rather than a textbook (giving you the basic intuitions and building up) or even a guidebook (telling you how to choose between the various choices). For this class, we’ll use a few sections that discuss some timeless topics. But you’ll see how quickly they get to lots of subtle details. Because much of this book is not relevant to the class, and because a lot of it is arguably out of date (things have changed a lot in interactive graphics in 6 years), it is hard to require this book for a class. But some of the parts of it are really good. |
Linear Algebra Text
Gerald Farin and Dianne Hansford, Practical Linear Algebra, 3e. AK Peters, 2013.Wendt Library Online
If you have a linear algebra textbook, you probably don’t need another one. But you might appreciate this one more. This isn’t a normal linear algebra textbook. It’s a book about the intuitions of linear algebra and the basic ideas introduced and illustrated with examples from graphics and geometry processing. It’s exactly what you need to know for doing most graphics stuff, and introduced in a way that you’ll want to know it. It doesn’t get to all of the traditional linear algebra that a math professor would want you to learn in a Linear Algebra class, nor does it have all the proofs and formalities that make the math class version of linear algebra so boring to a lot of us. |
Text to Cover Topics Missing Above
John Hart. The Big Fun Graphics Book. To be published someday.
My friend John is writing a book on graphics. The parts he’s written are good. He’ll let us use some of them. For some of the story on the book, look at last year’s web. |
JavaScript Texts
You will need to do some web programming. One aspect of web programming is that the web really is the best resource for it (usually). Books and traditional media don’t evolve as quickly, don’t provide the diversity of viewpoints, and often aren’t the preferred venues of the “real experts.” (If you’re an expert programmer, you might be too busy to write a book, but willing to share your expertise). There are downsides to getting information from the web (how do you know you can trust it?), but to be honest books have this issue too. Except that if its a blog and its wrong, a lot of commenters will point out the problems and the author can update it.
But, if you want a traditional book, here are some suggestions. Note: I pick these because they are ones I know, not because I’ve really searched hard for the best. (Although, I think JavaScript the Good Parts is really good, and would be recommended no matter what). I will provide some other non-book resources later.
Eloquent JavaScript, by Marijin Haverbeke. (hardcopy at Amazon)
I like this book because it is “free” (it is free online, but you can buy a hard copy from a traditional publisher). I also like the spirit of the book (because it focuses on teaching JavaScript as a functional programming language, not as a traditional language). That said, I haven’t compared it to a lot of other books, and I didn’t use it to learn myself, |
|
JavaScript: The Good Parts, by Douglas Crawford (hardcopy at Amazon)
This book is great since it really points out what is good (and bad) about JavaScript, and shows you how you can avoid the bad and use the good. It gives you a good way to think about JavaScript. The author’s (strong) opinions are only one right answer – but even if you don’t agree with him, seeing how he thinks about the problems is useful. The book is a little dated, but still a classic (to the extent that a book on a topic as modern and current as JavaScript can be). We may have readings from this book (chapters provided via academic fair use), and the whole book is available from Wendt Library online. Or, you can support the author and buy a copy. |
|
JavaScript: The Definitive Guide, by David Flanagan (hardcopy at Amazon)
Really, the best reference for JavaScript is the web – since things are evolving fast. But if you want one big comprehensive volume with bits about everything, this is it. It is a bit dated, but the core stuff is still applicable. This is available through Wendt Library online. Make sure to look at the most recent version (which is 5 years old). |