DirectX 10 is an API that allows a Windows application to access a piece of hardware called a GPU (Graphics Processing Unit). The GPU can either be a separate card (like an NVidia 8800 GT card) or the unit can be embedded as part of the CPU chipset (like the GMA X3000).

These GPU are now incredibly complicated and offer many parallel paths. The NVidia 8800 GT contains 128 stream processors each processing data in parallel. Here is the block diagram (courtesy of NVidia) to give you some idea of the chip complexity.

Because the GPU has its own instruction set and its own memory, we have to have a way to indicate what we want the CPU to do and what we want the GPU to do.

DirectX requires a device handle which allows access to the GPU.

This handle must be created prior to accessing the GPU and released once finished with.