DirectX
|
DirectX_logo.gif
DirectX (originally called "Game SDK") is a collection of APIs for easily handling tasks related to game programming on Microsoft Windows. It is most widely used in the development of video and computer games for Windows. The DirectX SDK is available free from Microsoft. The DirectX runtime was originally redistributed by computer game developers along with their games, but later it was included in Windows. DirectX 9.0c is the latest version of DirectX. The latest versions of DirectX are still usually included with PC games, since the API is updated so often.
Contents |
DirectX APIs
The various components of DirectX are in the form of COM-compliant objects.
The components comprising DirectX are :
- DirectX Graphics, comprised of two API's (DirectX 8.0 onwards):
- DirectDraw: for drawing raster graphics.
- Direct3D (D3D): for drawing 3D graphics primitives
- DirectInput: used to process data from a keyboard, mouse, joystick, or other game controllers
- DirectPlay: for networked communication of games
- DirectSound: for the playback and recording of waveform sound
- DirectMusic: for playback of soundtracks authored in DirectMusic Producer
- DirectShow: for streaming audio and video
- DirectSetup: for the installation of DirectX components
- DirectX Media Objects: support for streaming objects such as encoders, decoder and effects
History
Originally targetted at the game development industry, DirectX has become more widely used among other software production industries. Most notably, Direct3D is becoming more popular among the engineering sector because of its ability to quickly render high-quality 3D graphics using the latest 3D graphics hardware.
The first version of DirectX was developed internally by Microsoft from late 1994 until September of 1995 when the first release version was shipped as the Windows Games SDK. It was the Win32 replacement for poorly designed, ill-conceived APIs for the Win16 operating system (DCI and WinG). The development of DirectX was lead by the team of Craig Eisler (development lead), Alex St. John (evangelist), and Eric Engstrom (program manager). Simply put, it allowed all versions of Microsoft Windows, starting with Windows 95, to incorporate high-performance multimedia.
Prior to DirectX's existence, Microsoft had already included OpenGL on their Windows NT platform. At the time, OpenGL required "high-end" hardware and was limited to engineering and CAD uses. In February 1995, Microsoft acquired the British 3D startup Rendermorphics. Their 3D API "Reality Lab" was used as the basis for the development of Direct3D, which shipped for the first time with DirectX 2 in June 1996.
Direct3D was intended to be a lightweight partner to OpenGL for game use. As the power of graphics cards and the computers running them grew, OpenGL became a mainstream product. At that point a "battle" began between supporters of the cross-platform OpenGL and the Windows-only Direct3D, which many argued was another example of Microsoft's embrace, extend and extinguish business tactic (see Fahrenheit or Direct3D vs. OpenGL). Nevertheless, the other APIs of DirectX are often combined with OpenGL in many computer games because OpenGL does not in itself include all of DirectX's functionality (such as sound or joystick support). Several attempts to address this have generally failed.
DirectX was used as a basis for Microsoft's Xbox console API. The API was developed jointly between Microsoft and NVIDIA, who developed the custom graphics hardware used by the console. The Xbox API is similar to DirectX version 8.1, but is non-updateable like other console technologies.
In 2002, Microsoft released DirectX 9 with support for the use of much longer shader programs than before with pixel and vertex shader version 2.0. Microsoft has continued to update the DirectX suite since then, introducing shader model 3.0 in DirectX 9.0c, released in August 2004.
DirectX Version</B> |
<B>
Version Number</B> |
<B>
Operating System</B> |
DirectX 1.0 |
4.02.0095 |
|
DirectX 2.0 / 2.0a |
4.03.00.1096 |
Windows 95 OSR2 and NT 4.0 |
DirectX 3.0 / 3.0a |
4.04.0068 / 69 |
Windows NT 4.0 SP3
|
DirectX 4.0 |
Never Launched |
|
DirectX 5.0 |
4.05.00.0155 |
|
DirectX 5.0 |
4.05.01.1721 / 1998 |
Windows 98 |
DirectX 6.0 |
4.06.02.0436 |
Windows 98 SE and ME
|
DirectX 7.0 |
4.07.00.0700 |
Windows 2000 |
DirectX 7.0a |
4.07.00.0716 |
|
DirectX 8.0 |
4.08.00.0400 |
|
DirectX 8.1 |
4.08.01.0810 |
Windows XP and 2003 Server |
DirectX 9.0 |
4.09.0000.0900 |
|
DirectX 9.0a |
4.09.0000.0901 |
Last supported version |
DirectX 9.0b |
4.09.0000.0902 |
|
DirectX 9.0c |
4.09.0000.0904 |
Last supported version |
DirectX 9.0d (coming soon) |
4.09.0000.0905 (?) |