Textbook (Hardcover - Book & CD-ROM)
Textbook Information
This book/CD-ROM package describes real-time graphics techniques arising from the research and practice of cutting-edge developers. The book focuses on the programmable graphics pipeline available in today's graphics processing units (GPUs) and highlights tricks used by leading developers as well as fundamental, performance-conscious techniques for creating advanced visual effects. Color examples illustrate techniques on almost every page, and the accompanying CD-ROM contains examples and sample programs. Fernando is affiliated with NVIDIA, as are many of the contributors. Annotation ©2004 Book News, Inc., Portland, OR
Slashdot.org
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.
Randima (Randy) Fernando is Manager of Developer Education at NVIDIA.
Reader Rating:
See Detailed Ratings
May 17, 2004: ?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.
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.
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.
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.
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.
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.
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...