GPU Gems 2


The entire text of GPU Gems 2 is now available to be read for free in HTML format. Click here to begin reading the first section, "Geometric Complexity."

Cover_200.jpggd-fl-finalist05.gifWelcome to the home page for GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation. GPU Gems 2 is hard bound, approximately 880 pages, and in full color throughout, with over 300 diagrams and screenshots. It was released at the 2005 Game Developers Conference (March 7 - 11, 2005) and was the best-selling book at the show. We invite you to take a look through this page to learn more about the book.

Latest News

Quick Links

Sample Material

From the Back Cover:


This sequel to the best-selling, first volume of GPU Gems details the latest programming techniques for today’s graphics processing units (GPUs). As GPUs find their way into mobile phones, handheld gaming devices, and consoles, GPU expertise is even more critical in today’s competitive environment. Real-time graphics programmers will discover the latest algorithms for creating advanced visual effects, strategies for managing complex scenes, and techniques for advanced image processing. Readers will also learn new methods for using the substantial processing power of the GPU in other computationally intensive applications, such as scientific computing and finance. Twenty of the book’s forty-eight chapters are devoted to GPGPU programming, from basic concepts to advanced techniques. Written by experts in cutting-edge GPU programming, this book offers readers practical means to harness the enormous capabilities of GPUs.

GPU Gems 2
 includes contributors from:

1C: Maddox Games

Siemens Corporate Research


Siemens Medical Solutions


Simutronics Corporation

Armstrong State University

Sony Pictures Imageworks

Climax Entertainment

Stanford University


Stony Brook University


Technische Universität München

ETH Zurich

University of California, Davis


University of North Carolina at Chapel Hill

GSC Game World

University of Potsdam

Lionhead Studios

University of Tokyo

Lund University

University of Toronto
Massachusetts Institute of Technology University of Utah
mental images University of Waterloo
Microsoft Research University of Virginia
NVIDIA Corporation Vienna University of Technology
Piranha Bytes VRVis Research Center


GPU Gems 2 is edited by Matt Pharr, Software Engineer at NVIDIA. Matt is also the coauthor of Physically Based Rendering: From Theory to Implementation (Morgan-Kaufmann 2004).

The GPU Gems series editor is Randima Fernando, Manager of Developer Education at NVIDIA. Randy edited the first volume of GPU Gems (Addison-Wesley, 2004) and coauthored The Cg Tutorial (Addison-Wesley, 2003) with Mark J. Kilgard.

Section editors include NVIDIA engineers:
Kevin Bjorke, Cem Cebenoyan, Simon Green, Mark Harris, Craig Kolb, and Matthias Wloka.


GPU Gems 2 isn’t meant to simply adorn your bookshelf—it’s required reading for anyone trying to keep pace with the rapid evolution of programmable graphics. If you’re serious about graphics, this book will take you to the edge of what the GPU can do.”

     – Rémi Arnaud, Graphics Architect at Sony Computer Entertainment

“The topics covered in GPU Gems 2 are critical to the next generation of game engines.”

     - Gary McTaggart, Software Engineer at Valve, Creators of Half-Life and Counter-Strike

Table of Contents


Towards Photorealism in Virtual Botany
David Whatley (Simutronics Corporation)

Terrain Rendering using GPU-Based Geometry Clipmaps
Arul Asirvatham and Hugues Hoppe (Microsoft Research)

Inside Geometry Instancing
Francesco Carucci (Lionhead Studios)

Segment Buffering
Jon Olick (2015)

Optimizing Resource Management with Multi-Streaming
Kurt Pelzer and Oliver Hoeller (Piranha Bytes)

Hardware Occlusion Queries Made Useful
Michael Wimmer and Jiri Bittner (Vienna University of Technology)

Adaptive Tessellation of Subdivision Surfaces with Displacement Mapping
Michael Bunnell (NVIDIA Corporation)

Per-Pixel Displacement Mapping with Distance Functions
William Donnelly (University of Waterloo)


Deferred Shading in STALKER
Oles Shishkovtsov (GSC Game World)

Real-Time Computation of Dynamic Irradiance Environment Maps
Gary King (NVIDIA Corporation)

Approximate Bidirectional Texture Functions
Jan Kautz (Massachusetts Institute of Technology)

Tile-Based Texture Mapping
Li-Yi Wei (NVIDIA Corporation)

Implementing the Mental Images Phenomena Renderer on the GPU
Martin-Karl Lefrançois (mental images)

Dynamic Ambient Occlusion and Indirect Lighting
Michael Bunnell (NVIDIA Corporation)

Blueprint Rendering and "Sketchy Drawings"
Marc Nienhaus and Jürgen Döllner (University of Potsdam)

Accurate Atmospheric Scattering
Sean O'Neil

Efficient Soft-Edged Shadows Using Pixel Shader Branching
Yury Uralsky (NVIDIA Corporation)

Using Vertex Texture Displacement for Realistic Water Rendering
Yuri Kryachko (1C: Maddox Games)

Generic Refraction Simulation
Tiago Sousa (Crytek)


Fast Third-Order Texture Filtering
Christian Sigg (ETH Zurich) and Markus Hadwiger (VRVis Research Center)

High Quality Antialiased Rasterization
Dan Wexler and Eric Enderton (NVIDIA Corporation)

Fast Prefiltered Lines
Eric Chan and Frédo Durand (Massachusetts Institute of Technology)

Hair Animation and Rendering in the Nalu Demo
Hubert Nguyen and William Donnelly (NVIDIA Corporation)

Using Lookup Tables to Accelerate Color Transformations
Jeremy Selan (Sony Pictures Imageworks)

GPU Image Processing in Apple's Motion
Pete Warden (Apple)

Implementing Improved Perlin Noise
Simon Green (NVIDIA Corporation)

Advanced High-Quality Filtering
Justin Novosad (discreet)

Mipmap Level Measurement
Iain Cantlay (Climax Entertainment)


Streaming Architectures and Technology Trends
John Owens (University of California, Davis)

The GeForce 6 Series GPU Architecture
Emmett Kilgariff and Randima Fernando (NVIDIA Corporation)

Mapping Computational Concepts to GPUs
Mark Harris (NVIDIA Corporation)

GPU Computation Strategies and Tips
Ian Buck (Stanford University)

Implementing Efficient Parallel Data Structures on GPUs
Aaron Lefohn (University of California, Davis), Joe Kniss (University of Utah), John Owens (University of California, Davis)

GPU Flow Control Idioms
Mark Harris (NVIDIA Corporation) and Ian Buck (Stanford University)

GPU Program Optimization
Cliff Woolley (University of Virginia)

Stream Reduction Operations for GPGPU Applications
Daniel Horn (Stanford University)


Octree Textures on the GPU
Sylvain Lefebvre, Samuel Hornus, and Fabrice Neyret (GRAVIR/IMAG - INRIA)

High-Quality Global Illumination Rendering Using Rasterization
Toshiya Hachisuka (The University of Tokyo)

Global Illumination using Progressive Refinement Radiosity
Greg Coombe (University of North Carolina at Chapel Hill) and Mark Harris (NVIDIA Corporation)

Computer Vision on the GPU
James Fung (University of Toronto)

Deferred Filtering: Rendering from Difficult Data Formats
Joe Kniss (University of Utah), Aaron Lefohn, and Nathaniel Fout (University of California, Davis)

Conservative Rasterization
Jon Hasselgren, Tomas Akenine-Möller, and Lennart Ohlsson (Lund University)


GPU Computing for Protein Structure Prediction
Paulius Micikevicius (Armstrong Atlantic State University)

A GPU Framework for Solving Systems of Linear Equations
Jens Krüger and Rüdiger Westermann (Technische Universität München)

Options Pricing on the GPU
Craig Kolb and Matt Pharr (NVIDIA Corporation)

Improved GPU Sorting
Peter Kipfer and Rüdiger Westermann (Technische Universität München)

Flow Simulation with Complex Boundaries
Wei Li (Siemens Corporate Research), Zhe Fan, Xiaoming Wei, and Arie Kaufman (Stony Brook University)

Medical Image Reconstruction with the FFT
Thilaka Sumanaweera and Donald Liu (Siemens Medical Solutions USA, Inc.)