Originally, the names of these APIs all began with "Direct", such as Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound, and so forth.
Direct3D (the 3D graphics API within DirectX) is widely used in the development of video games for Microsoft Windows and the Xbox line of consoles.
The DirectX software development kit (SDK) consists of runtime libraries in redistributable binary form, along with accompanying documentation and headers for use in coding.
While the runtimes are proprietary, closed-source software, source code is provided for most of the SDK samples.
Microsoft employee Alex St. John had been in discussions with various game developers asking how likely they would be to bring their MS-DOS games to Windows 95, and found the responses mostly negative, since programmers had found that the Windows environment did not provide the necessary features which were available under MS-DOS using BIOS routines or direct hardware access.
[6] There were also strong fears of compatibility; a notable case of this was from Disney's Animated Storybook: The Lion King which was based on the WinG programming interface.
[7] Due to numerous incompatible graphics drivers from new Compaq computers that were not tested with the WinG interface which came bundled with the game, it crashed so frequently on many desktop systems that parents had flooded Disney's call-in help lines.
[9] Their rebellious nature led Brad Silverberg, the senior vice president of Microsoft's office products, to name the trio the "Beastie Boys".
[9] The SDK included libraries implementing DirectDraw for bit-mapped graphics,[11] DirectSound for audio,[12] and DirectPlay for communication between players over a network.
[13] Furthermore, an extended joystick API already present in Windows 95 was documented for the first time as DirectInput,[14] while a description of how to implement the immediate start of the installation procedure of a software title after inserting its CD-ROM, a feature called AutoPlay, was also part of the SDK.
[19] To get more developers on board DirectX, Microsoft approached id Software's John Carmack and offered to port Doom and Doom 2 from MS-DOS to DirectX, free of charge, with id retaining all publishing rights to the game.
Microsoft promoted the game heavily with Bill Gates appearing in ads for the title.
Alex St. John, the evangelist for DirectX, staged an elaborate event at the 1996 Computer Game Developers Conference which game developer Jay Barnson described as a Roman theme, including real lions, togas, and something resembling an indoor carnival.
Besides it could also be used for 2D graphics and imaging and was controlled by the Architectural Review Board (ARB) which included Microsoft.
It also brought much needed performance improvements through better hardware acceleration capabilities, and better utilization of GPU resources.
DirectX 9.0c was an update to the original, and has been continuously changed over the years affecting its compatibility with older operating systems.
Many former parts of DirectX API were deprecated in the latest DirectX SDK and are preserved for compatibility only: DirectInput was deprecated in favor of XInput, DirectSound was deprecated in favor of the Cross-platform Audio Creation Tool system (XACT) and additionally lost support for hardware accelerated audio, since the Vista audio stack renders sound in software on the CPU.
The primary feature highlight for the new release of DirectX was the introduction of advanced low-level programming APIs for Direct3D 12 which can reduce driver overhead.
Developers are now able to implement their own command lists and buffers to the GPU, allowing for more efficient resource utilization through parallel computation.
Lead developer Max McMullen stated that the main goal of Direct3D 12 is to achieve "console-level efficiency on phone, tablet and PC".
Multiadapter support will feature in DirectX 12 allowing developers to utilize multiple GPUs on a system simultaneously; multi-GPU support was previously dependent on vendor implementations such as AMD CrossFireX or NVIDIA SLI.
[56][57][58][59] DirectX 12 is supported on all Fermi and later Nvidia GPUs, on AMD's GCN-based chips and on Intel's Haswell and later processors' graphics units.
Among the new features in Ultimate includes DirectX Raytracing 1.1, Variable Rate Shading, which gives programmers control over the level of detail of shading depending on design choices, Mesh Shaders, and Sampler Feedback.
This practice was stopped however, in favor of the web-based Windows Update driver-update system, which allowed users to download only the drivers relevant to their hardware, rather than the entire library.
Prior to DirectX 10, DirectX runtime was designed to be backward compatible with older drivers, meaning that newer versions of the APIs were designed to interoperate with older drivers written against a previous version's DDI.
[98] However, the Direct3D 10 runtime in Windows Vista cannot run on older hardware drivers due to the significantly updated DDI, which requires a unified feature set and abandons the use of "cap bits".
In December 2005, February 2006, April 2006, and August 2006, Microsoft released successive updates to this library, culminating in a beta version called Managed DirectX 2.0.
The XNA Game Studio Express RTM was made available on December 11, 2006, as a free download for Windows XP.
No Microsoft product including the latest XNA releases provides DirectX 10 support for the .NET Framework.
Examples of other APIs include SDL, Allegro, OpenMAX, OpenML, OpenAL, OpenCL, FMOD, SFML etc.