Microsoft DirectX Redistributable is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with Direct, such as Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound, and so forth. The name DirectX was coined as shorthand term for all of these APIs (the X standing in for the particular API names) and soon became the name of the collection.
Microsoft encourages the use of these DirectX components:
- Direct3D (D3D): for drawing 3D graphics.
- DXGI: for enumerating adapters and monitors and managing swap chains for Direct3D 10 and up.
- Direct2D: for 2D graphics.
- DirectWrite: for fonts.
- DirectCompute: for GPU Computing.
- DirectSound3D (DS3D): for the playback of 3D sounds.
- DirectX Media: comprising DirectAnimation for 2D/3D web animation, DirectShow for multimedia playback and streaming media, DirectX Transform for web interactivity, and Direct3D Retained Mode for higher level 3D graphics. DirectShow contains DirectX plugins for audio signal processing and DirectX Video Acceleration for accelerated video playback..
- DirectX Diagnostics (DxDiag): a tool for diagnosing and generating reports on components related to DirectX, such as audio, video, and input drivers.
- DirectX Media Objects: support for streaming objects such as encoders, decoders, and effects.
- DirectSetup: for the installation of DirectX components, and the detection of the current DirectX version.
Microsoft has deprecated, but still supports, these DirectX components:
- DirectDraw: for drawing 2D Graphics (raster graphics). Deprecated in favor of Direct2D, though still in use by a number of games and as a video renderer in media applications.
- DirectInput: for interfacing with input devices including keyboards, mice, joysticks, or other game controllers. Deprecated after version 8 in favor of XInput for Xbox 360 controllers or standard WM_INPUT window message processing for keyboard and mouse input.
- DirectPlay: for communication over a local-area or wide-area network. Deprecated after version 8 in favor of Games for Windows Live and Xbox Live.
- DirectSound: for the playback and recording of waveform sounds. Deprecated in favor of the current audio libraries, including XAudio2 (a low-level audio library) and XACT3 (a higher-level audio API).
- DirectMusic: for playback of soundtracks authored in DirectMusic Producer. Deprecated since DirectX 8 in favor of XAudio2 and XACT3.
DirectX functionality is provided in the form of COM-style objects and interfaces. Additionally, while not DirectX components themselves, managed objects have been built on top of some parts of DirectX, such as Managed Direct3D and the XNA graphics library on top of Direct3D 9.