GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics / Edition 1

Hardcover (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $18.00
Usually ships in 1-2 business days
(Save 75%)
Other sellers (Hardcover)
  • All (8) from $18.00   
  • New (2) from $75.15   
  • Used (6) from $18.00   
Sort by
Page 1 of 1
Showing 1 – 1 of 2
Note: Marketplace items are not eligible for any coupons and promotions
Seller since 2008

Feedback rating:



New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.


Ships from: Chicago, IL

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing 1 – 1 of 2
Sort by


GPU Gems has won a prestigious Front Line Award from Game Developer Magazine. The Front Line Awards recognize products that enable faster and more efficient game development, advancing the state of the art.


“This collection of articles is particularly impressive for its depth and breadth. The book includes product-oriented case studies, previously unpublished state-of-the-art research, comprehensive tutorials, and extensive code samples and demos throughout.”
—Eric Haines, Author of Real-Time Rendering
GPU Gems is a cool toolbox of advanced graphics techniques. Novice programmers and graphics gurus alike will find the Gems practical, intriguing and useful.”
—Tim Sweeney, Lead Programmer of Unreal at Epic Games

GPU Gems is a compilation of articles covering practical real-time graphics techniques arising from the research and practice of cutting-edge developers. It focuses on the programmable graphics pipeline available in today’s graphics processing units (GPUs) and highlights quick and dirty tricks used by leading developers, as well as fundamental, performance-conscious techniques for creating advanced visual effects. The contributors and editors, collectively, bring countless years of experience to enlighten and propel the reader into the fascinating world of programmable real-time graphics.

Major topics covered include:

  • Natural effects
  • Lighting and shadows
  • Materials
  • Image processing
  • Performance and practicalities
  • Beyond triangles

Contributors are from the following universities and corporations:

  • Alias Systems
  • Brown University
  • Croteam
  • Cyan Worlds
  • Hochschule Bremen
  • Industrial Light & Magic
  • Monolith Productions
  • New York University
  • Novarama
  • Paralelo Computacao
  • Piranha Bytes
  • Pixar Animation Studios
  • Siemens Medical Solutions
  • Softimage Co.
  • Softlab-NSK
  • Sony Pictures Imageworks
  • Stanford University
  • UC Davis
  • UNC-Chapel Hill
  • Universitat Pompeu Fabra
  • University of Utah
  • University of Waterloo

The accompanying CD-ROM includes complementary examples and sample programs.

Read More Show Less

Editorial Reviews

From The Critics
This is a great book that every programmer involved in game development and/or real-time computer graphics should have on his/her shelf. For the game programmer it is critical to stay up-to-date with the latest and greatest effects available with modern GPUs in order to remain competitive when creating the gaming experience. For the graphics developer, it is interesting to see how the immense processing power of current graphics hardware can be exploited in graphics applications. This book offers insight on both of these topics and more, and I highly recommend it.
Read More Show Less

Product Details

  • ISBN-13: 9780321228321
  • Publisher: Addison-Wesley
  • Publication date: 3/26/2004
  • Edition description: Book & CD-ROM
  • Edition number: 1
  • Pages: 765
  • Product dimensions: 7.62 (w) x 9.50 (h) x 1.40 (d)

Meet the Author

Randima (Randy) Fernando is Manager of Developer Education at NVIDIA.

Read More Show Less

Read an Excerpt

This book is an extensive and practical collection of articles about real-time computer graphics, accumulating the knowledge and experience of experts in both industry and academia. Building, in the same style, upon the wealth of the great "Gems" books already available, GPU Gems is a collection of short chapters. However, a number of key characteristics make this book unique and valuable to today's developers as they attempt to harness the ever-increasing power of the graphics processing unit (GPU).

First and foremost, this book focuses squarely on real-time programmable graphics—specifically, on techniques relevant to GPUs. Each chapter was carefully selected to present ideas and techniques that are directly useful in interactive applications, such as computer games. The chapters provide insight and understanding, rather than focusing on low-level API calls or specific mathematical tricks. Furthermore, each chapter is packed with numerous full-color diagrams and images to illustrate and drive home key concepts. Finally, the experience and diversity of the contributors help readers gain a broad understanding, as well as a certain confidence that the advice they are getting comes from experts in the field.

NVIDIA's strongest asset is its people: the depth and quality of their collective expertise inspired the initial idea for GPU Gems. With so much knowledge and expertise at hand, we felt that the thoughts and insights of the teams that brought us many recent advances in real-time graphics would make for a wonderfully instructive book. So, we started the project with an internal call for participation.

Having the good fortune to work with people fromleading game development houses, tool developers, film studios, and academic institutions who are shaping the future of real-time computer graphics, we also wanted to highlight their real-world contributions in GPU Gems. Hence, a wider, public call for participation allowed us to coalesce a great amount of talent and refreshing perspective into this volume.

Whether you're creating new effects, architecting a graphics engine, or squeezing out the last bits of performance, we hope that this book provides valuable guidance and saves you from some of the challenges the authors faced on their own projects. All of us who worked on GPU Gems hope that it will help you to adopt new ideas and take your projects to the next level of graphical realism.
Our Intended Audience

This book provides intermediate and advanced readers with useful information that will help them in their projects. Focusing beyond the fundamentals of high-level shading, GPU Gems looks at how to take existing projects further by removing the mystery behind complex effects and advanced GPU programming. With the rapid evolution of real-time shading languages, the collection of algorithms available to real-time graphics developers is larger than ever. By compiling and distributing the information in this book, our goal is to make high-quality, high-performance graphics more accessible to a wider audience that includes game developers, technical directors, professors, and students. Trying the Examples

Many of the chapters in this book include code samples to make their subject matter more concrete. The authors used whichever shading language they wanted, so the code samples ended up in DirectX 9's High-Level Shader Language (HLSL) or Cg, which were the only two high-level shading languages widely in use during this project. Almost everything that is presented can be applied to either language, as well as to languages that came later, such as the OpenGL Shading Language. The code samples are available on the CD that accompanies this book, along with standalone examples wherever possible. This makes it easy for you to integrate or experiment with the various examples. Updated sample code, as well as additional supplementary materials, is available at the book's Web site:
Randima (Randy) Fernando
NVIDIA Corporation

Read More Show Less

Table of Contents





1. Effective Water Simulation from Physical Models, Mark Finch, (Cyan Worlds).

Goals and Scope.

The Sum of Sines Approximation.


Runtime Processing.



2. Rendering Water Caustics, Juan Guardado, (NVIDIA) and Daniel Sanchez-Crespo, (Universitat Pompeu Fabra/Novarama Technology).


Computing Caustics.

Our Approach.

Implementation Using OpenGL.

Implementation Using a High-Level Shading Language.



3. Skin in the "Dawn" Demo, Curtis Beeson, (NVIDIA) and Kevin Bjorke, (NVIDIA).


Skin Shading.

Lighting the Scene.

How Skin Responds to Light.




4. Animation in the "Dawn" Demo, Curtis Beeson, (NVIDIA).


Mesh Animation.

Morph Targets.




5. Implementing Improved Perlin Noise, Ken Perlin, (New York University).

The Noise Function.

The Original Implementation.

Deficiencies of the Original Implementation.

Improvements to Noise.

How to Make Good Fake Noise in Pixel Shaders.

Making Bumps Without Looking at Neighboring Vertices.



6. Fire in the "Vulcan" Demo, Hubert Nguyen, (NVIDIA).

Creating Realistic Flames.

Implementing Animated Sprites.

Particle Motion.


Post-Rendering Effects.


7. Rendering Countless Blades of Waving Grass. Kurt Pelzer, (Piranha Bytes).



Preparation of the Grass Objects.



Further Reading.

8. Simulating Diffraction, Jos Stam, (Alias Systems).

What Is Diffraction?






9. Efficient Shadow Volume Rendering, Morgan McGuire, (Brown University).


Program Structure.

Detailed Discussion.


Geometry Optimizations.

Fill-Rate Optimizations.

Future Shadows.


10. Cinematic Lighting, Fabio Pellacini and Kiril Vidimce, (Pixar Animation Studios).


A Direct Lighting Illumination Model.

The Uberlight Shader.

Performance Concerns.



11. Shadow Map Antialiasing, Michael Bunnell, (NVIDIA) and Fabio Pellacini, (Pixar Animation Studios).


Percentage-Closer Filtering.

A Brute-Force Implementation.

Using Fewer Samples.

Why It Works.



12. Omnidirectional Shadow Mapping, Philipp S. Gerasimov, (


The Shadow-Mapping Algorithm.


Adding Soft Shadows.



13. Generating Soft Shadows Using Occlusion Interval Maps, William Donnelly, (University of Waterloo) and Joe Demers, (NVIDIA).

The Gas Station.

The Algorithm.

Creating the Maps.





14. Perspective Shadow Maps: Care and Feeding, Simon Kozlov, (SoftLab-NSK).


Problems with the PSM Algorithm.

Tricks for Better Shadow Maps.



15. Managing Visibility for Per-Pixel Lighting, John O'Rorke, (Monolith Productions).

Visibility in a GPU Book?

Batches and Per-Pixel Lighting.

Visibility As Sets.

Generating Sets.

Visibility for Fill Rate.

Practical Application.




16. Real-Time Approximations to Subsurface Scattering, Simon Green, (NVIDIA).

The Visual Effects of Subsurface Scattering.

Simple Scattering Approximations.

Simulating Absorption Using Depth Maps.

Texture-Space Diffusion.



17. Ambient Occlusion, Matt Pharr, (NVIDIA) and Simon Green, (NVIDIA).


The Preprocessing Step.

Hardware-Accelerated Occlusion.

Rendering with Ambient Occlusion Maps.


Further Reading.

18. Spatial BRDFs. David McAllister, (NVIDIA

What Is an SBRDF?

Details of the Representation.

Rendering Using Discrete Lights.

Rendering Using Environment Maps.



19. Image-Based Lighting, Kevin Bjorke, (NVIDIA).

Localizing Image-Based Lighting.

The Vertex Shader.

The Fragment Shader.

Diffuse IBL.


Using Localized Cube Maps As Backgrounds.


Further Reading.

20. Texture Bombing, R. Steven Glanville, (NVIDIA).

Texture Bombing.

Technical Considerations.

Advanced Features.




21. Real-Time Glow, Greg James, (NVIDIA) and John O'Rorke, (Monolith Productions).

Overview of the Technique.

Rendering Glows: Step by Step.

Hardware-Specific Implementations.

Other Uses for Blur.

Adding the Effects to a Game Engine.



22. Color Controls, Kevin Bjorke, (NVIDIA).


Channel-Based Color Correction.

Multichannel Color Correction and Conversion.


23. Depth of Field: A Survey of Techniques, Joe Demers, (NVIDIA).

What Is Depth of Field?

Ray-Traced Depth of Field.

Accumulation-Buffer Depth of Field.

Layered Depth of Field.

Forward-Mapped Z-Buffer Depth of Field.

Reverse-Mapped Z-Buffer Depth of Field.



24. High-Quality Filtering, Kevin Bjorke, (NVIDIA).

Quality vs. Speed.

Understanding GPU Derivatives.

Analytical Antialiasing and Texturing.



25. Fast Filter-Width Estimates with Texture Maps, Matt Pharr, (NVIDIA).

The Need for Derivatives in Shaders.

Computing Filter Width with Textures.


Further Reading.

26. The OpenEXR Image File Format, Florian Kainz, Rod Bogart, and Drew Hess, (Industrial Light and Magic).

What Is OpenEXR?

The OpenEXR File Structure.

OpenEXR Data Compression.

Using OpenEXR.

Linear Pixel Values.

Creating and Using HDR Images.



27. A Framework for Image Processing, Frank Jargstorff, (NVIDIA).


Framework Design.


A Sample Application.

Performance and Limitations.




28. Graphics Pipeline Performance, Cem Cebenoyan, (NVIDIA).


Locating the Bottleneck.




29. Efficient Occlusion Culling, Dean Sekulic, (Croteam).

What Is Occlusion Culling?

How Does Occlusion Query Work?

Beginning to Use Occlusion Queries.

One Step Further.

A Word About Bounding Boxes.

Other Issues.

A Little Reminder.

An Application: Lens Flares.



30. The Design of FX Composer, Christopher Maughan, (NVIDIA).

Tools Development.

Initial Features and Target Audience.

Object Design.

File Format.

User Interface.

Direct3D Graphics Implementation.

Scene Management.



31. Using FX Composer, Christopher Maughan, (NVIDIA).

Getting Started.

Sample Project.


32. An Introduction to Shader Interfaces, Matt Pharr, (NVIDIA).

The Basics of Shader Interfaces.

A Flexible Description of Lights.

Material Trees.



33. Converting Production RenderMan Shaders to Real-Time, Stephen Marshall, (Sony Pictures Imageworks).



The Vertex Program vs. the Fragment Program.

Using Vertex and Fragment Programs.

Optimization Techniques on the Fragment Program.

Results and Conclusions.


34. Integrating Hardware Shading into Cinema 4D, Jorn Loviscach, (Hochschule Bremen).


Connecting Cinema 4D to CgFX.

Shader and Parameter Management.

Emulating the Offline Renderer.

Results and Performance.

Lessons Learned.


35. Leveraging High-Quality Software Rendering Effects in Real-Time Applications, Alexandre Jean Claude, and Marc Stevens, (Softimage).


The Content Pipeline for Hardware Rendering.

Components of Hardware Rendering.

Generating the Components.

Test Case and Results.



36. Integrating Shaders into Applications, John O'Rorke, (Monolith Productions).


About Shaders.

The Anatomy of an Effect File.

Types of Shader Data.

Communicating with the Shader.

Extending the Effect File Format.




37. A Toolkit for Computation on GPUs, Ian Buck, and Tim Purcell, (Stanford University).

Computing with the GPU.


Sort and Search.



Further Reading.

38. Fast Fluid Dynamics Simulation on the GPU, Mark J. Harris, (University of North Carolina at Chapel Hill).


Mathematical Background.






39. Volume Rendering Techniques, Milan Ikits, (University of Utah), Joe Kniss, (University of Utah), Aaron Lefohn, (University of California, Davis) and Charles Hansen, (University of Utah).


Volume Rendering.

Texture-Based Volume Rendering.

Implementation Details.

Advanced Techniques.

Performance Considerations.



40. Applying Real-Time Shading to 3D Ultrasound Visualization, Thilaka Sumanaweera, (Siemens Medical Solutions USA, Inc.).






41. Real-Time Stereograms, Fabio Policarpo, (Paralelo Computacao Ltda.).

What Is a Stereogram?

Creating a Single-Image Stereogram.

Sample Application.


42. Deformers, Eugene d'Eon, (University of Waterloo).

What Is a Deformer?

Deforming on the GPU.



Example: Wave Deformer.



Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Anonymous

    Posted May 17, 2004

    Great spectrum of visual effects!

    ¿GPU Gems¿ edited by Randima Fernando (Addison-Wesley, 2004, ISBN 0-321-22832-4) is a collection of white papers describing techniques and practical applications useful in today¿s programmable graphical processing units. The full color hardcover text is 816 pages and includes a CD-ROM that includes working demos and source for most of the articles presented in the book. The text retails for $59.99. <p> The text is divided into six major parts: natural effects, lighting and shadows, materials, image progressing, performance and practicalities, and beyond triangles. Each part has anywhere between 5 to 9 chapters (for an overall total of 42 chapters). The chapters are separate white papers related to the overall part¿s major topic. For example, the natural effects part contains chapters on water caustics, Perlin noise, creating realistic fire, and diffraction just to name a few. <p> Generally, each chapter has an introduction, a background with some mathematics, an implementation occasionally with some partial source code, a conclusion, and key references. While a different author writes each chapter, the overall feel of the book is consistent and smooth. The chapters read very similar to a SIGGRAPH paper without as much math or specific detail. <p> Take for example, the chapter on stereograms ¿ a process by which a 2D image encodes stereo information that when viewed correctly reveals a 3D scene. The chapter has brief background section that includes several helpful color examples. The author discusses how to create such an image using the fragment program capabilities of a GPU using the z-buffer as a depth map and provides a demo program on the CD. Many of the articles follow the same format ¿ enough of a topic to provide understanding, but not enough depth to be comprehensive or fully instructional. <p> The topics presented are extremely current. Many of the samples provided on the CD required the latest video hardware (GeForce4 or better) and latest drivers to run. The sample programs and demos require shader support, Cg, OpenGL, or the latest version of DirectX to run. On the plus side, the majority of the companion topics included pre-compiled binaries (but not the runtime dynamic link libraries) or an AVI illustrating the subject in addition to the source code. While the CD contains over 600 MB of examples from the text, it provided only 23 of the 42 topics covered in the book. Since most of the articles provide an overview and references to a topic, additional material on the CD would have been beneficial. <p> The majority of the contributors are from the Nvidia Corporation which causes the book to bias toward their hardware and developer tools. In fact, one of the chapters is featured FX Composer, Nvidia¿s shader tool. The source code is a mixture of different shader languages from Microsoft¿s HLSL to Nvidia¿s Cg ¿ with various authors using whatever was comfortable or convenient. Although the majority of the material presented is applicable to other hardware, it is critical to have a broad understanding of various shader languages if porting to specific hardware is important. <p> I found the wide range of subjects quite interesting ¿ and was refreshed that the topics actually seemed ¿ahead of the curve¿ in terms of hardware requirements. However in order to provide more subject depth, it seemed that the text could have been split into two volumes in order to expand the existing chapters with sufficient depth. As the material is just enough to get one started, the subject treatment may disappoint some readers seeking to apply the clever and unique techniques presented in the book directly or those hoping to use the book as an opportunity to learn some of the advanced features provided in a programming graphical processing unit.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)