The DirectX Application Program(ming) Interface (API) contains a collection of routines, protocols and tools for building software applications. A good API makes it easier to develop a program by providing all the building blocks.
The DirectX API can handle tasks related to multimedia, especially game programming, on Microsoft platforms (such as Windows Xp, Windows Vista, Sega Dreamcast, Microsoft Xbox and Microsoft Xbox 360).
DirectX contains various components (COM-compliant objects).
The DirectX components are:
- DirectDraw: Used for drawing 2D graphics. (Deprecated, but still used).
- Direct3D (D3D): for 3D graphics.
- DirectPlay: network communication.
- DirectInput: Used for processing input (from mouse, keyboard, etc).
- DirectX Media: DirectShow, Direct3D retained mode, multimedia playback, streaming, etc).
- DirectMusic: playback of soundtracks (created in DirectMusic Producer).
- DirectSound: Playback and recording of waveform sound.
- DirectSound3D: (DS3D) playback of 3D sounds.
- DirectX Media Objects: Streaming objects such as encoders, decoders and effects.
- DirectSetup: Installation of DirectX components.
Note: In April 2005 DirectShow (until then a component of DirectX) was moved from the DirectX distribution to the Microsoft Platform SDK. (DirectX however, is still required to build the DirectShow samples).
In 1994 Microsoft was working on a new operating system, Windows 95. The Microsoft game programming platform of that time was DOS. Most programmers found DOS a better platform to build on, then the new Windows 95.
DOS was seen as a better platform because DOS allowed direct access to video cards, mouse, keyboards and sound devices (and the rest of the system). Windows 95 restricted the access to all of these components because of its protected memory model. Microsoft needed a way to give the programmers the same access to these devices on the new operating system Windows 95.
Three Microsoft employees, Criag Eisler, Alex St.John and Eric Engstrum, came together to fix this problem. (They eventually named the solution DirectX). They build the first version of DirectX upon the concepts of another development system “Exodus”. “Exodus” was developed by Kinesoft Development. Microsoft and Kinesoft worked closely that year (1994) to develop DirectX 1.0.
In September of 1995 the first version of DirectX was released. (They used the name “Windows games SDK” for that version).
In the years after 1995, Microsoft released a new version of DirectX at least once a year. (See the release history for more detail).
In the year 2002 Microsoft released DirectX 9. (This release included shader version 2.0 support). Microsoft has continued to update DirectX 9. In 2004 they released DirectX 9.0c which supported the shader model 3.0.
Version 10 of DirectX is available on the new operating system from Microsoft, called Vista.
The components DirectInput and DirectSound will be deprecated in DirectX 10. Xinput and XACT (developed for Xbox) will replace DirectInput and DirectSound. Until now Xinput and XACT don’t have the same capabilities as DirectInput and DirectSound.