Graphics technology is a particularly fast-developing area of the PC industry, with new chipsets, new revisions of chipsets and even entirely new technologies appearing at an alarming rate. This presents a problem for applications wishing to take advantage of the latest 3D hardware, as it’s absolutely impossible for any application developer to write native code for every graphics processor.

The solution is an API (application programming interface). APIs act as an intermediary between application software and the hardware on which it runs. The software vendor writes code that outputs its graphics data to the API driver via standardised commands, rather than directly to the hardware. The driver, written by the manufacturer of the hardware, then translates this standard code to the native format understood by a particular model of hardware.

First introduced in 1995, DirectX is an integrated set of programming tools designed to help developers create a whole range of multimedia applications for the Windows platform. It covers almost all aspects of multimedia content and by the time of DirectX 7.0 – its sixth major release introduced in 1999 – comprised the following main components:

  • Direct3D – used real-time3D graphics
  • DirectDraw – used accelerated 2D graphics
  • DirectSound – used for audio playback
  • DirectPlay – used for network connectivity (especially for Internet multi-player gaming)
  • DirectInput used for joysticks and other related devices
  • DirectMusic – used for message-based musical data.

DirectX 8.0 – released in late 2000 – saw the DirectSound and DirectMusic components merged into the DirectX Audio component and the separation of 2D and 3D graphics functionality ended with the Direct3D and DirectDraw components merged into the DirectX Graphics component. It also saw the DirectShow component, previously implemented as a separate API, become an official component of DirectX. In reality, the DirectDraw component has been absorbed into a new incarnation of Direct3D interface, and explicit reference to the Direct3D API will continue.

January 2003 saw the release of DirectX 9.0. Boasting significant improvements across its suite of APIs, including:

  • new audio capabilities in DirectSound
  • accelerated video rending hardware in DirectShow
  • enhanced low-level graphics programmability with new programmable vertex and pixel shader 2.0 models in Direct3D

this version of the API was most notable for the introduction of Microsoft’s High-Level Shader Language (HLSL).

The original 9.0 version of DirectX was followed by 9.0a, b and c versions over the subsequent months. As well as introducing new features, the later releases included security, performance and bug-fix updates.

In the mainstream PC world two 3D graphics APIs – OpenGL and Direct3D – have dominated for a number of years.