DirectX 10 & the Future of Gaming

How is DirectX 10 and its Unified Architecture going to benefit gamers? What is the gamer going to need to take and advantage of it? We recently sat down with ATI and talked about DirectX 10 and how their next generation desktop GPU will benefit.

Introduction

DirectX and Shader Models; if you have been following PC gaming in the last few years you have been exposed to a lot of hoopla over both of these. There have been promises of “cinematic” gaming consisting of graphics like those seen in CG (Computer Generated) movies such as Final Fantasy: The Spirits Within. Here we are in 2006, four years since DirectX 9 has been released and two years the introduction of Shader Model 3.0 hardware. Yet, we haven’t even scratched the surface of the full ability of DirectX 9 and “cinematic” gaming. Even with that being so the industry is gearing up for another major DirectX release. The release of DirectX 10 has huge potential for gamers, but carries with it a hefty price in order to achieve the total graphical experience that will be possible.

Brief DirectX History

Way back in the “dark ages” of computer gaming there were few choices to achieve hardware acceleration for 3D. The two most notable methods were OpenGL and 3dfx’ proprietary “Glide.” Glide required the use of specific 3dfx hardware while OpenGL is an open platform that is supported by the community and can also run under a Linux operating environment. With Windows, Microsoft decided to capitalize on what they saw becoming the multimedia experience. Microsoft developed a suite of APIs (Application Program Interfaces) that allowed software and driver programmers to access hardware components for specific functions. “DirectX” indicated the umbrella and underneath were the specific components, Direct Sound, Direct Input, Direct 3D and others.

DirectX has evolved; DirectX 3, DirectX 5 (there was no DirectX 4 they skipped right to 5), DirectX 6, 7, 8 and now 9. Each version offered new features and more flexibility. DirectX 8 is considered the start of programmable shaders. Before DirectX 8, all its programming functions were “fixed” functions which means the game content developer could only utilize 3D effects that the video chipset specifically supported. For example if the graphics chipset (we don’t call fixed function graphics processors GPUs because they aren’t programmable) didn’t support dot3 product bump mapping then there is no way the developer could use that effect in their game. With the programmable graphics processor everything changed. The game content developer could now make any effect they wanted. However, in younger DirectX versions there were limitations to the number of constants, registers and program lengths they could use. DirectX 8 and 8.1 introduced us to “GPUs” (Graphics Processing Units) and contained Shader Model 1.1-1.3 (DX8.1 had SM 1.4). Shader Model simply referred to the features and flexibility of the programmable nature of the API.

DirectX 9 brought the GPU into its own. At its introduction, DirectX 9 included Shader Model 2.0. Shader Model 2.0 was a very large leap ahead of Shader Model 1.4. Still, DirectX 9 had even more wiggle room. With DirectX 9.0c came the enablement of Shader Model 3.0. This newer version meant virtually unlimited program lengths and possibilities only imagined before on a GPU. However we haven’t exactly seen this utilized to its maximum potential in games due to graphics hardware performance limitations. The API is still more capable than the hardware it supports. While there is still a lot of capability left in DirectX 9 and Shader Model 3.0 yet to be realized in real world gaming, it is time to start talking about he next DirectX version, DirectX 10.