Written by a programmer from the DirectX team, this book covers programming pixel and vertex shaders using DirectX 9 (DX9). Assembly and High Level Shading Language (HLSL) are covered equally; we are introduced to assembly vertex and pixel shaders with quite straightforward examples and then are shown HLSL language versions. The book comes with a CD, which includes the DX9 SDK and a set of tutorials and has colour plates illustrating the examples used.
My initial impressions of the book were very high; it's concise and clearly written, something I always look for in a technical book. It assumes a reasonable minimum knowledge on the part of the reader. The book is for a programmer with experience of both Windows and DirectX programming and it concerns itself only with the details of getting the shaders working. The book is informative and definitely advanced my knowledge and confidence in the subject. All the shader versions are covered too.
I was disappointed to find several chapters on using DX 'effects', as I do not consider these to be true components of the DX graphics pipeline and I would have preferred deeper coverage of the uses shaders can be put to. Other little niggles about the book include some typos in the code, which highlight the fact that the code contained in the book has not been compiled.
A large portion of the book is made up of its appendices. These cover an overview of the pipeline's vertex processing and references for the asm shader languages, the HLSL languages and the effects. If these references were thorough, this alone would make the book a useful desktop companion. Instead, many of the references that I consulted gave a short description of the term and then said 'See SDK Reference page for details'. I was also unable to find the details of pairing for the assembly language commands.
In summary, the chapters of the book that are good are very good. Kris Gray covers vertex and pixel shaders written in assembly and HLSL well enough to give a reader with some experience of DirectX and graphics terminology the confidence and understanding to put this technology to use. However shaders are not covered in the depth that they deserve and much of the book is reference material that can be found in the free DirectX 9 Software Developer Kit.