I was very disappointed by this book. It follows the same pattern of several books in the AndréLaMothe 'Game Development' series, by devoting too much of the book to irrelevant material. By the author's own admission almost 55% of this book has nothing whatsoever to do with special effects programming; on page 426 of the book's 913 pages the author says 'One part down, two to go! Now its time to sink your teeth into some actual special effects code.' The first 426 pages covered introduction to Windows, matrices, vectors, DirectX, etc. It seems that games programming has not yet matured enough to warrant anything like the 'Advanced C++' series. Instead we must be content with books that are written for beginners and therefore assume no prior knowledge about any aspect of the subject.
The remaining chapters of the book cover 2D and 3D effects. Many of these effects are implemented in software, which is fine if the entire purpose of your application is to showcase that effect. However as the book is purporting to be for games programmers, I would question whether any game could afford the luxury of this expensive processing. Of the effects that are covered, nothing is covered in great detail, or with professional applications in mind.
Pixel and vertex shaders, which allow graphics hardware to be programmed, are mentioned, but poorly covered, given the utmost importance of these to modern game engines. They are lumped together into a short final chapter. Many of the special effects the author illustrated could have been written as pixel or vertex programs. This might have made the book more appealing to a professional programmer keen to move into these areas.
The book's appendices then go on to 'cover' C++ and the STL. This is unnecessary and irrelevant in a text on special effects in DirectX and a waste of the buyer's money. References to several good texts are all that is needed.
If you are going to write a book on special effects and claim that it is for professional games programmers, then I think it would be best to address the subject in a slightly more abstract way; you could mention where a particular API allows certain optimisations, or has a useful feature, but there is no particular link between DirectX and special effects. Your code will have to be top notch and you will need to show how it circumvents common problems relevant to its area.
Alternatively, if you are going to write a book on DirectX programming, decide beforehand if you are writing for the professional coder who uses DirectX for a living and who will expect you to reveal tricks and areas not fully documented, or if you are writing for someone new to the subject, who may need to be walked through their first DirectX application.
The series editor clearly disagrees with me on this book however. In the preface he says:
'This book is without doubt a secret weapon...you will have cutting-edge knowledge of 3D techniques that leverage DirectX and will amaze your friends and get you lots of dates with hot women...I mean no one has EVER done a book like this...killer stuff! ... It has been a pleasure developing this book and reading the chapters late at night while roller-blading on the empty streets...' Need I say more?
As a final criticism, the book is already dated; DirectX 9.0 is already old news, with 10 in testing. The author could perhaps have written a useful reference text on implementing special effects, which would have aged well. Now however it is destined to lie on my shelf alongside my DirectX 5 and DirectX 7 tomes, gathering dust.