What follows is a list of some books and other media we think are worthwhile for real-time rendering and computer graphics in general. Books specific to ray tracing can be found on this page.

Introductory Resources

This book has evolved from a 500-page book that Peter Shirley wrote by himself to a 746-page 4th edition co-authored with Steve Marschner and with "guest chapters" by nine other notable graphics professionals (full disclosure: including Naty Hoffman). Its focus is as a textbook of the theory and practice of computer graphics as a whole.

This is not a book for learning WebGL or OpenGL. Rather, it uses WebGL to teach the fundamentals of computer graphics. A solid, modern text, and recommended as a precursor for our own book.

An affordable Ebook/site that is both a guide to the basics of computer graphics and a practitioner's reference manual. It is continually updated with mini-tutorials, code snippets, algorithm descriptions, and formulae that the author has found of use.

API Guides

From a skim, this looks to be a comprehensive, well-illustrated book of how to do most common interactive rendering algorithms with DirectX 11. There's a good mix of text and code samples.

This one's been recommended to me, has a reasonable Gamasutra review, is in its second edition, and has good ratings. Giving it a skim, it looked worthwhile.

Advanced Texts

The ShaderX series, and subsequent GPU Pro series, and GPU Zen series, edited by Wolfgang Engel et al.

These books are also edited collections of articles dealing with new graphics techniques that use vertex and pixel shaders. Some are nuts and bolts practical, others are about new techniques in development. The ShaderX books collection website has links to resources for all these books. Note that the first three volumes are free for download; despite their age, they contain some valuable articles. For example, the two articles in ShaderX2: Tips & Tricks coauthored by Marwan Ansari have excellent information about post-processing effects.

Real-Time Collision Detection, by Christer Ericson, Morgan Kaufmann, 2005. A book on collision detection techniques. Solid theory coupled with the author's own practical experience makes this book an excellent choice for practitioners in the field. In addition to describing a wide range of relevant algorithms, the author also discusses optimization, numerical precision, robustness, and other topics critical in creating a workable interactive system. See the author's web site for more information.

Video Game Optimization, by Eric Preisz and Ben Garney, Course Technology PTR, March 2010. This book covers types of optimization, how to set and achieve goals, discussion of specific tools (VTune, PIX, PerfHUD, etc.), where bottlenecks can occur and how to test for them, and in-depth coverage of CPU and GPU issues. Graphics and engine performance are the focus, including multicore and networking optimization, plus a chapter on consoles and another on managed languages. It’s a worthwhile book for just about anyone interested in optimization. These guys are veteran experts in this field, and the book gives specific advice and practical tips in many areas. Full review here.

Geometric Tools for Computer Graphics, by Philip Schneider and David Eberly, Morgan Kaufmann, 2002. An incredible volume focused on practical computational geometry. It includes a wide array of object/object intersection methods and other common algorithms. It also gives a solid grounding in much of the mathematics behind the methods. The book has a companion web site.

Game Engine Architecture, Third Edition, by Jason Gregory, AK Peters, August 2018 (Book's extensive website, Google Books sample, publisher's page). This book is about just that, how to make a professional-grade game rendering system, from soup to nuts. Eberly's two books are the previous notable works in this area, but are quite different than this new volume. While they focus almost exclusively on algorithms, this book attempts to cover the whole task of developing an engine: what to use for source control, dealing with memory management and in-game profiling, input devices, SIMD, and many other practical topics. There is also algorithmic coverage of rendering, animation, collision detection and physics, among other areas. Naturally, the amount of information on each area is limited by page count (the book's a solid 860 pages), but in my brief skim it looks like most of the critical areas and concepts are touched on. You won't become an expert in any one area from this volume, but it looks like you'll have some reasonably deep understanding of the elements that go into making a game engine. Quite an impressive work, and I know of nothing else in this area that is so detailed.

Advanced Graphics Programming Using OpenGL, by Tom McReynolds and David Blythe, Morgan Kaufmann, Feb. 2005: Google Books sample This is a great collection of all sorts of tricks and techniques used in interactive rendering. It's a little dated but still has a huge amount of practical information inside. A very old version is available on the web; the book is considerably updated.

OpenGL Insights, edited by Patrick Cozzi and Christophe Riccio, AK Peters, July 2012 (more information). Sort of a ShaderX/GPU Pro book for OpenGL, though with a wider range of articles on new technologies, debugging and performance techniques, and other areas OpenGL than a strict focus on graphics algorithms per se.

Level of Detail for 3D Graphics, by David Luebke et al., Morgan Kaufmann, July 2002: Google Books sample This book covers a wide range of topics in the area, by experts in the field. It discusses such aspects as mesh simplification, terrain rendering, and many algorithmic methods for accelerating image generation. The book has a companion web site. It is also available as part of Morgan Kaufmann's Rendering ebook Collection.