Wish this had existed a few months earlier. I taught a 3d game engines class this year, for which I wrote up a concise tutorial of how to write a wireframe renderer from scratch [1], plus some additional conjured-up lecture material, but I might've used this textbook instead if it had existed at the time.
[1] http://www.kmjn.org/notes/3d_rendering_intro.html