Michael Abrash's Graphics Programming Black Book
is a collection of the author's previous books on assembly language and graphics programming, as well as past columns for Dr. Dobb's magazine. Though much of the book (such as 8088/286/386 assembly language optimization and VGA graphics programming) is out-of-date by now, the reader can see some of the larger tendencies in the author's work over the years--a reliance on profiling in order to test code, and creative thinking to improve performance wherever possible. This text features assembler optimization for a variety of problems including searching algorithms, and records the author's approaches to optimizing code for the evolving line of Intel CPUs, from the 8088 on to the early Pentium lines. The last few chapters of this book are more relevant, and include a series of explorations of some of the technology behind the popular Doom and Quake 3-D games by id Corporation (where the author worked). Optimized solutions to 3-D graphics problems from texture mapping, hidden surface removal, and Binary Space Partitioning (BSP) trees are explained. Current gaming and 3-D technology, such as Direct3D and VRML is left out, but it's clear that game programmers like the author will continue to push the limits of current hardware technology in inventive ways. This book is clearly targeted at game developers and serious assembly language programmers, not for the general reader.