Real-Time Rendering Graphics Books Page

Beyond our own book, listed here are upcoming, recent, and recommended graphics books, along with related online information. On our Resources page we list only books that are free for download. To sample the books: some books have Google Books samples, which we link to as we find them, or downloadable samples for the Kindle version. You can also look at Amazon's best-selling DirectX and OpenGL book lists. Other best-seller categories that sometimes turn up books of interest: Rendering & Ray Tracing, Game Programming.

Upcoming Books

Books that have not been released yet.

Recent Books

These are newer relevant books that have come out in the past few years; we make no judgments on these (well, we review a very few on our blog).

cover GPU Zen 3, edited by Wolfgang Engel, Black Cat Publishing, November 2024 (book's website).
cover The Modern Vulkan Cookbook, by Preetish Kakkar and Mauricio Maurer, Packt Publishing, April 2024 (more information and free chapter).
cover Projective Geometric Algebra Illuminated, by Eric Lengyel, March 2024 (more information, sample pages).
cover Real-Time Ray-Tracing with Vulkan for the Impatient, by Kenwright, March 2024 (free course note download for ACM members).
cover Computer Graphics Programming in OpenGL With C++ Third Edition, by V. Scott Gordon and John L. Clevenger, Mercury Learning & Information, February 2024.
cover WGPU by Examples, by Jack Xu, October 2023 (author's site with related books).
cover Geometry for Programmers, by Oleksandr Kaleniuk, Manning Publications, May 2023 (more information, source code).
cover Physically Based Rendering, Fourth Edition: from Theory to Implementation, by Matt Pharr, Wenzel Jakob, and Greg Humphreys, The MIT Press, March 2023 (more information), Patreon page, read for free.
cover Mastering Graphics Programming with Vulkan, by Marco Castorina and Gabriel Sassone, Packt Publishing, April 2023 (book's code repository, author's blog, Google Books sample).
cover Computer Graphics Through OpenGL: From Theory to Experiments, Fourth Edition, by Sumanta Guha, AK Peters/CRC Press, December 2022 (Book's website, Google Books sample, publisher's page).
cover Mathematics for Game Programming and Computer Graphics, by Penny de Byl, Packt Publishing, November 2022 (Code, publisher's page).
cover download for free Developing Graphics Frameworks with Java and OpenGL, by Lee Stemkoski and Michael Pascale, CRC Press, June 22, 2022 (Publisher's website, Google Books sample).
cover Computer Graphics Programming in OpenGL with Java Third Edition, by V. Scott Gordon and John L. Clevenger, Mercury Learning & Information, October 2021 (publisher's page, Google Books Sample).
cover 3D Graphics Rendering Cookbook: A comprehensive guide to exploring rendering algorithms in modern OpenGL and Vulkan, by Sergey Kosarevsky and Viktor Latypov, Packt Publishing, August 25, 2021 (Publisher's page, Github repo, Google Books sample).
cover download for free Ray Tracing Gems II: Next Generation Real-Time Rendering with DXR, Vulkan, and OptiX, edited by Adam Marrs, Peter Shirley, and Ingo Wald, Apress, August 4, 2021 (Book's website, publisher's page), download for free.
cover A Biography of the Pixel, by Alvy Ray Smith, MIT Press, August 3, 2021 (Publisher's page, Google Books sample).
cover Image Objects: An Archaeology of Computer Graphics, by Jacob Gaboury, MIT Press, August 3, 2021 (Publisher's page, Google Books sample).
cover download for free Developing Graphics Frameworks with Python and OpenGL, by Lee Stemkoski and Michael Pascale, CRC Press, July 7, 2021 (Publisher's website, Google Books sample).
cover Computer Graphics from Scratch: A Programmer's Introduction to 3D Rendering, by Gabriel Gambetta, No Starch Press, May 18, 2021 (publisher's page includes download of chapter 3, Google Books sample), read for free.
cover The Graphics Codex, by Morgan McGuire, 2011-2024: main site.
cover Math for Programmers: 3D graphics, machine learning, and simulations with Python, by Paul Orland, Manning Publications, January 2021 (more information, including source code and errata; Google Books sample).
cover Game Physics In One Weekend, by Gregory Hodges, January 2021 (author's site, related code, book series).
cover download for free Learn OpenGL - Graphics Programming: Learn modern OpenGL graphics programming in a step-by-step fashion, by Joey de Vries, Kendall & Welling, June 2020 (Book's website, with free downloadable version; also, the beginnings of a new book, Learn Vulkan).
cover Robust and Error-Free Geometric Computing, by Dave Eberly, May 2020 (publisher's page).
cover Foundations of Game Engine Development, Volume 2: Rendering, by Eric Lengyel, July 2019 (more information).
cover VR Developer Gems, by William R. Sherman, June 2019 (publisher's page).
cover GPU Zen 2, edited by Wolfgang Engel, Black Cat Publishing, April 2019 (book's website, source code).
cover The Ray Tracer Challenge: A Test-Driven Guide to Your First 3D Renderer, Jamis Buck, Pragmatic Bookshelf, March 2019 (Publisher's page, video advertisement).
cover download for free Ray Tracing Gems, edited by Eric Haines and Tomas Akenine-Möller, Apress, March 2019 (Book's website, publisher's page, Amazon), download for free.
cover Real-Time 3D Graphics with WebGL 2, Second Edition, by Farhad Ghayour and Diego Cantor, Packt Publishing, October 2018 (Table of Contents, Google Books sample).
cover OpenGL 4 Shading Language Cookbook - Third Edition, by David Wolff, Packt Publishing, September 2018 (Table of Contents and sample chapter, Google Books sample from 2nd edition, Githubbed code, Gamasutra review of First Edition). 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.
cover Game Engine Architecture, Third Edition, by Jason Gregory, AK Peters/CRC Press, August 2018 (Book's extensive website, Google Books sample, publisher's page).
cover cover cover cover cover GPU Pro 360 series, edited by Wolfgang Engel, CRC Press, July 2018 through January 2019. Articles from GPU Pro1-7, grouped by area of interest. Set includes Guides to Rendering (Table of Contents, though it may be wrong), Shadows (Table of Contents), Geometry Manipulation (Table of Contents), GPGPU (Table of Contents), Mobile Devices (Table of Contents), 3D Engine Design (Table of Contents), Lighting (Table of Contents), and Image Space (Table of Contents).
cover Real-Time Rendering, Fourth Edition, by Tomas Akenine-Möller, Eric Haines, Naty Hoffman, Angelo Pesce, Michał Iwanicki, and Sébastien Hillaire, August 2018 (book website includes free chapters and appendices, Google Books sample).
cover Metal Programming Guide, by Janie Clayton, Addison-Wesley Professional, Jan. 2018 (publisher's page, Google Books sample).
cover Introduction to Computer Graphics and the Vulkan API, by Kenwright, CreateSpace Independent Publishing Platform, July 2017 (Draft sample).
cover Advanced High Dynamic Range Imaging, Second Edition, by Francesco Banterle, Alessandro Artusi, Kurt Debattista, and Alan Chalmers, AK Peters/CRC Press, July 2017 (publisher's page, Google Books sample).
cover WebGL Gems, by Greg Sidelnikov, Learning Curve, June 2017.
cover GPU Zen, edited by Wolfgang Engel, Black Cat Publishing, May 2017 (Source code).
cover Vulkan Cookbook, by Pawel Lapinski, Packt Publishing, April 2017 (publisher's page, source code, Google Books sample).
cover Game Physics Cookbook, by Gabor Szauer, Packt Publishing, March 2017 (Github code, Google Books sample).
cover Learning Vulkan, by Parminder Singh, Packt Publishing, January 2017 (publisher's page, Google Books sample).
cover Immersive Linear Algebra, by J. Ström, K. Åström, and T. Akenine-Möller, 2015-2019.
cover Programming Massively Parallel Processors, Third Edition: A Hands-on Approach, by David B. Kirk and Wen-mei W. Hwu, December 2016 (Google Books sample).
cover Handbook of Digital Image Synthesis: Scientific Foundations of Rendering, by Vincent Pegoraro, AK Peters/CRC Press, December 2016 (Google Books sample, author's site (archived), publisher's page).
cover Vulkan Programming Guide: The Official Guide to Learning Vulkan (OpenGL), by John M. Kessenich and Graham Sellers, Addison-Wesley Professional, November 2016 (more information).
cover Foundations of Game Engine Development, Volume 1: Mathematics, by Eric Lengyel, September 2016 (more information).
cover Image Content Retargeting: Maintaining Color, Tone, and Spatial Consistency, by Alessandro Artusi, Francesco Banterle, Tunç Ozan Aydın, Daniele Panozzo, Olga Sorkine-Hornung, AK Peters/CRC Press, August 2016 (publisher's page, Google Books sample).
cover Augmented Reality: Principles and Practice, by Dieter Schmalstieg and Tobias Höllerer, Addison-Wesley, June 2016 (chapter sample and index, author site).
cover Game Engine Gems 3, edited by Eric Lengyel, AK Peters/CRC Press, April 2016 (more information).
cover GPU Pro7, edited by Wolfgang Engel, CRC Press, March 2016 (Book's website, blog, Google Books sample, source code).
cover Introduction to 3D Game Programming with DirectX 12, by Frank Luna, March 2016 (supplemental files).
cover download for free Ray Tracing in One Weekend, by Peter Shirley, January 2016 (Code, blog), download for free, read (corrected version) for free.
cover download for free Ray Tracing: the Next Week, by Peter Shirley, March 2016 (Code, blog), download for free, read (corrected version) for free.
cover download for free Ray Tracing: The Rest Of Your Life, by Peter Shirley, March 2016 (Code, blog), download for free, read (corrected version) for free.
cover Essential Mathematics for Games and Interactive Applications, Third Edition, by James M. Van Verth and Lars M. Bishop, AK Peters/CRC Press, August 2015 (Book's website, Google Books sample).
cover GPU Pro6, edited by Wolfgang Engel, CRC Press, July 2015 (Book's website, blog, Google Books sample, source code).
cover download for free WebGL Insights, edited by Patrick Cozzi, CRC Press, July 2015 (blog), download for free.
cover OpenGL SuperBible: Comprehensive Tutorial and Reference, Seventh Edition, by Graham Sellers, Richard S. Wright Jr., Nicholas Haemel, Addison-Wesley, July 2015 (source code and blog, Google Books sample).
cover Learning Three.js: The JavaScript 3D Library for WebGL - Second Edition, by Jos Dirksen, Packt Publishing, March 2015 (Table of Contents and samples, runnable code, Github, Google Books sample).
cover Three.js Cookbook, by Jos Dirksen, Packt Publishing, January 2015 (Table of Contents and samples, runnable code, Github, Google Books sample).
cover Introduction to Computer Graphics: A Practical Learning Approach, by Fabio Ganovelli, Massimiliano Corsini, Sumanta Pattanaik, and Marco Di Benedetto, AK Peters/CRC Press, October 2014 (Google Books sample, authors' website, publisher's page).
cover GPGPU Programming for Games and Science, by David H. Eberly, AK Peters/CRC Press, August 2014 (book's code website, publisher's page, Google Books sample).
cover download for free Computer Vision Metrics: Survey, Taxonomy, and Analysis, by Scott Krig, Apress, July 2014 (Table of Contents and free download; see our blog for options).
cover Multithreading for Visual Effects, by Martin Watt, Erwin Coumans, George ElKoura, Ronald Henderson, Manuel Kraemer, Jeff Lait, and James Reinders, CRC Press, July 2014 (SIGGRAPH 2013 course notes and book site, Google Books sample).
cover Three.js Essentials, by Jos Dirksen, Packt Publishing, July 2014 (Github, Google Books sample).
cover GPU Pro5, edited by Wolfgang Engel et alia, AK Peters/CRC Press, June 2014 (Table of Contents and source code, some extended abstracts).
cover Anton's OpenGL 4 Tutorials, by Anton Gerdelan, June 2014 (book website, free tutorials, source code).
cover Real-Time 3D Rendering with DirectX and HLSL: A Practical Guide to Graphics Programming, by Paul Varcholik, Addison-Wesley, May 2014. (online Table of Contents and sample chapter, PDF version of same, forum and errata (archived), dependency on FX Composer and Visual Studio, Google Books sample).
cover Interactive Computer Graphics with WebGL (Seventh Edition), by Edward Angel and Dave Shreiner, Addison-Wesley, March 2014 (more information, figures and source code).
cover OpenGL ES 3.0 Programming Guide, 2nd Edition, by Dan Ginsburg, Budirijanto Purnomo, Dave Shreiner, Aaftab Munshi, Addison-Wesley, March 2014 (book website, Google Books sample).
cover Direct3D Rendering Cookbook, by Justin Stenning, Packt Publishing, January 2014. (online Table of Contents and sample chapter, Google Books sample).
cover Practical Algorithms for 3D Computer Graphics, Second Edition, by R. Stuart Ferguson, AK Peters/CRC Press, December 2013, Google Books sample, related OpenFX site).
cover Computer Graphics: From Pixels to Programmable Graphics Hardware, by Alexey Boreskov and Evgeniy Shikin, Chapman and Hall/CRC Press, October 2013 (Google Preview, Table of Contents, and code).
cover The History of Visual Magic in Computers: How Beautiful Images are Made in CAD, 3D, VR and AR, by Jon Peddie, Springer, October 2013 (Google Books sample, Table of Contents).
cover Learn OpenGL ES For Mobile Game and Graphics Development, by Prateek Mehta, Apress, August 2013 (Book's website, with code, Google Books sample).
cover Computer Graphics: Principles and Practice, 3rd Edition, by John F. Hughes, Andries van Dam, Morgan McGuire, David F. Sklar, James D. Foley, Steven K. Feiner, and Kurt Akeley, Addison-Wesley, July 2013 (Book's website, with samples and code, downloadable sample, Google Books sample).
cover OpenGL ES 2 for Android: A Quick-Start Guide, by Kevin Brothaler, Pragmatic Programmers, July 2013 (Table of Contents and samples, blog).
cover WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL, by Kouichi Matsuda, Rodger Lea, Addison-Wesley, July 2013 (Book's website, PDF of Table of Contents and sample, Google Books sample).
cover The CUDA Handbook: A Comprehensive Guide to GPU Programming, by Nicholas Wilt, Addison-Wesley, June 2013 (Book's website, Github code, Google Books sample).
cover OpenGL Development Cookbook, by Muhammad Mobeen Movania, Packt Publishing, June 2013 (free publisher sample, Google Books sample, code repository).
cover GPU Pro4, edited by Wolfgang Engel et alia, AK Peters/CRC Press, April 2013 (Table of Contents and source code, some abstracts - scroll down, Google Books sample).
cover OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 4.3, Eighth Edition, by Dave Shreiner, Bill Licea-Kane, and Graham Sellers, Addison-Wesley, March 2013.
cover The HDRI Handbook 2.0: High Dynamic Range Imaging for Photographers and CG Artists, by Christian Bloch, Rocky Nook, January 2013 (Table of Contents and sample).
cover download for free Learning Modern 3D Graphics Programming, by Jason L. McKesson, 2012. download for free
cover Introduction to 3D Game Programming with DirectX 11, by Frank Luna, February 2012 (supplemental files).
cover 3D Math Primer for Graphics and Game Development, 2nd Edition, by Fletcher Dunn and Ian Parberry, AK Peters, November 2011, read for free.
cover GPU Computing Gems: Jade Edition, edited by Wen-mei W. Hwu, Morgan Kaufmann, August 2011 (Google Books sample).
cover Real-Time Shadows, by Michael Wimmer, Ulf Assarsson, Elmar Eisemann, and Michael Schwartz, AK Peters/CRC Press, July 2011 (more information, and course notes and later course notes based on book). Based on their course notes here (and vastly expanded). (Google Books sample).
cover Practical Rendering and Computation with Direct3D 11, by Jason Zink, Matt Pettineo, and Jack Hoxley, AK Peters/CRC Press, July 2011 (more information, Google Books sample).
cover 3D Engine Design for Virtual Globes, by Patrick Cozzi and Kevin Ring, AK Peters/CRC Press, June 2011 (sample chapters and related code, Google Books sample).
cover Mathematics for 3D Game Programming and Computer Graphics, Third Edition, by Eric Lengyel, Course Technology PTR, June 2011 (more information). Google Books sample.
cover Game Development Tools, edited by Marwan Ansari, AK Peters/CRC Press, May 2011 (Google Books sample).
cover Beginning DirectX 11 Game Programming, by Allan Sherrod and Wendy Jones, Course Technology PTR, May 2011 (code, Google Books sample).
cover GPU Pro2, edited by Wolfgang Engel, AK Peters, February 2011 (table of contents and source code, more information, Google Books sample).
cover Game Engine Gems 2, edited by Eric Lengyel, AK Peters/CRC Press, February 2011 (more information, Google Books sample).
cover 3D Graphics for Game Programming, by JungHyun Han, Chapman and Hall/CRC Press, February 2011 (Table of Contents and errata).
cover GPU Computing Gems: Emerald Edition, edited by Wen-mei W. Hwu, Morgan Kaufmann, February 2011 (Google Books sample).
cover Computer Graphics with OpenGL, Fourth Edition, by Donald Hearn, M. Pauline Baker, and Warren Carithers, Prentice Hall, November 2010 (more info and resources).
cover download for free Computer Vision: Algorithms and Applications, by Richard Szeliski, Springer, November 2010 download for free.
cover Geometry for Computer Graphics: Formulae, Examples and Proofs, by John Vince, Springer-Verlag, November 2010. Note that this is a softcover reissue of Vince's 2005 hardback book (Google Books sample).
cover Game Physics Pearls, edited by Gino van den Bergen and Dirk Gregorius, AK Peters, September 2010 (Table of Contents).
cover Polygon Mesh Processing, by Mario Botsch, Leif Kobbelt, Mark Pauly, Pierre Alliez, and Bruno Levy, AK Peters, August 2010 (Google Books sample).
cover GPU Pro: Advanced Rendering Techniques (was: ShaderX8), edited by Wolfgang Engel, AK Peters, July 2010 (Table of Contents and source code, more information).
cover High Dynamic Range Imaging, Second Edition: Acquisition, Display, and Image-Based Lighting, by Erik Reinhard et al., Morgan Kaufmann, June 2010 (Google Books sample).
cover iPhone 3D Programming: Developing Graphical Applications with OpenGL ES, Philip Rideout, O'Reilly Media, May 2010 (Google Books sample).
cover Light & Skin Interactions: Simulations for Computer Graphics Applications, Gladimir V. G. Baranoski and Aravind Krishnaswamy, Morgan Kaufmann, May 2010 (Google Books sample).
cover Game Programming Gems 8, edited by Adam Lake, Course Technology PTR, March 2010.
cover Video Game Optimization, Eric Preisz and Ben Garney, Course Technology PTR, March 2010.
cover Game Engine Gems, Volume One, edited by Eric Lengyel, Jones & Bartlett Publishers, March 2010 (more information). Google Books sample.
cover Temporal Coherence in Real-Time Rendering: Practical Approaches for Capitalizing on Temporal Coherence in the Domain of Real-Time Rendering, by Daniel Scherzer, VDM Verlag, February 2010. Download thesis (same information) for free.
cover Mathematics for Computer Graphics, 3rd Edition, by John Vince, Springer-Verlag, February 2010. Google Books sample.
cover OpenGL Shading Language, Third Edition, by Randi J. Rost, Bill Licea-Kane, and others, Addison-Wesley, July 2009. Google Books sample.
cover GPU-based Real-Time Solid Voxelization for Volume Graphics: Theory and Practice: Volume Modeling and Volumetric Collision Detection, by Duoduo Liao, VDM Verlag, July 2009.
cover An Integrated Introduction to Computer Graphics and Geometric Modeling, by Ronald Goldman, CRC Press, July 2009 (Table of Contents).
cover Real-Time Cameras, by Mark Haigh-Hutchinson, April 2009.
cover Computer Facial Animation, Second Edition, by Frederic I. Parke and Keith Waters, October 2008.
cover Best of Game Programming Gems, edited by Mark DeLoura, Charles River Media, June 2008 (note: does not include Game Programming Gems 7 or later).
cover Digital Modeling of Material Appearance, by Julie Dorsey, Holly Rushmeier, and François Sillion, December 2007.
cover GPU Gems 3, edited by Hubert Nguyen, August 2007, read for free, unofficial repo.
cover Color Imaging: Fundamentals and Applications, by Erik Reinhard et al., August 2007.
cover Data Structures and Algorithms for Game Developers, by Allen Sherrod, May 2007 (more information).
cover Game Physics Engine Development, by Ian Millington, March 2007.
cover Real-time Volume Graphics, by Klaus Engel, Markus Hadwiger, Joe M. Kniss, Christof Rezk-Salama, and Daniel Weiskopf, July 2006, AK Peters. (book information page, Google Books sample)
cover Geometric Data Structures for Computer Graphics, by Elmar Langetepe and Gabriel Zachmann, AK Peters/CRC Press, February 2006. (book information page, Google Books search)
cover read for free GPU Gems 2: Techniques for Graphics and Compute Intensive Programming, edited by Matt Pharr, March 2005, read for free, code, unofficial repo.
cover read for free GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics, edited by Randima Fernando, March 2004, read for free, code, unofficial repo.
cover download for free ShaderX2: Shader Programming Tips and Tricks with DirectX 9.0, edited by Wolfgang Engel, Wordware Publishing, Nov. 2003, download for free, also free code download and notes.
cover download for free ShaderX2: Introductions and Tutorials with DirectX 9.0, edited by Wolfgang Engel, Wordware Publishing, Nov. 2003, download for free, also free code download and notes.
cover read for free The Cg Tutorial, by Randy Fernando and Mark J. Kilgard, March 2003, read for free.
cover download for free Direct3D ShaderX: Vertex and Pixel Shader Tips and Tricks, edited by Wolfgang Engel, Wordware Publishing, June 2002, download for free, also free code download and notes.
cover read for free Michael Abrash's Graphics Programming Black Book, by Michael Abrash, July 1997, read for free. Truly ancient, yes, but there are still articles of general interest, and Abrash is a fine story-teller.
cover download for free Principles of Digital Image Synthesis, by Andrew S. Glassner, Morgan Kaufmann, 1995: download for free, errata. An incredible book, and physics doesn't change (much), so despite its age this book is full of useful information.
cover download for free Radiosity: A Programmer's Perspective, by Ian Ashdown, Wiley, 1994: download for free. A fine introduction to photometry concepts.
cover download for free Radiosity and Realistic Image Synthesis, by Michael F. Cohen and John R. Wallace, Academic Press Professional, 1993: download for free. The first book on the use of radiosity in computer graphics, again with an approachable introduction to photometry.
cover download for free Simulating Humans: Computer Graphics Animation and Control, by Norman I. Badler, Cary B. Phillips, Bonnie Lynn Webber, Oxford University Press, 1993: download for free. All about the human figure and how to model it in the computer. Old, but chock full of information.
cover download for free Introduction to Computing with Geometry, by Adrian Bowyer and John Woodwark, Information Geometers Ltd, 1993: download for free and alternate. About surfaces and other geometry-related bits. Written in an approachable and entertaining manner, with solid math and (occasionally dusty but workable) code bits.

Recommended Books

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

cover The Graphics Codex, by Morgan McGuire, 2011-2024 (Main site).

A free 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.

cover Fundamentals of Computer Graphics, 5th Edition, by Steve Marschner, Peter Shirley, et alia, AK Peters, September 2021 (Google Books sample, CRC website).

This book has evolved from a 500-page book that Peter Shirley wrote by himself to a 700-page 5th 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.

cover Interactive Computer Graphics with WebGL (Seventh Edition), by Edward Angel and Dave Shreiner, Addison-Wesley, March 2014 (more information, figures and source code).

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.

cover Interactive 3D Graphics, by Eric Haines, 2013, Udacity (interactive demos/exercises collection, syllabus, resources, course scripts (at bottom), downloadable videos, code).

A free, massive open online course (MOOC) focused on the basic theory and practice of interactive computer graphics, using three.js.

API Guides

cover OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 4.3, Eighth Edition, Dave Shreiner, Bill Licea-Kane, Graham Sellers, Addison-Wesley, March 2013.

The Red Book, it's the standard guide for understanding OpenGL.

cover OpenGL SuperBible: Comprehensive Tutorial and Reference, Seventh Edition, by Graham Sellers, Richard S. Wright Jr., Nicholas Haemel, Addison-Wesley, July 2015 (Source code and blog, Google Books sample of Seventh Edition).

If the Red Book fails you, this is the next place to go.

cover Graphics Shaders: Theory and Practice, Second Edition, by Mike Bailey and Steve Cunningham, AK Peters, November 2011 (Google Books sample from first edition).

If you want to focus on GLSL shaders, this book comes well-recommended by a number of people.

cover OpenGL 4 Shading Language Cookbook - Third Edition, by David Wolff, Packt Publishing, September 2018 (Table of Contents and sample chapter, Google Books sample, Githubbed code).

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

cover Introduction to 3D Game Programming with DirectX 11, by Frank D. Luna, Jones & Bartlett, March 2012.

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.

Advanced Texts

cover Real-Time Rendering, Fourth Edition, by Tomas Akenine-Möller, Eric Haines, Naty Hoffman, Angelo Pesce, Michał Iwanicki, and Sébastien Hillaire, August 2018 (book website, includes free chapters and appendices).

We like it, but don't really think of it as an introductory textbook.

cover read for free cover read for free cover GPU Gems, edited by Randima Fernando: read for free, code, unofficial repo
GPU Gems 2, edited by Matthew Pharr: read for free, code, unofficial repo
GPU Gems 3, edited by Hubert Nguyen: read for free, unofficial repo
Addison-Wesley, 2004, 2005, 2007.

Excellent edited collections of articles on interactive graphics, in well-produced volumes. These books were edited by NVIDIA employees, so there is a high level of NVIDIA participation. Note that all articles are free on the web.

cover download for free cover download for free cover download for free cover cover cover cover cover
cover cover cover cover cover cover cover
cover cover cover

The ShaderX series, 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 the age of the older volumes, they each contain some valuable articles. For example, the two articles in ShaderX2: Tips & Tricks coauthored by Marwan Ansari have excellent information about post-processing effects.

cover 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.

cover 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.

cover 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.

cover 3D Game Engine Design, Second Edition: A Practical Approach to Real-Time Computer Graphics, by David Eberly, Morgan Kaufmann, 2006.

A book dealing with a wide variety of real-time related topics, with solid theory and code. Somewhat math intensive at times, but we prefer this to hand-waving. This book offers the author's way of implementing various algorithms; do not expect a survey of techniques, but rather in-depth coverage of a particular solution. Pure gold, and the related web site is a (inter)national treasure. A related book is Eberly's 3D Game Engine Architecture: Engineering Real-Time Applications with Wild Magic, December 2004, which is about the WildMagic architecture used in 3D GED.

cover 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.

cover cover cover cover cover cover cover cover cover

There are many books in the Game Programming Gems series:

Published by Charles River Media, 2000 through 2010.

A wide range of Graphics Gems-like articles (with which it is not affiliated), it has many articles on subjects relevant to real-time rendering. There are tidbits on intersection calculations, collision detection, LOD and progressive meshes, texture mapping effects, sprite effects, shadows, vertex and pixel shader tricks, and much more. There is also material on modelling, skinning, and animation. About a quarter or more of each book is on artificial intelligence and other topics, so the focus is not exclusively on computer graphics.

cover Advanced Graphics Programming Using OpenGL, by Tom McReynolds and David Blythe, Morgan Kaufmann, Feb. 2005.

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.

cover 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.
cover Level of Detail for 3D Graphics, by David Luebke et al., Morgan Kaufmann, July 2002.

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.

cover cover cover cover cover Graphics Gems, series editor Andrew Glassner, Academic Press, 1990 to 1995: web site

Old, but with useful algorithms and a code base that is maintained with bug fixes, so there's little code rot. A series of 5 books with a wide range of algorithms for all sorts of areas of computer graphics; visit the web site for a listing of articles, Amazon and Google Books excerpt links, and the latest code.

cover cover cover Jim Blinn's Corner: A Trip Down the Graphics Pipeline, 1996: Google Books sample
Jim Blinn's Corner: Dirty Pixels, 1998: Google Books sample
Jim Blinn's Corner: Notation, Notation, Notation, 2002.
  by Jim Blinn, Morgan Kaufmann.

A collection of columns from IEEE Computer Graphics and Applications, these talk about all sorts of nitty gritty details and algorithms not covered in other texts. Admittedly, most people will not need to implement software rendering algorithms, but there are still many useful tidbits here, as well as masterful tutorials on signal processing, alpha compositing, and other key topics.

Mathematics and Theory

cover Immersive Linear Algebra, by J. Ström, K. Åström, and T. Akenine-Möller, 2015-2019

A free interactive book on the subject, letting you build up your intuition for what various operations mean.

cover Practical Linear Algebra: A Geometry Toolbox, Fourth Edition, by Gerald E. Farin and Dianne Hansford, CRC Press, 2021: sample chapters, Google Books sample

A pleasant introduction to various elements of 2D and 3D analytical geometry and linear algebra. Numerous illustrations help build up an intuitive understanding of various procedures. Also, you have to love a book with a chapter called "Eigen Things".

cover Mathematics for 3D Game Programming and Computer Graphics, Third Edition, by Eric Lengyel, Course Technology PTR, June 2011: more information

This book gives the underpinnings of mathematics used in 3D interactive applications. A wide range of topics is covered: the rendering pipeline (in Chapter 0), transforms (of course), lighting and shading, billboarding, collision detection, curves and surfaces, plus physics, ray tracing, and more. It is not a book for beginners, but is the place to go if you want to understand exactly how and why various operations are performed.

cover Computational Geometry: Algorithms and Applications, 3rd Edition, by Mark de Berg, Otfried Cheong, Marc van Kreveld, and Mark Overmars, Springer Verlag, 2008: Google Books sample

An extensive book on computational geometry, with a focus on presenting algorithms that are useful. No source code, but such code can usually be found elsewhere.

cover Computer Graphics: Principles and Practice, 3rd Edition, by John F. Hughes, Andries van Dam, Morgan McGuire, David F. Sklar, James D. Foley, Steven K. Feiner, and Kurt Akeley, July 2013 (Book's website, with samples and code, downloadable sample, Google Books sample).

A classic work, updated at last to a third edition. Comprehensive coverage of the field as a whole.

cover download for free Principles of Digital Image Synthesis, by Andrew S. Glassner, Morgan Kaufmann, 1995: download for free, errata.

A huge tome (actually two volumes), the theory behind computer graphics is (almost) all here. This book is not about algorithms, but rather covers much of the relevant physics, optics, signal processing, and psychological theory about how light and materials interact and how we perceive them. A must for researchers attempting to simulate reality. Download books, which includes all errata corrected.

There are many other worthwhile computer graphics texts; these listed are just the ones we know and consider relevant to interactive graphics.

 
>