Fundamentals of Computer Graphics, by Steve Marshner and Peter Shirley.
Fourth Edition is available at the bookstore, or other places like Amazon.
Another useful reference is David Eck’s online book Introduction to Computer Graphics (Version 1.2, January 2018). We will use this online book for Three.js, at least.
However, either the 3rd or 4th edition of the above book is fine for this class. (The 2nd edition is probably fine, too, but I don’t have a copy; references to the 2nd edition are best guesses.)
|Topic||2nd Edition||3rd Edition||4th Edition|
|Transformations||6.0-6.2.0 (not 6.2.1),6.3-6.5||6.0–6.1.5, 6.2 (not 6.2.1), 6.3–6.5||6.0-6.1.5, 6.2.0, 6.3-6.5|
|View&Project||Ch. 7||Ch. 7||Ch. 7|
|Hidden Surfaces||Ch. 8||8.2-8.2.3||8.2-8.2.3|
|Radiometry||Ch. 19||Ch. 20||Ch. 18|
|GPU||Ch. 18||Ch. 17|
|Color||Ch. 20||Ch. 21||Ch. 19|
|Texture Mapping (1)||11.3.0||11.2.2|
|Ray Tracing||Ch. 10||Ch. 4 & 13||Ch. 4 & 13|
|Curves||15.1-15.3.5, 15.6.1||15.0-15.3.5, 15.6-15.6.1||15.0-15.3.5, 15.6-15.6.1|
Sections numbered such as 6.0 refer to the front matter of a chapter prior to the first numbered sub-sections.
(Thanks to Greg Turk for this list. I don’t have the 2nd edition of the book, so I’m relying on his list for that edition.)