Microsoft DirectX is a set of APIs (application programming interfaces) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. It’s developed by Microsoft and it’s composed of a collection of DLLs (Dynamic Link Libraries) that contain functions useful to a wide range of multimedia programmers, which are entirely platform independent.
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.
Later on with the development of the Xbox, the X was used in the consoles name to indicate that it was based on DirectX technology.
In the golden days of DOS, programmers had direct access to the hardware they were developing on. With complete access to interrupts, sound cards, input devices, and the VGA controller, the developers could usually make the hardware do anything they could dream up. But with the more increasing popularity of the PC, hardware competition developed, giving rise to hundreds of different possible PC configurations which turned out to be a nightmare for developers. It soon became apparent that a interface between multimedia applications and hardware was needed so on September 30, 1995 DirectX 1.0 was launched. Originally, the runtimes were only installed by games or explicitly by the user. Windows 95 did not launch with DirectX, but DirectX was included with Windows 95 OEM Service Release 2. Windows 98 and Windows NT 4.0 both shipped with DirectX, as has every version of Windows released since.
Direct3D (the 3D graphics API within DirectX) is widely used in the development of video games for Microsoft Windows, Microsoft Xbox, and Microsoft Xbox 360. Direct3D is also used by other software applications for visualization and graphics tasks such as CAD/CAM engineering. As Direct3D is the most widely publicized component of DirectX, it is common to see the names “DirectX” and “Direct3D” used interchangeably.
Below you can see a table with all the DirectX versions, their release dates, operating systems that support them, video cards that support them and what graphics acceleration operations they introduced.
|DirectX version||Operating system||Date released||Video Cards||Graphics acceleration operations|
|DirectX 1.0||September 30, 1995|
|DirectX 2.0||Was shipped only with a few 3rd party applications||1996|
|DirectX 2.0a||Windows 95 OSR2 and NT 4.0||June 5, 1996|
|DirectX 3.0||September 15, 1996|
|DirectX 3.0a||Windows NT 4.0 SP3 (and above)
last supported version of DirectX for Windows NT 4.0
|DirectX 3.0b||This was a very minor update to 3.0a that fixed a cosmetic problem with the Japanese version of Windows 95||December 1996|
|DirectX 4.0||Never launched|
|DirectX 5.0||Available as a beta for Windows 2000 that would install on Windows NT 4.0||August 4, 1997||RIVA 128, Rage 3D, Rage II|
|DirectX 5.2||DirectX 5.2 release for Windows 95||May 5, 1998|
|DirectX 6.0||Windows CE as implemented on Dreamcast||August 7, 1998||RIVA TNT, Vanta, RIVA TNT2, Rage Pro, Rage 128, Rage XL/XC, Rage Fury, Matrox G400||Multitexturing|
|DirectX 6.1||February 3, 1999|
|DirectX 6.1a||Windows 98 SE exclusive||May 5, 1999|
|DirectX 7.0||September 22, 1999||GeForce256 series, GeForce2 series, GeForce4 MX, Radeon R100 (7xxx) series||Hardware Transformation, Clipping and Lighting (TCL/T&L)|
|DirectX 7.0a||March 8, 2000|
|DirectX 7.1||Windows Me exclusive||September 14, 2000|
|DirectX 8.0||November 12, 2000||GeForce3 series||Shader Model 1.1|
|DirectX 8.0a||Last supported version for Windows 95||February 5, 2001||Pixel Shader 1.3 & Vertex Shader 1.1|
|DirectX 8.1||Windows XP, Windows XP SP1, Windows Server 2003 and Xbox exclusive||October 25, 2001||GeForce4 Ti, Radeon R200 (8xxx, 9xxx) series||Pixel Shader 1.3/1.4 & Vertex Shader 1.1|
|DirectX 8.1a||This release includes an update to Direct3D (D3d8.dll)||2002|
|DirectX 8.1b||This update includes a fix to DirectShow on Windows 2000 (Quartz.dll)||June 25, 2002|
|DirectX 8.2||Same as the DirectX 8.1b but includes DirectPlay 8.2||2002|
|DirectX 9.0||December 19, 2002||Radeon R300 (9xxx) series, Radeon R300 (X3xx, X5xx, X6xx, X1xxx series)||Shader Model 2.0 or Shader Model 2.0 extended|
|DirectX 9.0a||March 26, 2003|
|DirectX 9.0b||August 13, 2003||GeForce FX (5xxx) series|
|DirectX 9.0c||Service Pack 2 for Windows XP exclusive||August 4, 2004||GeForce 6 (6xxx) series, GeForce 7 (7xxx) series, Radeon R400 series (X7xx, X8xx), Radeon R500 (X1xxx) series||Shader Model 3.0, GPGPU|
|DirectX 10||Windows Vista exclusive||November 30, 2006||GeForce 8 (8xxx) series, GeForce 9 (9xxx) series, GeForce 100 Series, GeForce 200 Series, Radeon R600 (HD 2xxx) series||Shader Model 4.0, Compute shaders, Windows Graphics Foundation 2.0, DXVA 2.0, GPGPU|
|DirectX 10.1||Service Pack 1 for Windows Vista, Windows Server 2008
includes Direct3D 10.1
|February 4, 2008||GeForce 200 Series, GeForce 300 Series, Radeon R600 (HD 3xxx) series, Radeon R700 (HD 4xxx) series||Shader Model 4.1, Tessellation, Compute shaders, Windows Graphics Foundation 2.1, DXVA 2.1, GPGPU|
|DirectX 11||Windows 7, Windows Server 2008 R2||October 22, 2009||GeForce 400 Series, Radeon Evergreen (HD 5xxx) series, Radeon Northern Islands (HD 6xxx) series, Radeon Southern Islands (HD 7xxx) series||Shader Model 5.0, Tessellation, Multithreaded rendering, Compute shaders, GPGPU|
|DirectX 11.1||Windows 8 Developer Preview||September 14, 2011|