DirectX 10 Preview
Microsoft and DirectX
Microsoft’s DirectX application programming interface (API) was first introduced in 1995. DirectX was designed to make life easier for software developers by providing a standard platform developers could use to easily make multimedia software and game programming for the Windows Platform.
Before the arrival of DirectX, developers had to program their software titles to take advantage of features found in each individual hardware component. With the wealth of devices on the market, spanning from input devices to graphics and sound cards, supporting every hardware device on the market was a tedious, time-consuming process.
DirectX is composed of a suite of multimedia APIs such as graphics (both 2D and 3D), audio, and input devices. Each API provides developers access to all the features found in the latest hardware without having to program directly for it. This simplifies the development process for developers, which should in theory bring titles to market more quickly.
Granted the first few versions were unstable and rocky, but DirectX has come a long way since then. Here is the timeline alongside the Operating Systems that are associated with the versions of DirectX that have been implemented thus far:
| A Brief History of DirectX |
| Version | Operating System | Launch Date |
| DirectX 1.0 | Windows 95a | 9/30/95 |
| DirectX 2.0/2.0a | Windows 95OSR2/NT4.0 | 6/5/96 |
| DirectX 3.0/3.0a | Windows NT 4.0 SP3 | 9/15/96 |
| DirectX 4.0 | | Never Released |
| DirectX 5.0 | Windows NT 4.0/Beta for NT 5.0 | 7/16/97 |
| DirectX 5.1 | Windows 95/98/NT4.0 | 12/1/97 |
| DirectX 5.2 | Windows 95 | 5/5/98 |
| DirectX 6.0 | Windows 98/NT4.0 | 8/7/98 |
| DirectX 6.1 | Windows 95/98/98SE | 2/3/99 |
| DirectX 7.0 | Windows 95/98/98SE/2000 | 9/22/99 |
| DirectX 7.0a | Windows 95/98/98SE/2000 | 9/99 |
| DirectX 7.1 | Windows 95/98/98SE/ME/2000 | 9/16/99 |
| DirectX 8.0/8.0a | Windows 95/98/98SE/ME/2000 | 9/30/2000 |
| DirectX 8.1 | Windows 95/98/98SE/ME/2000/XP | 11/12/01 |
| DirectX 9 Shader Model 2.0 | Windows 95/98/98SE/ME/2000/XP | 12/19/2002 |
| DirectX 9 Shader Model 2.0b | Windows 98/98SE/ME/2000/XP | 8/13/2003 |
| DirectX 9 Shader Model 3.0 | Windows 98/98SE/ME/2000/XP | 8/9/2004 |
 |
Notes
Prior to DirectX 6.0, Microsoft’s DirectX APIs were seldom used by most game developers, instead they predominantly opted for 3dfx’s Glide API. As such, we won’t list them here to save space:
DirectX 6.0
Most Notable New Feature: Environment mapped bump mapping which gives flat 2D surfaces added dimension, making them look more realistic.
DirectX 7.0
Most Notable New Feature: Started the shift from CPU based 3D processing to GPU based 3D processing. Transfers the stages of transform and lightning from the CPU to the GPU. 20% performance boost over 6.1.
DirectX 7.0a
Most Notable New Feature: Provided improved force-feedback performance more compatibility with input devices.
DirectX 7.1
Most Notable New Feature: Released for Windows Millennium launch.
DirectX 8.0/8.0a
Most Notable New Feature: Shader Model 1.0, and 1.1 which introduced programmable pixel shaders (up to 12 instructions at a time) and vertex shaders. This version of DirectX is also used by Microsoft’s Xbox gaming console. (PS1.0 was never used)
DirectX 8.1
Most Notable New Feature: Pixel Shader 1.2, 1.3, and 1.4 where pixel shaders can use up to 28 instructions at a time. Pixel Shader 1.4 was only utilized by the ATI Radeon 8500.
DirectX 9.0 Shader Model 2.0
Most Notable New Feature: More powerful pixel/vertex shaders thanks to Shader Model 2.0. Shader Model 2.0 supports a pixel shader length of up to 96 instructions. Also adds improvements to DirectPlay and several improvements to audio and video.
DirectX 9.0 Pixel Shader 2.0b
Most Notable New Feature: Used first on the ATI Radeon X600/700/800 series of GPUs. Pixel shader 2.0b supports more instructions (up to 1,536) and more temporary registers (32 versus 12). As well as a new facing register. 2.0b also supports geometry instancing.
DirectX 9.0 Shader Model 3.0
Most Notable New Feature: Shader Model 3.0 where pixel/vertex shaders support more instructions. Shader Model 3.0 also supports flow control/dynamic branching, which allows developers to add loops to their shaders, making programming easier. Used first on the NVIDIA GeForce 6800 series of GPUs.
As you can see, there have been many versions of DirectX spanning many operating systems. As new hardware devices (video cards, sounds cards, input devices, etc.) became available, Microsoft worked with hardware developers to make the most of the new technology. Now things are about to change once again with the release of DirectX 10. Read on to find out why…