DirectX
DirectX 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 games for Windows. The DirectX SDK is available for free from Microsoft. The DirectX runtime was originally redistributed by game developers along with their games, but later it was included in Windows. DirectX 9.0 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.
DirectX APIs
The components comprising DirectX are:
- DirectX Graphics: comprised of two API's:
- 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
Originally developed for the game development industry, DirectX is becoming 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.
DirectX was developed internally at Microsoft from late 1994 until the first version shipped in September of 1995. It was the Win32 replacement for poorly designed, ill-conceived APIs for the Win16 operating system (DCI and WinG). DirectX was primarily by the team of Craig Eisler, Alex St. John, and Eric Engstrom. Simply put, it allowed all versions of Microsoft Windows, starting with Windows 95, to incorporate quality multimedia and computer gaming into the Windows experience.
When DirectX was first being created in the 1990s, Microsoft had already started including OpenGL on their Windows NT platform. At the time, OpenGL required "high end" hardware and was limited to engineering and CAD uses. Direct3D was intended to be a lightweight partner to OpenGL for game use. As the power of the graphics cards and the computers running them grew, OpenGL became a mainstream product. At that point a "battle" opened between supporters of the cross-platform OpenGL, and the Windows-only D3D, which many argued was another example of Microsoft's embrace, extend and extinguish business tactic. Nevertheless, the other API's of DirectX are often combined with OpenGL in many computer games because OpenGL does not in itself include all of DX's functionality. Several attempts to address this have generally failed.
External Links
- Microsoft's DirectX site: http://www.microsoft.com/directx
Tutorial Sites
To keep these relevant to the Version of DirectX and the selected programming language the versions and programming language of the various tutorials are shown.
For languages: C# (v9 Microsoft Visual Studio)
' For C++ and Visual Basic (v8.1, v9 Microsoft Visual Studio)
For C++ (v9 Visual Studio)
Forums on Direct X
See also
Reference Sites
- "The Direct3D Graphics Pipeline" by Rich Thomson Download the excellent graphics on the directx Pipeline Poster from this site!
- http://www.c-sharpcorner.com/directx.aspc (for C#)
- DirectX vs OpenGL