Programming Books C Java PHP Python Learn more Browse Programming Books
  • List Price: $74.99
  • Save: $25.26 (34%)
Only 8 left in stock (more on the way).
Ships from and sold by
Gift-wrap available.
Used: Like New | Details
Sold by Protean Records
Condition: Used: Like New
Comment: Crisp clean and tightly bound, text is unmarked. CD is included and unopened
Access codes and supplements are not guaranteed with used items.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation Hardcover – March 13, 2005

ISBN-13: 978-0321335593 ISBN-10: 0321335597 Edition: First Edition

Buy New
Price: $49.73
25 New from $45.22 26 Used from $2.49 1 Collectible from $20.00
Amazon Price New from Used from
"Please retry"
$45.22 $2.49
"Please retry"

Special Offers and Product Promotions

  • Have the next big idea for a movie? Submit a 2-15 min. concept video to Amazon Studios for a chance to have your movie made. Learn more.

Frequently Bought Together

GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation + Real-Time Rendering, Third Edition
Price for both: $118.97

Buy the selected items together
  • Real-Time Rendering, Third Edition $69.24

Customers Who Bought This Item Also Bought


Shop the New Digital Design Bookstore
Check out the Digital Design Bookstore, a new hub for photographers, art directors, illustrators, web developers, and other creative individuals to find highly rated and highly relevant career resources. Shop books on web development and graphic design, or check out blog posts by authors and thought-leaders in the design industry. Shop now

Product Details

  • Hardcover: 814 pages
  • Publisher: Addison-Wesley Professional; First Edition edition (March 13, 2005)
  • Language: English
  • ISBN-10: 0321335597
  • ISBN-13: 978-0321335593
  • Product Dimensions: 9.4 x 7.5 x 1.6 inches
  • Shipping Weight: 3.3 pounds (View shipping rates and policies)
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (8 customer reviews)
  • Amazon Best Sellers Rank: #123,069 in Books (See Top 100 in Books)

Editorial Reviews

About the Author

Matt Pharr is a software engineer at NVIDIA. Matt is also the coauthor of the book Physically Based Rendering: From Theory to Implementation (Morgan Kaufmann, 2004).

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

Excerpt. © Reprinted by permission. All rights reserved.

The first volume of GPU Gems was conceived in the spring of 2003, soon after the arrival of the first generation of fully programmable GPUs. The resulting book was released less than a year later and quickly became a best seller, providing a snapshot of the best ideas for making the most of the capabilities of the latest programmable graphics hardware.

GPU programming is a rapidly changing field, and the time is already ripe for a sequel. In the handful of years since programmable graphics processors first became available, they have become faster and more flexible at an incredible pace. Early programmable GPUs supported programmability only at the vertex level, while today complex per-pixel programs are common. A year ago, real-time GPU programs were typically tens of instructions long, while this year’s GPUs handle complex programs hundreds of instructions long and still render at interactive rates. Programmable graphics has even transcended the PC and is rapidly spreading to consoles, handheld gaming devices, and mobile phones.

Until recently, performance-conscious developers might have considered writing their GPU programs in assembly language. These days, however, high-level GPU programming languages are ubiquitous. It is extremely rare for developers to bother writing assembly for GPUs anymore, thanks both to improvements in compilers and to the rapidly increasing capabilities of GPUs. (In contrast, it took many more years before game developers switched from writing their games in CPU assembly language to using higher-level languages.)

This sort of rapid change makes a “gems”-style book a natural fit for assembling the state of the art and disseminating it to the developer community. Featuring chapters written by acknowledged experts, GPU Gems 2 provides broad coverage of the most exciting new ideas in the field.

Innovations in graphics hardware and programming environments have inspired further innovations in how to use programmability. While programmable shading has long been a staple of offline software rendering, the advent of programmability on GPUs has led to the invention of a wide variety of new techniques for programmable shading. Going far beyond procedural pattern generation and texture composition, the state of the art of using shaders on GPUs is rapidly breaking completely new ground, leading to novel techniques for animation, lighting, particle systems, and much more.

Indeed, the flexibility and speed of GPUs have fostered considerable interest in doing computations on GPUs that go beyond computer graphics: general-purpose computation on GPUs, or “GPGPU.” This volume of the GPU Gems series devotes a significant number of chapters to this new topic, including an overview of GPGPU programming techniques as well as in-depth discussions of a number of representative applications and key algorithms. As GPUs continue to increase in performance more quickly than CPUs, these topics will gain in importance for more and more programmers because GPUs will provide superior results for many computationally intensive applications.

With this background, we sent out a public call for participation in GPU Gems 2. The response was overwhelming: more than 150 chapters were proposed in the short time that submissions were open, covering a variety of topics related to GPU programming. We were able to include only about a third of them in this volume; many excellent submissions could not be included purely because of constraints on the physical size of the book. It was difficult for the editors to whittle down the chapters to the 48 included here, and we would like to thank everyone who submitted proposals.

The accepted chapters went through a rigorous review process in which the book’s editors, the authors of other chapters in the same part of the book, and in some cases additional reviewers from NVIDIA carefully read them and suggested improvements or changes. In almost every case, this step noticeably improved the final chapter, due to the high-quality feedback provided by the reviewers. We thank all of the reviewers for the time and effort they put into this important part of the production process.

Intended Audience

We expect readers to be familiar with the fundamentals of computer graphics and GPU programming, including graphics APIs such as Direct3D and OpenGL, as well as GPU languages such as HLSL, GLSL, and Cg. Readers interested in GPGPU programming may find it helpful to have some basic familiarity with parallel programming concepts.

Developers of games, visualization applications, and other interactive applications, as well as researchers in computer graphics, will find GPU Gems 2 an invaluable daily resource. In particular, those developing for next-generation consoles will find a wealth of timely and applicable content.

Trying the Examples

GPU Gems 2 comes with a CD-ROM that includes code samples, movies, and other demonstrations of the techniques described in the book. This CD is a valuable supplement to the ideas explained in the book. In many cases, the working examples provided by the authors will provide additional enlightenment. You can find sample chapters, updated CD content, supplementary materials, and more at the book’s Web site,


An enormous amount of work by many different people went into this book. First, the contributors wrote a great collection of chapters on a tight schedule. Their efforts have made this collection as valuable, timely, and thought provoking as it is.

The section editors—Kevin Bjorke, Cem Cebenoyan, Simon Green, Mark Harris, Craig Kolb, and Matthias Wloka—put in many hours of hard work on this project, working with authors to polish their chapters and their results until they shone, consulting with them about best practices for GPU programming, and gently reminding them of deadlines. Without their focus and dedication, we’d still be working through the queue of submissions. Chris Seitz also kindly took care of many legal, logistical, and business issues related to the book’s production.

Many others at NVIDIA also contributed to GPU Gems 2. We thank Spender Yuen once again for his patience while doing a wonderful job on the book’s diagrams, as well as on the cover. Helen Ho also helped with the illustrations as their number grew to more than 150. We are grateful to Caroline Lie and her team for their continual support of our projects. Similarly, Teresa Saffaie and Catherine Kilkenny have always been ready and willing to provide help with copyediting as our projects develop. Jim Black coordinated communication with a number of developers and contributors, including Tim Sweeney, to whom we are grateful for writing a wonderfully focused and astute Foreword.

At Addison-Wesley Professional, Peter Gordon, Julie Nahil, and Kim Boedigheimer oversaw this project and helped to expedite the production pipeline so we could release this book in as timely a manner as possible. Christopher Keane’s copyediting skills and Jules Keane’s assistance improved the content immeasurably, and Curt Johnson helped to market the book when it was finally complete.

The support of several members of NVIDIA’s management team was instrumental to this project’s success. Mark Daly and Dan Vivoli saw the value of putting together a second volume in the GPU Gems series and supported this book throughout. Nick Triantos allowed Matt the time to work on this project and gave feedback on a number of the GPGPU chapters. Jonah Alben and Tony Tamasi provided insightful perspectives and valuable feedback about the chapter on the GeForce 6 Series architecture. We give sincere thanks to Jen-Hsun Huang for commissioning this project and fostering the innovative, challenging, and forward-thinking environment that makes NVIDIA such an exhilarating place to work.

Finally, we thank all of our colleagues at NVIDIA for continuing to push the envelope of computer graphics day by day; their efforts make projects like this possible.

Matt Pharr
NVIDIA Corporation

Randima (Randy) Fernando
NVIDIA Corporation

More About the Author

Matt Pharr is a Principal Engineer at Intel and the lead graphics architect in the Advanced Rendering Technology group, which researches new interactive graphics algorithms and programming models. He previously co-founded Neoptica, which developed new programming models for graphics on heterogeneous CPU+GPU systems; Neoptica was acquired by Intel.

Before Neoptica, Matt was in the Software Architecture group at NVIDIA, co-founded Exluna (acquired by NVIDIA), worked in Pixar's Rendering R&D group, and received his PhD from the Stanford Graphics Lab.

Customer Reviews

4.4 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See all 8 customer reviews
Generally, the material is extremely current and very approachable to read.
J. Jessup
The final part of the book has 6 chapters that present GPGPU techniques to perform a variety of simulation and numerical algorithms on the GPU.
Martin Ecker
This collection, even if hit-or-miss for any one reader's needs, does its part to collect today's techniques and to disseminate that knowledge.

Most Helpful Customer Reviews

25 of 25 people found the following review helpful By J. Jessup on May 31, 2005
Format: Hardcover
"GPU Gems 2" edited by Matt Pharr (Addison-Wesley, 2005, ISBN 0-321-33559-7) is a collection of forty-eight white papers that detail cutting edge techniques based on today's latest graphical processing units (GPU). The full color hardcover text is 784 pages and includes a CD-ROM with working demos and source for some of the articles presented in the book. The text retails for $59.99.

The book is divided into six parts: geometric complexity, shading, high-quality rendering, general purpose computation on the GPU, image oriented computing, and numerical algorithms. A part has anywhere from five to twelve chapters. Each chapter is written by a different author but the format and style is consistent. The chapters have an introduction, discussion of the problem or technique, conclusion, and references. The material is presented with color illustrations and occasionally some pseudo-code or code fragments. Generally, the material is extremely current and very approachable to read.

As a sequel to its well received predecessor, the text focuses on taking advantage of the computational power and features of today's high-powered GPU boards. The first part of the book, geometric complexity, emphasizes this with chapters dedicated to batch rendering, using multi-streaming, hardware occlusion, and displacement pixel-shaders. Each chapter illustrates how operations traditionally performed on the CPU can be moved into the GPU for efficiency and greater effect.

The subsequent two parts on shading and rendering continue along the same theme: improved performance by using hardware functionality found on the GPU.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
7 of 8 people found the following review helpful By Martin Ecker on December 20, 2005
Format: Hardcover
This book is the second installment of the GPU Gems book series by NVIDIA. Just like the first book, GPU Gems 2 is a collection of articles by various authors from game development companies, academia, and tool developers on advanced techniques for programming graphics processing units (or GPUs for short). It is aimed at intermediate to advanced graphics developers that are familiar with the most common graphics APIs. The reader should also be proficient in C++. As with the first GPU Gems book, GPU Gems 2 is not for beginners. For professional graphics and game developers, however, it is an excellent collection of interesting techniques, tips, and tricks.

The book is divided into six parts, each dealing with a different aspect of GPU programming. Compared to the first book, more emphasis is put on the quickly evolving area of general-purpose computation on GPUs (also called GPGPU). In particular, the last three of the six parts of the book are about GPGPU and its applications. The first three parts, however, are about real-time computer graphics.

The first part of the book contains 8 chapters on photo-realistic rendering that mostly deal with how to efficiently render a large number of objects in a scene, which is a necessity for rendering convincing natural effects, such as grass or trees. Two chapters in this part of the book discuss geometry instancing and segment buffering, and another chapter focuses on using occlusion queries to implement coherent hierarchical occlusion culling.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
11 of 14 people found the following review helpful By calvinnme HALL OF FAMETOP 1000 REVIEWERVINE VOICE on March 14, 2006
Format: Hardcover
Truly Matt Pharr and NVIDIA are at the top of their game, and his "GPU Gems" series is certainly the only one of its kind for graphics professionals that are familiar with GPU's and shading languages already, and want to exploit them for the maximum speed and effect achievable using today's technology. It is not a "how-to" book on shading or GPUs or even advanced graphics. There are equations and code interspersed throughout the book, with bits of wisdom that are very instructive for the initiated. However, if you are a home-grown graphics programmer who knows C, or C++, or Java, and even some assembly language, plus you are familiar with image processing and computer graphics techniques, that will probably not be enough to get you through this book. I would say that this is a five star book for high-level professional graphics programmers who work with GPU specifics and shaders daily, and I would say it is a two or three star book for everyone else.
The one section of the book that is pretty accessible to anyone with knowledge of computer architecture and computer graphics would be section 4 of the book, which is about general purpose computation on GPU's themselves. That section has a series of articles that comprise an excellent tutorial on GPU's, what they are, and what they can do. It is the best material in print I have seen on the subject.
If you want a good introduction into the concept of writing shaders plus practice with an actual shading language, try "OpenGL Shading Language, 2nd Edition" by Rost, assuming you already know OpenGL. For a great on-line resource for modeling and graphics that will get you going in the right direction of knowing what the authors of these articles know, type "Elias Hugo" into Google and check out the first address shown.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

What Other Items Do Customers Buy After Viewing This Item?