What is DirectX?
DirectX is a set of drivers used for numerous functions. Its purpose is to gather all drivers together and associate them with a single application programming interface. DirectX represents an interface between the drivers and the programs that use them. This way, a programmer no longer has to keep track of all existing drivers, and makes it so that a game (since DirectX is mainly used for gaming) works with them all. The programmer can program using DirectX routines, which takes care of running each component needed by the program.
DirectX drivers are divided into categories:
- Direct3D: 3D graphics acceleration
- DirectDraw: 2D graphic acceleration (vector drawings)
- DirectVideo: Video sequence acceleration
- DirectSound: Sound card drivers
- DirectInput: Game controller drivers (for joysticks, joypads, etc.)
- DirectPlay: Manages data traveling over a network (for network gaming)
With each new version of DirectX (for example, DirectX 6.0), new drivers are added, as well as new groups of functions.
Direct3D is currently one of the most widely used DirectX functions. Direct3D representes a sort of interface between the graphics card and an application that makes use of 3D. This interface is currently divided into two layers:
- The hardware layer (called HAL), which uses 3D hardware functions, i.e. those which are run directly by the 3D accelerator card's processer(s) without tasking your computer's central processing unit.
- The software layer (called HEL, for "Hardware Emulation Layer"), which emulates a graphics card whenever necessary. This means that when the program calls a 3D function that your 3D accelerator card does not include (or if you have no accelerator card), the software layer will ask the central processing unit to carry out the operation and then send the result to your graphics card.
Direct3D has other functions, but there are too many to list...
DirectDraw is used when the game needs to render images. When this happens, DirectDraw manages memory by attempting to allocate memory needed for image buffering or for information about an object's depth.
DirectPlay and DirectInput
DirectInput manages data transfers between the computer and the peripherical game device used (such as a joystick, joypad, mouse, steering wheel, or force feedback controller). Only versions 5.0 or higher of DirectX can support force feedback game devices.
DirectPlay is used when gaming on a network. It is used to manage the network card in order to ensure fluid communication between players.
DirectSound is an interface between the game and the sound card. Its most important applications involve playing digitised sounds and 3D sound effects.
Problems related to DirectX
First, although DirectX contains an impressive collection of drivers, the latest drivers are not always included, which means that you sometimes have to download certain drivers from the Internet.
Second, games sometimes install different versions of DirectX without asking permission. Sometimes, after installing a game, you might find that another game no longer works.
For this reason, it is a good idea to know what to do when an older version of DirectX is installed on top of DirectX 6.0.
When the latest drivers are installed, the earlier versions generally do not wipe out the most recent version. However, if that were to happen, all you need to do is reinstall the latest version of DirectX.
Finally, despite DirectX being installed multiple times, your game might still stubbornly refuse to start. This is generally due to the game needing a 3D accelerator card (which it's not finding on your computer).
Download the latest version of DirectX.