Microsoft DirectX 10 & the Future of Gaming

Posted by bink on May 7 2006, 3:23 AM. Posted in Direct X.

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.Full story at source