DirectX 10: The Future of PC Gaming

Published by

NVIDIA's GeForce 8800 is already here, Vista hits today, and the first DirectX 10 games aren't far away. We take an in-depth look at what DX10 adds to the gaming and graphical experience, from geometry shaders to resources to render targets. Can DX9 continue to cut it? We find out.

One thing that we haven?t really touched on yet is the amount of resources available to the API. DirectX 10 has over a hundred times more resources than the number available in DirectX 9 ? this should help to eradicate the resource limitations that developers often bumped into when programming for DirectX 9. Register space has been massively increased by over two orders of magnitude: temporary registers have increased from 32 to 4096, while constant registers have increased from 256 to 65,536.

When using large numbers of constants for things like the position and colour of lighting, the camera position, view and projection matrices, and other parameters, developers often bumped into the ever-problematic CPU overhead in DirectX 9. DirectX 10 makes use of large constant buffers that group constants together updating them based on their frequency of use.

With Shader Model 4.0, there are a total of 16 constant buffers available to the developer for each shader programme, and each buffer is capable of holding up to 4096 constants. Grouping constants into a single buffer means that you can update all of them using one call to the API.

Bit-Tech