D3DBook:Introduction

From GDWiki
Jump to: navigation, search

Chapter 1: Introduction

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.

What you need

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:

  • A CPU with at least 1.6 GHz
  • 500 MB free hard disk space
  • At least 512 MB of System RAM
  • Released Version Windows Vista
  • The DirectX SDK for June 2007 or newer.
  • Visual Studio 2005 SP1
  • A Direct3D 10 compatible graphics adapter like the nvidia GeForce 8xxx or AMD HD X2xxx Series with Direct3D 10 capable drivers.
  • You can work without a Direct3D 10 graphics adapter after you have installed the DirectX SDK. As part of this installation it provides an emulation of such an adapter. Unfortunately this reference implementation is very slow and therefore it is not recommend using it for active development.

Use the DirectX SDK

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.

Personal tools