|
Last changed: August 14, 2010
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.
Books that have not been released yet.
|
Advanced High Dynamic Range Imaging, by F. Banterle, A. Artusl, K. Debattista, and A. Chalmers, A.K. Peters.
|
These are newer relevant books that have come out in the past few years; we make no judgements on these. You can also look at Amazon's best-selling DirectX and OpenGL book lists.
Polygon Mesh Processing, by Mario Botsch, Leif Kobbelt, Mark Pauly, Pierre Alliez, and Bruno Levy, A.K. Peters, August 2010.
|
Game Physics Pearls, edited by Gino van den Bergen and Dirk Gregorius, A.K. Peters, August 2010.
|
OpenGL
SuperBible, Fifth Edition, by Richard S. Wright Jr., Benjamin Lipchak, Addison-Wesley, August 2010 (source code).
|
Physically Based Rendering, Second Edition: from Theory to Implementation, by Matt Pharr and Greg Humphreys, Morgan Kaufmann, July 2010. More info.
|
GPU Pro: Advanced Rendering Techniques (was: ShaderX8), edited by Wolfgang Engel, A.K. Peters, July 2010, (more info).
|
High Dynamic Range Imaging, Second Edition: Acquisition, Display, and Image-Based Lighting, by Erik Reinhard et al., Morgan Kaufmann, June 2010.
|
iPhone 3D Programming: Developing Graphical Applications with OpenGL ES, Philip Rideout, O'Reilly Media, May 2010, read for free.
|
Light & Skin Interactions: Simulations for Computer Graphics Applications, Gladimir V. G. Baranoski and Aravind Krishnaswamy, Morgan Kaufmann, May 2010.
|
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.
|
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.
|
Programming Massively Parallel Processors: A Hands-on Approach, by David B. Kirk and Wen-mei W. Hwu, February 2010.
|
Mathematics for Computer Graphics, 3rd Edition, by John Vince, Springer-Verlag, February 2010.
|
iPhone Game Development: Developing 2D & 3D games in Objective-C, by Paul Zirkle and Joe Hogue, A.K. Peters, O'Reilly Media, November 2009.
|
Fundamentals of Computer Graphics, by Peter Shirley, Steve Marschner, et alia, A.K. Peters, July 2009.
|
Game Engine Architecture, by Jason Gregory, A.K. Peters, July 2009.
|
OpenGL Programming Guide, Seventh Edition, Dave Shreiner, Addison-Wesley, July 2009.
|
OpenGL Shading Language, Third Edition, by Randi J. Rost, Bill Licea-Kane, and others, Addison-Wesley, July 2009.
|
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.
|
Graphics Shaders: Theory and Practice, by Mike Bailey and Steve Cunningham, A.K. Peters, May 2009 (example code and errata).
|
The Blender GameKit: Interactive 3D for Artists, by Carsten Wartmann, No Starch Press, May 2009.
|
Character Animation With Direct3D, by Carl Granberg, April 2009 (table of contents).
|
Real-Time Cameras, by Mark Haigh-Hutchinson (and friends), April 2009.
|
ShaderX7, edited by Wolfgang Engel et alia, March 2009 (more information here).
|
Game Coding Complete, by Mike McShaffry, March 2009 (download code, forum).
|
Advanced Game Programming: A GameDev.net Collection, by John Hattan, Course Technology PTR, March 2009.
|
Ultimate Game Programming with DirectX, by Allen Sherrod, Charles River Media, January 2009.
|
Essentials of Interactive Computer Graphics, by Kelvin Sung, Peter Shirley, and Steven Baer, December 2008 (companion web site).
|
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.
|
Learning XNA 3.0: XNA 3.0 Game Development for the PC, Xbox 360, and Zune, by Aaron Reed, O'Reilly Media, November 2008 (browse book).
|
Introduction to 3D Game Programming with DirectX 10, by Frank D. Luna, Jones & Bartlett, October 2008.
|
Programming the Cell Processor: For Games, Graphics, and Computation, by Matthew Scarpino, Prentice Hall, October 2008.
|
Computer Facial Animation, Second Edition, by Frederic I. Parke and Keith Waters, October 2008.
|
Rendering ebook Collection. Four Morgan Kaufmann books on CD: Rendering for Beginners: Image synthesis using RenderMan, Physically Based Rendering, Level of Detail for 3D Graphics, Non-photorealistic Computer Graphics.
|
OpenGL ES 2.0 Programming Guide, by Aaftab Munshi, Dan Ginsburg, and Dave Shreiner, Addison-Wesley, August 2008 (companion web site)
|
Best of Game Programming Gems, edited by Mark DeLoura, Charles River Media, June 2008 (note: does not include Game Programming Gems 7 or later).
|
Game Graphics Programming, by Allen Sherrod, Charles River Media, June 2008.
|
Interactive Computer Graphics: A Top-Down Approach with OpenGL, Fifth Edition, by Edward Angel, Addison-Wesley, April 2008 (PowerPoint and source code available).
|
ShaderX6, edited by Wolfgang Engel et alia, February 2008 (more information here).
|
Introduction to Computer Graphics: Using Java 2D and 3D, by Frank Klawonn, February 2008 (more information here and here).
|
Game Programming Gems 7, edited by Scott Jacobs, Charles River Media, January 2008.
|
Advanced 3D Game Programming with DirectX 10.0, by Peter Walsh, Jones & Bartlett, January 2008.
|
Augmented Reality: A Practical Guide, by Stephen Cawood and Mark Fiala, Pragmatic Bookshelf, January 2008.
|
Digital Modeling of Material Appearance, by Julie Dorsey, Holly Rushmeier, and François Sillion, December 2007 (more information).
|
Mobile 3D Graphics: with OpenGL ES and M3G, Kari Pulli, Tomi Aarnio, Ville Miettinen, Kimmo Roimela, and Jani Vaarala, November 2007 (companion web site).
|
GPU Gems 3, edited by Hubert Nguyen, August 2007, read for free.
|
Color Imaging: Fundamentals and Applications, by Erik Reinhard et al., August 2007.
|
Beginning DirectX 10 Game Programming, by Wendy Jones, July 2007.
|
Data Structures and Algorithms for Game Developers, by Allen Sherrod, May 2007 (more information).
|
Mobile 3D Graphics: Learning 3D Graphics with the Java Micro Edition, Claus Höfele (companion web site).
|
Game Physics Engine Development, by Ian Millington, March 2007.
|
Mobile 3D Game Development: From Start to Market, by Carlos Morales and David Nelson, February 2007 (more information).
|
Computer Graphics Using OpenGL, Third Edition, by Francis S. Hill, Jr., Prentice Hall, December 2006 (Table of Contents).
|
ShaderX5, edited by Wolfgang Engel et alia, December 2006 (more information here).
|
Computer Graphics: Programming in OpenGL for Visual Communication, by Steve Cunningham, Prentice Hall, December 2006 (supplementary materials at publisher's site, excerpts at Google Books).
|
Ultimate 3D Game Engine Design & Architecture, by Allen Sherrod, December 2006.
|
Programming an RTS Game with Direct3D, by Carl Granberg, October 2006 (table of contents).
|
Collada: Sailing the Gulf of 3d Digital Content Creation, by Remi Arnaud and Mark C. Barnes, August 2006.
|
Real-time Volume Graphics, by Klaus Engel, Markus Hadwiger, Joe M. Kniss, Christof Rezk-Salama, and Daniel Weiskopf, July 2006.
(book information page, SIGGRAPH 2004 course notes, Google Books sample)
|
The Game Programmer's Guide to Torque, by Edward F. Maurina III, March 2006.
|
High Dynamic Range Imaging: Acquisition, Display, and Image-Based Lighting, by Erik Reinhard et al., 2006. Note a second edition comes out in June 2010.
|
Advanced Game Development with Programmable Graphics Hardware, by Alan Watt and Fabio Policarpo, August 2005.
|
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 Real-Time Graphics, edited by Randima Fernando, March 2004, read for free.
|
Game
Physics, by Dave Eberly, Dec. 2003 (companion web site)
|
ShaderX2: Shader Programming Tips and Tricks with DirectX 9.0, edited by Wolfgang Engel, Nov. 2003, download for free, also free code download and notes.
|
ShaderX2: Introductions and Tutorials with DirectX 9.0, edited by Wolfgang Engel, Nov. 2003, download for free, also free code download and notes.
|
Mathematics for 3D Game Programming and Computer Graphics, Second Edition, Eric Lengyel, Nov. 2003. (more info)
|
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.
|
What follows is a list
of some books we think are worthwhile for real-time rendering and computer graphics
in general. To sample the books, some have "look inside" on Amazon, and most have Google Books samples (which we are slowly adding as links).
Introductory Texts
Interactive
Computer Graphics: A Top-Down Approach with OpenGL, Fifth Edition,
by Edward Angel, Addison-Wesley, 2008.This is not a book for learning OpenGL.
Rather, it uses OpenGL to teach the fundamentals of computer graphics. A solid,
modern text, and recommended as a precursor for our own book. Additional resources are available, such as source code, powerpoint lectures, etc.
|
Computer
Graphics with OpenGL, Third Edition, by Donald Hearn and M. Pauline Baker, Prentice
Hall, 2003.A standard college text on the topic. Not focused on real-time
rendering, it covers the field of computer graphics in general. Note that this book has not been updated in some time. PowerPoint figures and source
code are also available.
|
Computer Graphics Using OpenGL, Third Edition, by Francis S. Hill, Jr., Prentice Hall, December 2006.
Starting with 2D and moving to 3D, this book covers the basics of classical computer graphics, though with little coverage of modern interactive techniques. It covers the areas of model representation---polygonal meshes, splines, etc.---more than most texts.
Table of Contents available online.
|
Fundamentals of Computer Graphics, by Peter Shirley, Steve Marschner, et alia, A.K. Peters, July 2009.This book has evolved from a 500-page book that Peter Shirley wrote by himself to a 800-page 3rd edition co-authored with Steve Marschner and with "guest chapters" by ten 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. One minor drawback is the use of color plates, though this reduces the price.
|
API Guides
OpenGL Programming Guide, Seventh Edition, Dave Shreiner, Addison-Wesley, July 2009.
The Red Book, it's the favored guide for understanding OpenGL. Ignore the Amazon ratings, which are more
a function of the OpenGL 3.0 controversy than the book itself.
|
OpenGL
SuperBible, Fifth Edition, by Richard S. Wright Jr., Benjamin Lipchak, Addison-Wesley, August 2010.
If the Red Book fails you, this is the next place to go. The book's source code is online.
|
OpenGL Shading Language, Third Edition, by Randi J. Rost, Bill Licea-Kane, and others, Addison-Wesley, July 2009.A comprehensive guide to GLSL.
|
Introduction to 3D Game Programming with DirectX 10, by Frank D. Luna, Jones & Bartlett, October 2008.From a skim, this looks to be a comprehensive, well-illustrated book of how to do most common interactive rendering algorithms with DirectX 10. There's a good mix of text and code samples.
|
Advanced Texts
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
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.
|
The ShaderX series, and subsequent GPU Pro,
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.
|
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.
|
Game Engine Architecture, by Jason Gregory, A.K. Peters, July 2009.
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.
|
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.
|
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.
|
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, Second Edition, Eric Lengyel, Charles River Media, 2003: more information and source code, Google Books sample
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 deBerg, Otfried Cheong, Marc van Kreveld, and Mark Overmars, Springer Verlag, 2008: look inside, Google Books sample for 2nd Edition
An extensive book on computational geometry, with a focus
on presenting algorithms that are useful. Well researched, well written, well referenced.
No source code, but such code can usually be found elsewhere.
|
Principles of Digital Image Synthesis, by Andrew S. Glassner, Morgan Kaufmann, 1995: Google Books sample
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. Much additional
information and errata is available at the author's website.
|
There are many other good computer graphics texts; these listed are just the ones we know and consider relevant to interactive graphics.
|