More than 10 years ago DirectX was born to make Windows a good place for gaming. Introduced as part of the Windows 95 it offers fast access to the video hardware. In the following years new DirectX versions hit the market together with more powerful hardware.
The way we have gone so far have started with a simple video adapter. We have seen 2D accelerators before the chip designer adds a third dimension and finally make the graphics adapter programmable. The GPUs were born and Microsoft provides Direct3D 8 to use them.
Six years and two more Direct3D versions later it's time for the next big step. A new Windows version, a new Direct3D and new GPUs come together to move online rendering a bit further again. Now it is up to us developers to make use of this new level of programmability.
To get the most out of this book you need a basic understanding of the math used for 3D rendering. Experience with pervious Direct3D versions or other graphics APIs would be helpful, too.
Beside of these personal requirements you should make sure that your development system meets at least the following requirements:
Beside of the necessary header and linker libraries for the compiler the SDK contains some useful tools that can ease your life. Most of these tools work for Direct3D 9 and Direct3D 10.
With FXC you will find a command line tool that let you use the shader and effect compiler without writing your own code. It can be useful for a quick syntax check or bring your files in a binary form for distribution. It can although generate the assembler code for a HLSL shader but it will not accept such a code as input.
The second tool that you would find useful is PIX. It allows you to record information from your running application and play it back step by step later. During this playback you examine the device state and debug your shaders.