Author: Randima Fernando (Series Editor)
Publisher: Addison Wesley, 2004
Aimed at: Advanced graphics programmers
Pros: An excellent collection of advanced papers on GPU programming
Cons: Focuses on NVidia architecture
Reviewed by: Mike James
If you have missed what has been happening in the world of high performance graphics, then this book, which is also available online on the NVidia Developer Zone, will whet your appetite.
However it isn't a beginner's book and you will have to do some additional work before any of it makes very much sense. The point is that a modern Graphics Processing Unit GPU is now programmable. You can write vertex and pixel shaders to create custom special effects that involve lighting and textures. Lots of the papers in this book are concerned with how to create such shaders. Topics range from simulating water to, advanced lighting, skin tones and so on. The book is illustrated in full colour and listings are provided.
A CD bound into the back provides the programs but unless you have the right graphics card, at least a GeForceFX, you won't be able to run the programs. A few more sample stills or videos on the CD would have been helpful. Each paper is written by a different expert and hence the quality and style is very variable. Most of the papers are very heavy on maths and most expect you to know a lot about graphics.
There is a second thread to this book that is worth knowing about. A modern GPU is a powerful number crunching chip capable of general computations. Some of the papers deal with its use in general image processing, solving the Navier Stokes equation and ultra sound imaging.
If you think that high performance graphics cards are just for games then these papers will put ideas into your head. The GPU could well have serious applications in image processing, solving equations, signal processing, cryptography and number crunching in general.
This book, which is the first of a three-volume set all of which cover that cover programming techniques for high-performance graphics and general-purpose computation, is advanced and has value to two potential audiences. If you are a 3D graphics expert just buy it. If you are a numerate programmer and want your imagination stimulated then again this is an excellent book.