Last changed: August 23, 2016
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 "look inside" on Amazon, or have Google Books samples, which we link to as we find them. You can also look at Amazon's bestselling DirectX and OpenGL book lists. Other bestseller categories that sometimes yield fruit: Rendering & Ray Tracing, Game Programming.
Books that have not been released yet.
Physically Based Rendering, Third Edition: from Theory to Implementation, by Matt Pharr, Wenzel Jakob, and Greg Humphreys, Morgan Kaufmann, November 2016 (more info).

Vulkan Programming Guide: The Official Guide to Learning Vulkan (OpenGL), by John M. Kessenich and Graham Sellers, AddisonWesley Professional, November 2016 (more info).

Foundations of Game Engine Development, Volume 1: Mathematics, Eric Lengyel, August 2016 (more info).

These are newer relevant books that have come out in the past few years; we make no judgements on these (well, we review a few on our blog).
Game Engine Gems 3, edited by Eric Lengyel, A.K.Peters/CRC Press, April 2016 (more info).

GPU Pro^{7} (Kindle), edited by Wolfgang Engel, CRC Press, March 2016 (book's website, blog, Google Books sample, source code).

Fundamentals of Computer Graphics, 4th Edition, by Steve Marschner, Peter Shirley, et alia, A.K. Peters, December 2015. (book's website, Google Books sample).

Essential Mathematics for Games and Interactive Applications, Third Edition (Kindle), by James M. Van Verth and Lars M. Bishop, AK Peters/CRC Press, August 2015 (book's website, Google Books sample).

GPU Pro^{6} (Kindle), edited by Wolfgang Engel, CRC Press, July 2015 (book's website, blog, Google Books sample, source code).

WebGL Insights (Kindle), edited by Patrick Cozzi, CRC Press, July 2015 (book's website, blog, Google Books sample).

OpenGL
SuperBible: Comprehensive Tutorial and Reference, Seventh Edition (Kindle), by Graham Sellers, Richard S. Wright Jr., Nicholas Haemel, AddisonWesley, July 2015 (source code and blog, Google Books sample of Sixth Edition; Seventh Edition has no sample yet).

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

Three.js Cookbook, by Jos Dirksen, Packt Publishing, January 2015 (Table of Contents and samples, runnable code, Github, Google Books sample).

Introduction to Computer Graphics: A Practical Learning Approach, by Fabio Ganovelli, Massimiliano Corsini, Sumanta Pattanaik, and Marco Di Benedetto, A.K. Peters/CRC Press, October 2014 (Google Books sample, authors' website, publisher's page).

Computer Graphics Through OpenGL: From Theory to Experiments, Second Edition, by Sumanta Guha, A.K. Peters/CRC Press, August 2014 (book's website, Google Books sample, publisher's page).

GPGPU Programming for Games and Science, by David H. Eberly, A.K. Peters/CRC Press, August 2014 (book's code website, Google Books sample, publisher's page).

Game Engine Architecture, Second Edition, by Jason Gregory, A.K. Peters/CRC Press, August 2014 (book's extensive website, Google Books sample, publisher's page).

Computer Vision Metrics: Survey, Taxonomy, and Analysis,
by Scott Krig, Apress, July 2014 (table of contents and free download; see our blog for options).

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

Three.js Essentials, by Jos Dirksen, Packt Publishing, July 2014 (Table of Contents and samples, Github, Google Books sample).

GPU Pro^{5}, edited by Wolfgang Engel et alia, A.K. Peters/CRC Press, June 2014 (table of contents and source code, some extended abstracts).

RealTime 3D Rendering with DirectX and HLSL: A Practical Guide to Graphics Programming, by Paul Varcholik, AddisonWesley, May 2014. (online Table of Contents and sample chapter, PDF version of same, forum and errata, dependency on FX Composer and Visual Studio, Google Books sample).

Interactive Computer Graphics with WebGL (Seventh Edition), by Edward Angel and Dave Shreiner, AddisonWesley, March 2014 (more info, figures and source code).

OpenGL ES 3.0 Programming Guide, 2nd Edition, by Dan Ginsburg, Budirijanto Purnomo, Dave Shreiner, Aaftab Munshi, AddisonWesley, March 2014 (book website, Google Books sample).

Programming 3D Applications with HTML5 and WebGL: 3D Animation and Visualization for Web Pages, by Tony Parisi, O'Reilly, March 2014 (more info and sample, github code, Google Books sample).

Direct3D Rendering Cookbook, by Justin Stenning, Packt Publishing, January 2014. (online Table of Contents and sample chapter, Google Books sample).

Practical Algorithms for 3D Computer Graphics, Second Edition, by R. Stuart Ferguson, A.K. Peters/CRC Press, December 2013 (book's website, Google Books sample, related OpenFX site).

OpenGL 4.0 Shading Language Cookbook  Second Edition, by David Wolff, Packt Publishing, December 2013 (Table of Contents and sample chapter, Google Books sample, Githubbed code, Gamasutra review of First Edition).

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

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

Learn OpenGL ES For Mobile Game and Graphics Development, by Prateek Mehta, Apress, August 2013 (book's website, with code, Google Books sample).

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, AddisonWesley, July 2013 (book's website, with samples and code, downloadable sample, Google Books sample).

OpenGL ES 2 for Android: A QuickStart Guide, by
Kevin Brothaler, Pragmatic Programmers, July 2013 (Table of Contents and samples, blog).

WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL, by Kouichi Matsuda, Rodger Lea, AddisonWesley, July 2013 (book's website, PDF of table of contents and sample, Google Books sample).

The CUDA Handbook: A Comprehensive Guide to GPU Programming, by Nicholas Wilt, AddisonWesley, June 2013 (book's website, Github code, Google Books sample).

OpenGL Development Cookbook, by Muhammad Mobeen Movania, Packt Publishing, June 2013 (free publisher sample, Google Books sample, code repository).

GPU Pro^{4}, edited by Wolfgang Engel et alia, A.K. Peters/CRC Press, April 2013 (table of contents and source code, some abstracts  scroll down, Google Books sample).

OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 4.3, Eighth Edition, by Dave Shreiner, Bill LiceaKane, and Graham Sellers, AddisonWesley, March 2013.

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

Learning Modern 3D Graphics Programming, by Jason L. McKesson, 2012, read for free, download for free.

Production Volume Rendering: Design and Implementation, by Magnus Wrenninge, A.K. Peters/CRC Press, September 2012 (Table of Contents).

WebGL: Up and Running, by Tony Parisi, O'Reilly, August 2012 (more info and sample, github code, Google Books sample).

Learning OpenGL ES for iOS: A Handson Guide to Modern 3D Graphics Programming, by Erik Buck, AddisonWesley, August 2012 (sample code, Google Books sample).

OpenGL Insights, edited by Patrick Cozzi and Christophe Riccio, A.K. Peters, July 2012 (book website, Google Books sample).

Foundations of 3D Computer Graphics, by Steven J. Gortler, MIT Press, July 2012 (assignments and errata, Google Books sample).

WebGL Beginner's Guide, by Diego Cantor and Brandon Jones, Packt Publishing, June 2012 (more info, runnable code samples, Google Books sample).

Shadow Algorithms Data Miner, by Andrew Woo and Pierre Poulin, A.K. Peters, June 2012 (more info, Google Books sample).

Computer Graphics: Theory and Practice, by Jonas Gomes, Luiz Velho, and Mario Costa Sousa, AK Peters/CRC Press, April 2012 (Google Books sample).

Introduction to 3D Game Programming with DirectX 11, by Frank D. Luna, Jones & Bartlett, March 2012 (book website, with code).

OpenSceneGraph 3 Cookbook, by Rui Wang, Xuelei Qian, Packt Publishing, March 2012 (Google Book preview, OpenSceneGraph website).

GPU Pro^{3}, edited by Wolfgang Engel et alia, A.K. Peters, February 2012 (more info and source code).

Pro OpenGL ES for iOS, by Mike Smithwick, Apress, December 2011 (book's website, with code, Google Books sample).

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

3D Math Primer for Graphics and Game Development, 2nd Edition, by Fletcher Dunn and Ian Parberry, A.K. Peters, November 2011 (Powerpoint slide download and more, Google Books sample).

GPU Computing Gems: Jade Edition, edited by Wenmei W. Hwu, Morgan Kaufmann, August 2011 (Google Books sample).

RealTime Shadows, by Michael Wimmer, Ulf Assarsson, Elmar Eisemann, and Michael Schwartz, A.K.Peters/CRC Press, July 2011 (more info). Based on their course notes here (and vastly expanded). (Google Books sample).

Practical Rendering and Computation with Direct3D 11, by Jason Zink, Matt Pettineo, and Jack Hoxley, A.K.Peters/CRC Press, July 2011 (more info, Google Books sample).

3D Engine Design for Virtual Globes, by Patrick Cozzi and Kevin Ring, A.K.Peters/CRC Press, June 2011 (sample chapters and related code, Google Books sample).

Mathematics for 3D Game Programming and Computer Graphics, Third Edition, Eric Lengyel, Course Technology PTR, June 2011 (more info). Google Books sample.

Game Development Tools, edited by Marwan Ansari, A.K.Peters/CRC Press, May 2011 (Google Books sample).

Beginning DirectX 11 Game Programming, by Allan Sherrod and Wendy Jones, Course Technology PTR, May 2011 (samples page, Google Books sample).

GPU Pro^{2}, edited by Wolfgang Engel, A.K. Peters, February 2011 (more info; Google Books sample).

Game Engine Gems 2, edited by Eric Lengyel, A.K.Peters/CRC Press, February 2011 (more info; Google Books sample).

3D Graphics for Game Programming, by JungHyun Han, Chapman and Hall/CRC Press, February 2011 (Table of Contents and errata).

Advanced High Dynamic Range Imaging: Theory and Practice, by Francesco Banterle, Alessandro Artusi, Kurt Debattista, and Alan Chalmers, A.K.Peters/CRC Press, February 2011 (more info, including source code, Google Books sample).

GPU Computing Gems: Emerald Edition, edited by Wenmei W. Hwu, Morgan Kaufmann, February 2011 (Google Books sample).

Computer
Graphics with OpenGL, Fourth Edition, by Donald Hearn, M. Pauline Baker, and Warren Carithers, Prentice
Hall, November 2010 (more info and resources).

Computer Vision: Algorithms and Applications, by Richard Szeliski, Springer, November 2010 (book website).

Geometry for Computer Graphics: Formulae, Examples and Proofs, by John Vince, SpringerVerlag, November 2010. Note that this is a softcover reissue of Vince's 2005 hardback book (Google Books sample).

Game Physics Pearls, edited by Gino van den Bergen and Dirk Gregorius, A.K. Peters, September 2010 (table of contents).

Polygon Mesh Processing, by Mario Botsch, Leif Kobbelt, Mark Pauly, Pierre Alliez, and Bruno Levy, A.K. Peters, August 2010 (Google Books sample).

Physically Based Rendering, Second Edition: from Theory to Implementation, by Matt Pharr and Greg Humphreys, Morgan Kaufmann, July 2010 (more info), Google Books sample).

GPU Pro: Advanced Rendering Techniques (was: ShaderX^{8}), edited by Wolfgang Engel, A.K. Peters, July 2010, (more info).

High Dynamic Range Imaging, Second Edition: Acquisition, Display, and ImageBased Lighting, by Erik Reinhard et al., Morgan Kaufmann, June 2010 (Google Books sample).

iPhone 3D Programming: Developing Graphical Applications with OpenGL ES, Philip Rideout, O'Reilly Media, May 2010 (Google Books sample).

Light & Skin Interactions: Simulations for Computer Graphics Applications, Gladimir V. G. Baranoski and Aravind Krishnaswamy, Morgan Kaufmann, May 2010 (Google Books sample).

Game Programming Gems 8, edited by Adam Lake, Course Technology PTR, March 2010.

Video Game Optimization, Eric Preisz and Ben Garney, Course Technology PTR, March 2010.

Game Engine Gems, Volume One, edited by Eric Lengyel, Jones & Bartlett Publishers, March 2010 (more info). Google Books sample.

Temporal Coherence in RealTime Rendering: Practical Approaches for Capitalizing on Temporal Coherence in the Domain of RealTime Rendering, by Daniel Scherzer, VDM Verlag, February 2010. Download thesis (same information) for free.

Programming Massively Parallel Processors: A Handson Approach, by David B. Kirk and Wenmei W. Hwu, February 2010.

Mathematics for Computer Graphics, 3rd Edition, by John Vince, SpringerVerlag, February 2010. Google Books sample.

OpenGL Shading Language, Third Edition, by Randi J. Rost, Bill LiceaKane, and others, AddisonWesley, July 2009. More info, Google Books sample.

GPUbased RealTime Solid Voxelization for Volume Graphics: Theory and Practice: Volume Modeling and Volumetric Collision Detection, by Duoduo Liao, VDM Verlag, July 2009.

An Integrated Introduction to Computer Graphics and Geometric Modeling, by Ronald Goldman, CRC Press, July 2009 (Table of Contents).

RealTime Cameras, by Mark HaighHutchinson (and friends), April 2009.

Programming Vertex, Geometry, and Pixel Shaders, Second Edition, by Wolfgang Engel, Jack Hoxley, Ralf Kornmann, Niko Suni, and Jason Zink, December 2008 (no publisher), read for free.

Computer Facial Animation, Second Edition, by Frederic I. Parke and Keith Waters, October 2008.

RealTime Rendering, Third Edition, by Tomas AkenineMöller, Eric Haines, and Naty Hoffman, July 2008 (book website, includes samples).

Best of Game Programming Gems, edited by Mark DeLoura, Charles River Media, June 2008 (note: does not include Game Programming Gems 7 or later).

Digital Modeling of Material Appearance, by Julie Dorsey, Holly Rushmeier, and François Sillion, December 2007 (more info).

GPU Gems 3, edited by Hubert Nguyen, August 2007, read for free.

Color Imaging: Fundamentals and Applications, by Erik Reinhard et al., August 2007.

Data Structures and Algorithms for Game Developers, by Allen Sherrod, May 2007 (more info).

Game Physics Engine Development, by Ian Millington, March 2007.

Realtime Volume Graphics, by Klaus Engel, Markus Hadwiger, Joe M. Kniss, Christof RezkSalama, and Daniel Weiskopf, July 2006, A.K. Peters.
(book information page, Google Books sample)

Geometric Data Structures for Computer Graphics, by Elmar Langetepe and Gabriel Zachmann, A.K. Peters/CRC Press, February 2006.
(book information page, Google Books search)

GPU Gems 2: Techniques for Graphics and Compute Intensive Programming, edited by Matt Pharr, March 2005, read for free.

GPU Gems: Programming Techniques, Tips, and Tricks for RealTime Graphics, edited by Randima Fernando, March 2004, read for free.

ShaderX^{2}: Shader Programming Tips and Tricks with DirectX 9.0, edited by Wolfgang Engel, Nov. 2003, download for free, also free code download and notes.

ShaderX^{2}: Introductions and Tutorials with DirectX 9.0, edited by Wolfgang Engel, Nov. 2003, download for free, also free code download and notes.

The Cg Tutorial, by Randy Fernando and Mark J. Kilgard, March 2003, read for free.

Direct3D ShaderX: Vertex and Pixel Shader Tips and Tricks, edited by Wolfgang Engel, June 2002, download for free, also free code download and notes.

Michael Abrash's Graphics Programming Black Book, by Michael Abrash, July 1997, read for free. Ancient, yes, but there are still articles of general interest, and Abrash is a fine storyteller.

Principles of Digital Image Synthesis, by Andrew S. Glassner, Morgan Kaufmann, 1995: download for free. An incredible book, and physics doesn't change (much), so despite the age this book is full of useful information.

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.

Introduction to Computing with Geometry, by Adrian Bowyer and John Woodwark, Information Geometers Ltd, 1993: download for free. About surfaces and other geometryrelated bits. Written in an approachable and entertaining manner, with solid math and (occasionally dusty but workable) code bits.

What follows is a list
of some books we think are worthwhile for realtime rendering and computer graphics
in general.
Introductory Texts
Interactive Computer Graphics with WebGL (Seventh Edition), by Edward Angel and Dave Shreiner, AddisonWesley, March 2014 (more info, 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.

Fundamentals of Computer Graphics, 4th Edition, by Steve Marschner, Peter Shirley, et alia, A.K. Peters, December 2015. (Google Books sample, CRC website) This book has evolved from a 500page book that Peter Shirley wrote by himself to a 746page 4th edition coauthored 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.

API Guides
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 4.1, Eighth Edition, Dave Shreiner, Bill LiceaKane, Graham Sellers, AddisonWesley, March 2013.
The Red Book, it's the standard guide for understanding OpenGL.


OpenGL SuperBible: Comprehensive Tutorial and Reference, Seventh Edition (Kindle), by Graham Sellers, Richard S. Wright Jr., Nicholas Haemel, AddisonWesley, July 2015 (source code and blog, Google Books sample of Sixth Edition; Seventh Edition has no sample yet).
If the Red Book fails you, this is the next place to go.

Graphics Shaders: Theory and Practice, Second Edition, by Mike Bailey and Steve Cunningham, A.K. Peters, November 2011 (more info, Google Books sample from first edition).
If you want to focus on GLSL shaders, this book comes wellrecommended by a number of people.

OpenGL 4.0 Shading Language Cookbook  Second Edition, by David Wolff, Packt Publishing, December 2013 (Table of Contents and sample chapter, Google Books sample, 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 reasonable.

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, wellillustrated book of how to do most common interactive rendering algorithms with DirectX 11. There's a good mix of text and code samples.

WebGL: Up and Running, by Tony Parisi, O'Reilly, August 2012 (more info and sample, github code). This is a good book if your goal is indeed to get something on the browser screen fast. It’s readable, and I appreciate his use of URLs to WebGL demos and resources and (properly credited) Wikimedia images. It focuses on the popular three.js library to insulate you from the OpenGL ES roots of WebGL and hide its raw API nature. Get the Kindle edition, it's cheaper and in color.

WebGL Beginner's Guide, by Diego Cantor and Brandon Jones, Packt Publishing, June 2012 (more info, runnable code samples). The authors deal with WebGL directly, adding only the glMatrix library on github to make matrix manipulation easier (this is about as minimal as you can get). This book walks through much of what WebGL does (essentially, the same as OpenGL, of course), giving lots of code examples and worthwhile illustrations. Some example programs are quite nice, with useful user interfaces allowing you to twiddle values and see the effect. The book deals with more advanced topics towards the end, such as how to render offscreen and sample the results (their example is for performing picking). There are a few minor problems with layout on my iPad (a few illustrations don’t fit and there’s an awkward scrolling interface that doesn’t quite work), and some occasional lapses in grammar, but overall the book is fine. Occasionally the authors will get distracted by side topics, like a full derivation of why you use the inverse transpose of the matrix for transforming normals, or explaining a shader that does simple ray tracing. In general, however, the book works through the key areas of the WebGL API and warns you of potential problems along the way. WebGL itself exposes you directly to vertex and fragment shaders, so if you are planning to do some serious work in this area, this book is perhaps a better choice that Parisi’s. Get the Kindle edition, it's much cheaper and in color.

Advanced Texts
RealTime Rendering, Third Edition, by Tomas AkenineMöller, Eric Haines, and Naty Hoffman, July 2008 (book website, includes samples).
We like it, but don't really think of it as an introductory textbook. I'd take this free course first.

GPU Gems, edited by Randima Fernando: read for free
GPU Gems 2, edited by Matthew Pharr: read for free
GPU Gems 3, edited by Hubert Nguyen: read for free
AddisonWesley, 2004, 2005, 2007.
Excellent edited collections of articles on interactive graphics, in wellproduced 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.


The ShaderX series, and subsequent GPU Pro 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 ShaderX^{2}: Tips & Tricks coauthored by Marwan Ansari have excellent information about postprocessing effects.

RealTime 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 indepth 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.

3D
Game Engine Design, Second Edition: A Practical Approach to RealTime Computer Graphics,
by David Eberly, Morgan Kaufmann, 2006. A book dealing with a wide variety
of realtime related topics, with solid theory and code. Somewhat math intensive
at times, but we prefer this to handwaving. This book offers the author's
way of implementing various algorithms; do not expect a survey of techniques,
but rather indepth 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 RealTime Applications with Wild Magic, December 2004, which is about the WildMagic architecture used in 3D GED.

Game Engine Architecture, by Jason Gregory, A.K. Peters, July 2009.
NOTE: a second edition is due in August 2014, see the Upcoming Books at the top of this page.
This book is about just that, how to make a professionalgrade 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 ingame 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.

There are many books in the Game Programming Gems series:
Published by Charles River Media, 2000 through 2010.
A wide range of Graphics Gemslike articles (with which it is not affiliated),
it has many articles on subjects relevant to realtime 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.

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, A.K. Peters, July 2012 (more info). 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.

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.

Jim
Blinn's Corner: A Trip Down the Graphics Pipeline, 1996: look inside, Google Books sample
Jim
Blinn's Corner: Dirty Pixels, 1998: look inside, Google Books sample
Jim
Blinn's Corner: Notation, Notation, Notation, 2002: look inside, Google Books sample
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
Practical Linear Algebra: A Geometry Toolbox, by Gerald E. Farin and Dianne
Hansford, A.K. Peters Ltd., 2004: 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".

Mathematics for 3D Game Programming and Computer Graphics, Third Edition, Eric Lengyel, Course Technology PTR, June 2011 (more info). Google Books sample of 2nd edition
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.

Computational
Geometry: Algorithms and Applications, 3rd Edition, by Mark de Berg, Otfried Cheong, Marc van Kreveld, and Mark Overmars, Springer Verlag, 2008: look inside, Google Books sample for 3rd Edition
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.

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.

Principles of Digital Image Synthesis, by Andrew S. Glassner, Morgan Kaufmann, 1995: download for free
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. The entire book is now readable on Google Books
(Vol. 1 (really), Vol. 2),
but the downloadable version is more useful, as it is searchable and includes all errata.

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