DirectX
Encyclopedia
Microsoft DirectX is a collection of application programming interface
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

s (APIs) for handling tasks related to multimedia
Multimedia
Multimedia is media and content that uses a combination of different content forms. The term can be used as a noun or as an adjective describing a medium as having multiple content forms. The term is used in contrast to media which use only rudimentary computer display such as text-only, or...

, especially game programming
Game programming
Game programming, a subset of game development, is the programming of computer, console or arcade games. Though often engaged in by professional game programmers, many novices may program games as a hobby...

 and video, on Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 platforms. Originally, the names of these APIs all began with Direct, such as Direct3D
Direct3D
Direct3D is part of Microsoft's DirectX application programming interface . Direct3D is available for Microsoft Windows operating systems , and for other platforms through the open source software Wine. It is the base for the graphics API on the Xbox and Xbox 360 console systems...

, DirectDraw
DirectDraw
DirectDraw is part of Microsoft's DirectX API. DirectDraw is used to render graphics in applications where top performance is important. DirectDraw also allows applications to run fullscreen or embedded in a window such as most other MS Windows applications. DirectDraw uses hardware acceleration if...

, DirectMusic
DirectMusic
DirectMusic is a deprecated component of the Microsoft DirectX API that allows music and sound effects to be composed and played and provides flexible interactive control over the way they are played. Architecturally, DirectMusic is a high-level set of objects, built on top of DirectSound, that...

, DirectPlay
DirectPlay
DirectPlay is part of Microsoft's DirectX API. DirectPlay is a network communication library intended for computer game development, although its general nature certainly allows it to be used for other purposes....

, DirectSound
DirectSound
DirectSound is a software component of the Microsoft DirectX library for the Windows operating system. DirectSound provides a low-latency interface to the sound card driver and can handle the mixing and recording of multiple audio streams....

, 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. When Microsoft later set out to develop a gaming console, the X was used as the basis of the name Xbox
Xbox
The Xbox is a sixth-generation video game console manufactured by Microsoft. It was released on November 15, 2001 in North America, February 22, 2002 in Japan, and March 14, 2002 in Australia and Europe and is the predecessor to the Xbox 360. It was Microsoft's first foray into the gaming console...

 to indicate that the console was based on DirectX technology. The X initial has been carried forward in the naming of APIs designed for the Xbox such as XInput and the Cross-platform Audio Creation Tool (XACT), while the DirectX pattern has been continued for Windows APIs such as Direct2D
Direct2D
Direct2D is a 2D and vector graphics application programming interface designed by Microsoft and implemented in Windows 7 and Windows Server 2008 R2, and also Windows Vista and Windows Server 2008 and Platform Update Supplement for Windows Vista and for Windows Server 2008 & KB2505189 update...

 and DirectWrite
DirectWrite
DirectWrite is a text-layout and glyph-rendering API by Microsoft. It was designed to replace GDI/GDI+ and Uniscribe for screen-oriented rendering and was shipped with Windows 7 and Windows Server 2008 R2, as well as Windows Vista and Windows Server 2008 DirectWrite is a text-layout and...

.

Direct3D (the 3D graphics API within DirectX) is widely used in the development of video games for Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

, Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 Xbox
Xbox
The Xbox is a sixth-generation video game console manufactured by Microsoft. It was released on November 15, 2001 in North America, February 22, 2002 in Japan, and March 14, 2002 in Australia and Europe and is the predecessor to the Xbox 360. It was Microsoft's first foray into the gaming console...

, and Microsoft Xbox 360
Xbox 360
The Xbox 360 is the second video game console produced by Microsoft and the successor to the Xbox. The Xbox 360 competes with Sony's PlayStation 3 and Nintendo's Wii as part of the seventh generation of video game consoles...

. 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.

The DirectX software development kit (SDK)
Software development kit
A software development kit is typically a set of software development tools that allows for the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform.It may be something as simple...

 consists of runtime libraries
Runtime library
In computer programming, a runtime library is a special program library used by a compiler, to implement functions built into a programming language, during the execution of a computer program...

 in redistributable binary form, along with accompanying documentation and headers
Header file
Some programming languages use header files. These files allow programmers to separate certain elements of a program's source code into reusable files. Header files commonly contain forward declarations of classes, subroutines, variables, and other identifiers...

 for use in coding. Originally, the runtimes were only installed by games or explicitly by the user. Windows 95
Windows 95
Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Windows products...

 did not launch with DirectX, but DirectX was included with Windows 95 OEM Service Release 2. Windows 98
Windows 98
Windows 98 is a graphical operating system by Microsoft. It is the second major release in the Windows 9x line of operating systems. It was released to manufacturing on 15 May 1998 and to retail on 25 June 1998. Windows 98 is the successor to Windows 95. Like its predecessor, it is a hybrid...

 and Windows NT 4.0
Windows NT 4.0
Windows NT 4.0 is a preemptive, graphical and business-oriented operating system designed to work with either uniprocessor or symmetric multi-processor computers. It was the next release of Microsoft's Windows NT line of operating systems and was released to manufacturing on 31 July 1996...

 both shipped with DirectX, as has every version of Windows released since. The SDK is available as a free download. While the runtimes are proprietary, closed-source software, source code is provided for most of the SDK samples. Starting with the release of Windows 8 Developer Preview, DirectX SDK has been integrated into Windows SDK.

Direct3D 9Ex, Direct3D 10, and Direct3D 11 are only available for Windows Vista
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...

 and Windows 7 because each of these new versions was built to depend upon the new Windows Display Driver Model
Windows Display Driver Model
Windows Display Driver Model is the graphic driver architecture for video card drivers running Microsoft Windows versions beginning with Windows Vista....

 that was introduced for Windows Vista. The new Vista/WDDM graphics architecture includes a new video memory manager supporting virtualization of graphics hardware for various applications and services like the Desktop Window Manager
Desktop Window Manager
Desktop Window Manager is the window manager in Windows Vista and Windows 7 that enables the Windows Aero graphical user interface and visual theme. The Desktop Window Manager requires video cards supporting DirectX 9.0 and Shader Model 2.0. DWM is not included with Windows Vista Starter edition...

.

History

In late 1994 Microsoft was on the verge of releasing its next operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

, Windows 95
Windows 95
Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Windows products...

. The main factor which would determine the value consumers would place on their new operating system very much rested on what programs would be able to run on it. Three Microsoft employees – Craig Eisler, Alex St. John
Alex St. John
Alex St. John, along with Craig Eisler and Eric Engstrom, created the original Microsoft DirectX specification. Alex became a Windows game technology evangelist for DirectX through magazine articles and interviews on the newly created web....

, and Eric Engstrom – were concerned because programmers
Game programmer
A game programmer is a software engineer, programmer, or computer scientist who primarily develops codebase for video games or related software, such as game development tools. Game programming has many specialized disciplines all of which fall under the umbrella term of "game programmer"...

 tended to see Microsoft's previous operating system, MS-DOS
MS-DOS
MS-DOS is an operating system for x86-based personal computers. It was the most commonly used member of the DOS family of operating systems, and was the main operating system for IBM PC compatible personal computers during the 1980s to the mid 1990s, until it was gradually superseded by operating...

, as a better platform for game programming, meaning few games would be developed for Windows 95 and the operating system would not be as much of a success.

DOS allowed direct access to video cards, keyboards
Computer keyboard
In computing, a keyboard is a typewriter-style keyboard, which uses an arrangement of buttons or keys, to act as mechanical levers or electronic switches...

, mice, sound devices
Sound card
A sound card is an internal computer expansion card that facilitates the input and output of audio signals to and from a computer under control of computer programs. The term sound card is also applied to external audio interfaces that use software to generate sound, as opposed to using hardware...

, and all other parts of the system, while Windows 95, with its protected memory model, restricted access to all of these, working on a much more standardized model. Microsoft needed a way to quickly let programmers get a solution; the operating system was only months away from being released. Eisler (development lead), St. John, and Engstrom (program manager) worked together to fix this problem, with a solution that they eventually named DirectX.

The first version of DirectX was released in September 1995 as the Windows Games SDK. It was the Win32
Windows API
The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces available in the Microsoft Windows operating systems. It was formerly called the Win32 API; however, the name "Windows API" more accurately reflects its roots in 16-bit Windows and its support on...

 replacement for the DCI and WinG
WinG
In computing, WinG is an application programming interface that provides faster graphics performance on Windows 3.x operating environments, and was positioned as a way to help game developers more easily port their DOS games to Microsoft Windows...

 APIs for Windows 3.1. Simply put, DirectX allowed all versions of Microsoft Windows, starting with Windows 95, to incorporate high-performance multimedia. Eisler wrote about the frenzy to build DirectX 1 through 5 in his blog.

DirectX 2.0 became a component of Windows itself with the releases of Windows 95
Windows 95
Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Windows products...

 OSR2 and Windows NT 4.0
Windows NT 4.0
Windows NT 4.0 is a preemptive, graphical and business-oriented operating system designed to work with either uniprocessor or symmetric multi-processor computers. It was the next release of Microsoft's Windows NT line of operating systems and was released to manufacturing on 31 July 1996...

 in mid-1996. Since Windows 95 was itself still new and few games had been released for it, Microsoft engaged in heavy promotion of DirectX to developers who were generally distrustful of Microsoft's ability to build a gaming platform in Windows. Alex St. John, the evangelist for DirectX, staged an elaborate event at the 1996 Computer Game Developers Conference
Game Developers Conference
The Game Developers Conference is the largest annual gathering of professional video game developers, focusing on learning, inspiration, and networking...

 which game developer Jay Barnson described as a Roman
Ancient Rome
Ancient Rome was a thriving civilization that grew on the Italian Peninsula as early as the 8th century BC. Located along the Mediterranean Sea and centered on the city of Rome, it expanded to one of the largest empires in the ancient world....

 theme, including real lion
Lion
The lion is one of the four big cats in the genus Panthera, and a member of the family Felidae. With some males exceeding 250 kg in weight, it is the second-largest living cat after the tiger...

s, togas, and something resembling an indoor carnival. It was at this event that Microsoft first introduced Direct3D
Direct3D
Direct3D is part of Microsoft's DirectX application programming interface . Direct3D is available for Microsoft Windows operating systems , and for other platforms through the open source software Wine. It is the base for the graphics API on the Xbox and Xbox 360 console systems...

 and DirectPlay
DirectPlay
DirectPlay is part of Microsoft's DirectX API. DirectPlay is a network communication library intended for computer game development, although its general nature certainly allows it to be used for other purposes....

, and demonstrated multi-player MechWarrior 2
MechWarrior 2
MechWarrior 2: 31st Century Combat is a 1995 video game produced by Activision. It is part of the MechWarrior series of video games. It separates itself from the original board game BattleTech by placing the player inside the cockpit of the BattleMech....

 being played over the Internet.

The DirectX team faced the challenging task of testing each DirectX release against an array of hardware and software. A variety of different graphics cards, audio cards, motherboards, CPUs, input devices, games, and other multimedia applications were tested with each beta and final release. The DirectX team also built and distributed tests that allowed the hardware industry to confirm that new hardware designs and driver releases would be compatible with DirectX.

Prior to DirectX, Microsoft had included OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

 on their Windows NT
Windows NT
Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement...

 platform. At the time, OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

 required "high-end" hardware and was focused on engineering
Engineering
Engineering is the discipline, art, skill and profession of acquiring and applying scientific, mathematical, economic, social, and practical knowledge, in order to design and build structures, machines, devices, systems, materials and processes that safely realize improvements to the lives of...

 and CAD
Computer-aided design
Computer-aided design , also known as computer-aided design and drafting , is the use of computer technology for the process of design and design-documentation. Computer Aided Drafting describes the process of drafting with a computer...

 uses. Direct3D was intended to be a lightweight partner to OpenGL, focused on game use. As 3D gaming grew, OpenGL evolved to include better support for programming techniques for interactive multimedia applications like games, giving developers choice between using OpenGL or Direct3D as the 3D graphics API for their applications. At that point a "battle" began between supporters of the cross-platform OpenGL and the Windows-only Direct3D. Incidentally, OpenGL was supported at Microsoft by the DirectX team. If a developer chose to use OpenGL 3D graphics API, the other APIs of DirectX are often combined with OpenGL in computer games
Computer Games
"Computer Games" is a single by New Zealand group, Mi-Sex released in 1979 in Australia and New Zealand and in 1981 throughout Europe. It was the single that launched the band, and was hugely popular, particularly in Australia and New Zealand...

 because OpenGL does not include all of DirectX's functionality (such as sound or joystick support).

In a console-specific version, DirectX was used as a basis for Microsoft's Xbox
Xbox
The Xbox is a sixth-generation video game console manufactured by Microsoft. It was released on November 15, 2001 in North America, February 22, 2002 in Japan, and March 14, 2002 in Australia and Europe and is the predecessor to the Xbox 360. It was Microsoft's first foray into the gaming console...

 and Xbox 360
Xbox 360
The Xbox 360 is the second video game console produced by Microsoft and the successor to the Xbox. The Xbox 360 competes with Sony's PlayStation 3 and Nintendo's Wii as part of the seventh generation of video game consoles...

 console
Video game console
A video game console is an interactive entertainment computer or customized computer system that produces a video display signal which can be used with a display device to display a video game...

 API. The API was developed jointly between Microsoft and Nvidia
NVIDIA
Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...

, who developed the custom graphics hardware used by the original Xbox. The Xbox API is similar to DirectX version 8.1, but is non-updateable like other console technologies. The Xbox was code named DirectXbox, but this was shortened to Xbox for its commercial name.

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.

As of April 2005, DirectShow
DirectShow
DirectShow , codename Quartz, is a multimedia framework and API produced by Microsoft for software developers to perform various operations with media files or streams. It is the replacement for Microsoft's earlier Video for Windows technology...

 was removed from DirectX and moved to the Microsoft Platform SDK
Microsoft Platform SDK
Microsoft Windows SDK, Platform SDK, and .NET Framework SDK are software development kits from Microsoft that contain header files, libraries, samples, documentation and tools required to develop applications for Microsoft Windows and .NET Framework....

 instead. The DirectX SDK is, however, still required to build the DirectShow samples.

Releases

DirectX version Version number Operating system Date released
DirectX 1.0 4.02.0095 September 30, 1995
DirectX 2.0 Was shipped only with a few 3rd party applications 1996
DirectX 2.0a 4.03.00.1096 Windows 95
Windows 95
Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Windows products...

 OSR2 and NT 4.0
June 5, 1996
DirectX 3.0 4.04.00.0068   September 15, 1996
4.04.00.0069 Later package of DirectX 3.0 included Direct3D 4.04.00.0069 1996
DirectX 3.0a 4.04.00.0070 Windows NT
Windows NT
Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement...

 4.0 SP3 (and above)
last supported version of DirectX for Windows NT 4.0
December 1996
DirectX 3.0b 4.04.00.0070 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 4.05.00.0155 (RC55) Available as a beta for Windows 2000 that would install on Windows NT 4.0 August 4, 1997
DirectX 5.2 4.05.01.1600 (RC00) DirectX 5.2 release for Windows 95
Windows 95
Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Windows products...

May 5, 1998
4.05.01.1998 (RC0) Windows 98
Windows 98
Windows 98 is a graphical operating system by Microsoft. It is the second major release in the Windows 9x line of operating systems. It was released to manufacturing on 15 May 1998 and to retail on 25 June 1998. Windows 98 is the successor to Windows 95. Like its predecessor, it is a hybrid...

 exclusive
June 25, 1998
DirectX 6.0 4.06.00.0318 (RC3) Windows CE
Windows CE
Microsoft Windows CE is an operating system developed by Microsoft for embedded systems. Windows CE is a distinct operating system and kernel, rather than a trimmed-down version of desktop Windows...

 as implemented on Dreamcast 
August 7, 1998
DirectX 6.1 4.06.02.0436 (RC0) February 3, 1999
DirectX 6.1a 4.06.03.0518 (RC0) Windows 98 SE exclusive May 5, 1999
DirectX 7.0 4.07.00.0700 (RC1) September 22, 1999
4.07.00.0700 Windows 2000
Windows 2000
Windows 2000 is a line of operating systems produced by Microsoft for use on personal computers, business desktops, laptops, and servers. Windows 2000 was released to manufacturing on 15 December 1999 and launched to retail on 17 February 2000. It is the successor to Windows NT 4.0, and is the...

 
February 17, 2000
DirectX 7.0a 4.07.00.0716 (RC0) March 8, 2000
4.07.00.0716 (RC1) 2000
DirectX 7.1 4.07.01.3000 (RC1) Windows Me
Windows Me
Windows Millennium Edition, or Windows Me , is a graphical operating system released on September 14, 2000 by Microsoft, and was the last operating system released in the Windows 9x series. Support for Windows Me ended on July 11, 2006....

 exclusive
September 14, 2000
DirectX 8.0 4.08.00.0400 (RC10) November 12, 2000
DirectX 8.0a 4.08.00.0400 (RC14) Last supported version for Windows 95 February 5, 2001
DirectX 8.1 4.08.01.0810 Windows XP
Windows XP
Windows XP is an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops and media centers. First released to computer manufacturers on August 24, 2001, it is the second most popular version of Windows, based on installed user base...

, Windows XP SP1, Windows Server 2003
Windows Server 2003
Windows Server 2003 is a server operating system produced by Microsoft, introduced on 24 April 2003. An updated version, Windows Server 2003 R2, was released to manufacturing on 6 December 2005...

 and Xbox
Xbox
The Xbox is a sixth-generation video game console manufactured by Microsoft. It was released on November 15, 2001 in North America, February 22, 2002 in Japan, and March 14, 2002 in Australia and Europe and is the predecessor to the Xbox 360. It was Microsoft's first foray into the gaming console...

 exclusive
October 25, 2001
4.08.01.0881 (RC7) This version is for the down level operating systems
(Windows 98, Windows Me and Windows 2000)
November 8, 2001
DirectX 8.1a 4.08.01.0901 (RC?) This release includes an update to Direct3D (D3d8.dll) 2002
DirectX 8.1b 4.08.01.0901 (RC7) This update includes a fix to DirectShow on Windows 2000 (Quartz.dll) June 25, 2002
DirectX 8.2 4.08.02.0134 (RC0) Same as the DirectX 8.1b but includes DirectPlay 8.2 2002
DirectX 9.0 4.09.00.0900 (RC4) December 19, 2002
DirectX 9.0a 4.09.00.0901 (RC6) March 26, 2003
DirectX 9.0b 4.09.00.0902 (RC2) August 13, 2003
DirectX 9.0c 4.09.00.0903 Service Pack 2 for Windows XP exclusive
4.09.00.0904 (RC0) August 4, 2004
4.09.00.0904 Windows XP SP2, SP3*, Windows Server 2003 SP1 and Windows Server 2003 R2 August 6, 2004 / April 21, 2008*
DirectX - bimonthly updates 4.09.00.0904 (RC0 for DX 9.0c) The February 9, 2005 release is the first 64-bit capable build.'The last build for Windows 98/Me is the redistributable from December 13, 2006. The last build for Windows 2000 is the redistributable from February 5, 2010. April 2006 is the first official support to Windows Vista and August 2009 is the first official support to Windows 7 and DX11 update Released bimonthly from October 2004 to August 2007, and quarterly thereafter; Latest version: June 2010
DirectX 10 6.00.6000.16386 Windows Vista
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...

 exclusive
November 30, 2006
DirectX 10.1 6.00.6001.18000 Service Pack 1 for Windows Vista, Windows Server 2008
includes Direct3D 10.1
February 4, 2008
DirectX 10.1 6.00.6002.18005 Service Pack 2 for Windows Vista, Windows Server 2008
includes Direct3D 10.1
April 28, 2009
DirectX 11 6.01.7600.16385 Windows 7, Windows Server 2008 R2
Windows Server 2008 R2
Windows Server 2008 R2 is a server operating system produced by Microsoft. It was released to manufacturing on July 22, 2009 and launched on October 22, 2009. According to the Windows Server Team blog, the retail availability was September 14, 2009. It is built on Windows NT 6.1, the same core...

 
October 22, 2009
6.01.7601.17514 Service Pack 1 for Windows 7, Windows Server 2008 R2  February 16, 2011
7.00.6002.18107 Windows Vista SP2 and Windows Server 2008 SP2, through the Platform Update for Windows Vista and Windows Server 2008 October 27, 2009
DirectX 11.1 Windows 8
Windows 8
Windows 8 is the codename for the next version of the Microsoft Windows computer operating system following Windows 7. It has many changes from previous versions. In particular it adds support for ARM microprocessors in addition to the previously supported x86 microprocessors from Intel and AMD...

 Developer Preview
September 14, 2011


Notes:
  1. DirectX 4 was never released. Raymond Chen explained in his book, The Old New Thing, that after DirectX 3 was released, Microsoft began developing versions 4 and 5 at the same time. Version 4 was to be a shorter-term release with small features, whereas version 5 would be a more substantial release. The lack of interest from game developers in the features stated for DirectX 4 resulted in it being shelved, and the corpus of documents that already distinguished the two new versions resulted in Microsoft choosing to not re-use version 4 to describe features intended for version 5.
  2. The version number as reported by Microsoft's DxDiag
    DxDiag
    DxDiag is a diagnostics tool used to test DirectX functionality and troubleshoot video- or sound-related hardware problems. DirectX Diagnostic can save text files with the scan results...

     tool (version 4.09.0000.0900 and higher) use the x.xx.xxxx.xxxx format for version numbers. However, the DirectX and Windows XP MSDN
    Microsoft Developer Network
    The Microsoft Developer Network is the portion of Microsoft responsible for managing the firm's relationship with developers and testers: hardware developers interested in the operating system , developers standing on the various OS platforms, developers using the API and scripting languages of...

     page claims that the registry always has been in the x.xx.xx.xxxx format. Put another way, when the above table lists a version as '4.09.00.0904' Microsoft's DxDiag
    DxDiag
    DxDiag is a diagnostics tool used to test DirectX functionality and troubleshoot video- or sound-related hardware problems. DirectX Diagnostic can save text files with the scan results...

     tool may have it as '4.09.0000.0904'.

Logos

The logo originally resembled a deformed radiation warning symbol. Controversially, the original name for the DirectX project was the "Manhattan Project", a reference to the US nuclear weapons initiative
Manhattan Project
The Manhattan Project was a research and development program, led by the United States with participation from the United Kingdom and Canada, that produced the first atomic bomb during World War II. From 1942 to 1946, the project was under the direction of Major General Leslie Groves of the US Army...

. Alex St. John
Alex St. John
Alex St. John, along with Craig Eisler and Eric Engstrom, created the original Microsoft DirectX specification. Alex became a Windows game technology evangelist for DirectX through magazine articles and interviews on the newly created web....

, creator of the original Microsoft DirectX specification, claims that the connotation with the ultimate outcome of the Manhattan Project (the nuclear bombing of Japan
Atomic bombings of Hiroshima and Nagasaki
During the final stages of World War II in 1945, the United States conducted two atomic bombings against the cities of Hiroshima and Nagasaki in Japan, the first on August 6, 1945, and the second on August 9, 1945. These two events are the only use of nuclear weapons in war to date.For six months...

) is intentional, and that DirectX and its sister project, the Xbox
Xbox
The Xbox is a sixth-generation video game console manufactured by Microsoft. It was released on November 15, 2001 in North America, February 22, 2002 in Japan, and March 14, 2002 in Australia and Europe and is the predecessor to the Xbox 360. It was Microsoft's first foray into the gaming console...

 (which shares a similar logo), are meant to displace Japanese videogame makers from their dominance of the industry. However, this meaning is publicly denied by Microsoft, which instead claims that it is merely an artistic design.


Components

The components of DirectX are
  • DirectDraw
    DirectDraw
    DirectDraw is part of Microsoft's DirectX API. DirectDraw is used to render graphics in applications where top performance is important. DirectDraw also allows applications to run fullscreen or embedded in a window such as most other MS Windows applications. DirectDraw uses hardware acceleration if...

    : for drawing 2D Graphics (raster graphics
    Raster graphics
    In computer graphics, a raster graphics image, or bitmap, is a data structure representing a generally rectangular grid of pixels, or points of color, viewable via a monitor, paper, or other display medium...

    ). Now deprecated (in favor of Direct2D
    Direct2D
    Direct2D is a 2D and vector graphics application programming interface designed by Microsoft and implemented in Windows 7 and Windows Server 2008 R2, and also Windows Vista and Windows Server 2008 and Platform Update Supplement for Windows Vista and for Windows Server 2008 & KB2505189 update...

    ), though still in use by a number of games and as a video renderer in media applications.
  • Direct3D (D3D): for drawing 3D graphics
    3D computer graphics
    3D computer graphics are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images...

    .
  • DXGI
    DXGI
    DirectX Graphics Infrastructure is a user-mode component of Windows Vista and above which provides a mapping between particular graphics APIs such as Direct3D 10.0 and above and the graphics kernel, which in turn interfaces with the user-mode Windows Display Driver Model driver...

    : for enumerating adapters and monitors and managing swap chains for Direct3D 10 and up.
  • Direct2D
    Direct2D
    Direct2D is a 2D and vector graphics application programming interface designed by Microsoft and implemented in Windows 7 and Windows Server 2008 R2, and also Windows Vista and Windows Server 2008 and Platform Update Supplement for Windows Vista and for Windows Server 2008 & KB2505189 update...

     for 2D Graphics
  • DirectWrite
    DirectWrite
    DirectWrite is a text-layout and glyph-rendering API by Microsoft. It was designed to replace GDI/GDI+ and Uniscribe for screen-oriented rendering and was shipped with Windows 7 and Windows Server 2008 R2, as well as Windows Vista and Windows Server 2008 DirectWrite is a text-layout and...

     for Fonts
  • DirectCompute
    DirectCompute
    Microsoft DirectCompute is an application programming interface that supports general-purpose computing on graphics processing units on Microsoft Windows Vista and Windows 7. DirectCompute is part of the Microsoft DirectX collection of APIs and was initially released with the DirectX 11 API but...

     for GPU Computing
  • DirectInput
    DirectInput
    In computing, DirectInput is a Microsoft API for collecting input from a computer user, via input devices such as the mouse, keyboard, joystick or other game controllers. It also provides a system for action mapping, which allows the user to assign specific actions within a game to the buttons and...

    : for interfacing with input devices including keyboards
    Computer keyboard
    In computing, a keyboard is a typewriter-style keyboard, which uses an arrangement of buttons or keys, to act as mechanical levers or electronic switches...

    , mice, joystick
    Joystick
    A joystick is an input device consisting of a stick that pivots on a base and reports its angle or direction to the device it is controlling. Joysticks, also known as 'control columns', are the principal control in the cockpit of many civilian and military aircraft, either as a center stick or...

    s, or other game controller
    Game controller
    A game controller is a device used with games or entertainment systems used to control a playable character or object, or otherwise provide input in a computer game. A controller is typically connected to a game console or computer by means of a wire, cord or nowadays, by means of wireless connection...

    s. Deprecated after version 8 in favor of XInput for Xbox 360
    Xbox 360
    The Xbox 360 is the second video game console produced by Microsoft and the successor to the Xbox. The Xbox 360 competes with Sony's PlayStation 3 and Nintendo's Wii as part of the seventh generation of video game consoles...

     controllers or standard WM INPUT window message processing for keyboard and mouse input.
  • DirectPlay
    DirectPlay
    DirectPlay is part of Microsoft's DirectX API. DirectPlay is a network communication library intended for computer game development, although its general nature certainly allows it to be used for other purposes....

    : for communication over a local-area or wide-area network. Deprecated after version 8 in deference to Games for Windows Live and Xbox Live
    Xbox Live
    Xbox Live is an online multiplayer gaming and digital media delivery service created and operated by Microsoft Corporation. It is currently the only online gaming service on consoles that charges users a fee to play multiplayer gaming. It was first made available to the Xbox system in 2002...

  • DirectSound
    DirectSound
    DirectSound is a software component of the Microsoft DirectX library for the Windows operating system. DirectSound provides a low-latency interface to the sound card driver and can handle the mixing and recording of multiple audio streams....

    : for the playback and recording of waveform sounds, deprecated. The current audio libraries include XAudio2
    XAudio2
    XAudio2 is a cross-platform audio API for Xbox 360 and Microsoft Windows, intended as the replacement for DirectSound.The RTM version of the XAudio 2 library is included in the March 2008 DirectX SDK...

     (a low-level audio library) and XACT3 (a higher-level audio API)
    • DirectSound3D (DS3D): for the playback of 3D sounds
      3D audio effect
      3D audio effects are a group of sound effects that attempt to widen the stereo image produced by two loudspeakers or stereo headphones, or to create the illusion of sound sources placed anywhere in 3 dimensional space, including behind, above or below the listener.There are several types of 3D...

      .
  • DirectMusic
    DirectMusic
    DirectMusic is a deprecated component of the Microsoft DirectX API that allows music and sound effects to be composed and played and provides flexible interactive control over the way they are played. Architecturally, DirectMusic is a high-level set of objects, built on top of DirectSound, that...

    : for playback of soundtracks authored in DirectMusic Producer
    DirectMusic
    DirectMusic is a deprecated component of the Microsoft DirectX API that allows music and sound effects to be composed and played and provides flexible interactive control over the way they are played. Architecturally, DirectMusic is a high-level set of objects, built on top of DirectSound, that...

    . Deprecated since DirectX 8 and replaced with XAudio2
    XAudio2
    XAudio2 is a cross-platform audio API for Xbox 360 and Microsoft Windows, intended as the replacement for DirectSound.The RTM version of the XAudio 2 library is included in the March 2008 DirectX SDK...

     and XACT3
  • DirectX Media
    DirectX Media
    DirectX Media is a set of multimedia-related APIs for Microsoft Windows complementing DirectX. It included 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...

    : comprising DirectAnimation for 2D/3D web animation, DirectShow
    DirectShow
    DirectShow , codename Quartz, is a multimedia framework and API produced by Microsoft for software developers to perform various operations with media files or streams. It is the replacement for Microsoft's earlier Video for Windows technology...

     for multimedia playback and streaming media
    Streaming media
    Streaming media is multimedia that is constantly received by and presented to an end-user while being delivered by a streaming provider.The term "presented" is used in this article in a general sense that includes audio or video playback. The name refers to the delivery method of the medium rather...

    , DirectX Transform for web interactivity, and Direct3D Retained Mode for higher level 3D graphics. DirectShow contains DirectX plugin
    DirectX plugin
    In computer music and professional audio creation, a DirectX plugin is a software processing component that can be loaded as a plugin into host applications to allow real-time processing, audio effects, mixing audio or act as virtual synthesizers...

    s for audio signal processing
    Audio signal processing
    Audio signal processing, sometimes referred to as audio processing, is the intentional alteration of auditory signals, or sound. As audio signals may be electronically represented in either digital or analog format, signal processing may occur in either domain...

     and DirectX Video Acceleration
    DXVA
    DirectX Video Acceleration is a Microsoft API specification for the Microsoft Windows and Xbox 360 platforms that allows video decoding to be hardware accelerated. The pipeline allows certain CPU-intensive operations such as iDCT, motion compensation and deinterlacing to be offloaded to the GPU...

     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.

DirectX functionality is provided in the form of COM
Component Object Model
Component Object Model is a binary-interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages...

-style objects and interfaces. Additionally, while not DirectX components themselves, managed
Managed code
Managed code is a term coined by Microsoft to identify computer program code that requires and will only execute under the "management" of a Common Language Runtime virtual machine ....

 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.

DirectX 10

A major update to DirectX API, DirectX 10 ships with and is only available with Windows Vista
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...

 and later; previous versions of Windows such as Windows XP are not able to officially run DirectX 10-exclusive applications. Rather, programs that are run on a Windows XP system with DirectX 10 simply resort to using the code from DirectX 9.0c, the latest version for Windows XP computers, although there are unofficial projects to port DirectX 10 to Windows XP.

Changes for DirectX 10 were extensive. Many former parts of DirectX API were deprecated in the latest DirectX SDK and will be preserved for compatibility only: DirectInput
DirectInput
In computing, DirectInput is a Microsoft API for collecting input from a computer user, via input devices such as the mouse, keyboard, joystick or other game controllers. It also provides a system for action mapping, which allows the user to assign specific actions within a game to the buttons and...

 was deprecated in favor of XInput, DirectSound
DirectSound
DirectSound is a software component of the Microsoft DirectX library for the Windows operating system. DirectSound provides a low-latency interface to the sound card driver and can handle the mixing and recording of multiple audio streams....

 was deprecated in favor of the Cross-platform Audio Creation Tool system (XACT) and lost support for hardware accelerated audio, since Vista audio stack renders sound in software on the CPU. The DirectPlay DPLAY.DLL was also removed and was replaced with dplayx.dll; games that rely on this DLL must duplicate it and rename it to dplay.dll.

In order to achieve backwards compatibility, DirectX in Windows Vista contains several versions of Direct3D:
  • Direct3D 9: emulates Direct3D 9 behavior as it was on Windows XP. Details and advantages of Vista's Windows Display Driver Model
    Windows Display Driver Model
    Windows Display Driver Model is the graphic driver architecture for video card drivers running Microsoft Windows versions beginning with Windows Vista....

     are hidden from the application if WDDM drivers are installed. This is the only API available if there are only XP graphic drivers (XDDM) installed, after an upgrade to Vista for example.
  • Direct3D 9Ex (known internally during Windows Vista development as 9.0L or 9.L): allows full access to the new capabilities of WDDM (if WDDM drivers are installed) while maintaining compatibility for existing Direct3D applications. The Windows Aero
    Windows Aero
    Windows Aero is the graphical user interface and the default theme in most editions of Windows Vista and Windows 7, operating systems released by Microsoft. It is also available in Windows Server 2008, but is not enabled by default. Its name is a backronym for Authentic, Energetic, Reflective and...

     user interface relies on D3D 9Ex.
  • Direct3D 10: Designed around the new driver model in Windows Vista and featuring a number of improvements to rendering capabilities and flexibility, including Shader Model 4
    High Level Shader Language
    The High Level Shader Language or High Level Shading Language is a proprietary shading language developed by Microsoft for use with the Microsoft Direct3D API. It is analogous to the GLSL shading language used with the OpenGL standard...

    .


Direct3D 10.1 is an incremental update of Direct3D 10.0 which is shipped with, and requires, Windows Vista Service Pack 1. This release mainly sets a few more image quality standards for graphics vendors, while giving developers more control over image quality. It also adds support for cube map arrays, separate blend modes per-MRT, coverage mask export from a pixel shader, ability to run pixel shader per sample, access to multi-sampled depth buffers and requires that the video card supports Shader Model 4.1 or higher and 32-bit floating-point operations. Direct3D 10.1 still fully supports Direct3D 10 hardware, but in order to utilize all of the new features, updated hardware is required.

DirectX 11

Microsoft unveiled DirectX 11 at the Gamefest 08 event in Seattle, with the major scheduled features including GPGPU
GPGPU
General-purpose computing on graphics processing units is the technique of using a GPU, which typically handles computation only for computer graphics, to perform computation in applications traditionally handled by the CPU...

 support (DirectCompute
DirectCompute
Microsoft DirectCompute is an application programming interface that supports general-purpose computing on graphics processing units on Microsoft Windows Vista and Windows 7. DirectCompute is part of the Microsoft DirectX collection of APIs and was initially released with the DirectX 11 API but...

), and Direct3D11 with tessellation
Tessellation
A tessellation or tiling of the plane is a pattern of plane figures that fills the plane with no overlaps and no gaps. One may also speak of tessellations of parts of the plane or of other surfaces. Generalizations to higher dimensions are also possible. Tessellations frequently appeared in the art...

 support and improved multi-threading
Thread (computer science)
In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process...

 support to assist video game developers in developing games that better utilize multi-core processors. Direct3D 11 runs on Windows Vista and Windows 7. It will run on future Windows operating systems as well. Parts of the new API such as multi-threaded resource handling can be supported on Direct3D 9/10/10.1-class hardware. Hardware tessellation and Shader Model 5.0 require Direct3D 11 supporting hardware. Microsoft has since released the Direct3D 11 Technical Preview. Direct3D 11 is a strict superset of Direct3D 10.1 — all hardware and API features of version 10.1 are retained, and new features are added only when necessary for exposing new functionality. This helps to keep backwards compatibility with previous versions of DirectX.

Microsoft released the Final Platform Update for Windows Vista on October 27, 2009, which was 5 days after the initial release of Windows 7 (launched with Direct3D 11 as a base standard).

DirectX 11.1 is included in Windows 8
Windows 8
Windows 8 is the codename for the next version of the Microsoft Windows computer operating system following Windows 7. It has many changes from previous versions. In particular it adds support for ARM microprocessors in addition to the previously supported x86 microprocessors from Intel and AMD...

. It supports WDDM 1.2
Windows Display Driver Model
Windows Display Driver Model is the graphic driver architecture for video card drivers running Microsoft Windows versions beginning with Windows Vista....

 for increased performance, features tighter integration of Direct2D
Direct2D
Direct2D is a 2D and vector graphics application programming interface designed by Microsoft and implemented in Windows 7 and Windows Server 2008 R2, and also Windows Vista and Windows Server 2008 and Platform Update Supplement for Windows Vista and for Windows Server 2008 & KB2505189 update...

, Direct3D
Direct3D
Direct3D is part of Microsoft's DirectX application programming interface . Direct3D is available for Microsoft Windows operating systems , and for other platforms through the open source software Wine. It is the base for the graphics API on the Xbox and Xbox 360 console systems...

, and DirectCompute
DirectCompute
Microsoft DirectCompute is an application programming interface that supports general-purpose computing on graphics processing units on Microsoft Windows Vista and Windows 7. DirectCompute is part of the Microsoft DirectX collection of APIs and was initially released with the DirectX 11 API but...

,
and includes DirectXMath, XAudio2
XAudio2
XAudio2 is a cross-platform audio API for Xbox 360 and Microsoft Windows, intended as the replacement for DirectSound.The RTM version of the XAudio 2 library is included in the March 2008 DirectX SDK...

, and XInput libraries from the XNA framework. It also features stereoscopic 3D
Stereoscopy
Stereoscopy refers to a technique for creating or enhancing the illusion of depth in an image by presenting two offset images separately to the left and right eye of the viewer. Both of these 2-D offset images are then combined in the brain to give the perception of 3-D depth...

 support for gaming and video.

Compatibility

Various releases of Windows have included and supported various versions of DirectX, allowing newer versions of the operating system to continue running applications designed for earlier versions of DirectX until those versions can be gradually phased out in favor of newer APIs, drivers, and hardware.

APIs such as Direct3D and DirectSound need to interact with hardware, and they do this through a device driver
Device driver
In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....

. Hardware
Hardware
Hardware is a general term for equipment such as keys, locks, hinges, latches, handles, wire, chains, plumbing supplies, tools, utensils, cutlery and machine parts. Household hardware is typically sold in hardware stores....

 manufacturers have to write these drivers for a particular DirectX version's device driver interface (or DDI), and test each individual piece of hardware to make them DirectX compatible. Some hardware devices have only DirectX compatible drivers (in other words, one must install DirectX in order to use that hardware). Early versions of DirectX included an up-to-date library of all of the DirectX compatible drivers currently available. This practice was stopped however, in favor of the web-based Windows Update
Windows Update
Windows Update is a service provided by Microsoft that provides updates for the Microsoft Windows operating system and its installed components, including Internet Explorer...

 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. The application programmer had to query the available hardware capabilities using a complex system of "cap bits" each tied to a particular hardware feature. For example, a game designed for and running on Direct3D 9 with a graphics adapter driver designed for Direct3D 6 would still work, albeit most likely with degraded functionality.

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".

Direct3D 11 runtime introduces Direct3D 9, 10, and 10.1 "feature levels", compatibility modes which allow use of only the hardware features defined in the specified version of Direct3D. For Direct3D 9 hardware, there are three different feature levels, grouped by common capabilities of "low", "med" and "high-end" video cards; the runtime directly uses Direct3D 9 DDI provided in all WDDM drivers.

.NET Framework

In 2002, Microsoft released a version of DirectX compatible with the Microsoft .NET Framework
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

, thus allowing programmers to take advantage of DirectX functionality from within .NET applications using compatible languages such as managed C++ or the use of the C# programming language. This API was known as "Managed DirectX
Managed DirectX
Managed DirectX is an API to DirectX programming under .NET developed by Microsoft. MDX can be used from any language under the .NET runtime .MDX can be used to develop multimedia and interactive applications Managed DirectX (MDX) is an API to DirectX programming under .NET developed by Microsoft....

" (or MDX for short), and claimed to operate at 98% of performance of the underlying native DirectX APIs. 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. While Managed DirectX 2.0 consolidated functionality that had previously been scattered over multiple assemblies into a single assembly, thus simplifying dependencies on it for software developers, development on this version has subsequently been discontinued, and it is no longer supported. The Managed DirectX 2.0 library expired on October 5, 2006.

During the GDC
Game Developers Conference
The Game Developers Conference is the largest annual gathering of professional video game developers, focusing on learning, inspiration, and networking...

 2006, Microsoft presented the XNA Framework
Microsoft XNA
Microsoft XNA is a set of tools with a managed runtime environment provided by Microsoft that facilitates video game development and management. XNA attempts to free game developers from writing "repetitive boilerplate code" and to bring different aspects of game production into a single system...

, a new managed version of DirectX (similar but not identical to Managed DirectX) that is intended to assist development of games by making it easier to integrate DirectX, High Level Shader Language
High Level Shader Language
The High Level Shader Language or High Level Shading Language is a proprietary shading language developed by Microsoft for use with the Microsoft Direct3D API. It is analogous to the GLSL shading language used with the OpenGL standard...

 (HLSL) and other tools in one package. It also supports the execution of managed code on the Xbox 360. The XNA Game Studio Express RTM was made available on December 11, 2006, as a free download for Windows XP. Unlike the DirectX runtime, Managed DirectX
Managed DirectX
Managed DirectX is an API to DirectX programming under .NET developed by Microsoft. MDX can be used from any language under the .NET runtime .MDX can be used to develop multimedia and interactive applications Managed DirectX (MDX) is an API to DirectX programming under .NET developed by Microsoft....

, XNA Framework
Microsoft XNA
Microsoft XNA is a set of tools with a managed runtime environment provided by Microsoft that facilitates video game development and management. XNA attempts to free game developers from writing "repetitive boilerplate code" and to bring different aspects of game production into a single system...

 or the Xbox 360
Xbox 360
The Xbox 360 is the second video game console produced by Microsoft and the successor to the Xbox. The Xbox 360 competes with Sony's PlayStation 3 and Nintendo's Wii as part of the seventh generation of video game consoles...

 APIs (XInput, XACT etc.) have not shipped as part of Windows. Developers are expected to redistribute the runtime components along with their games or applications.

No Microsoft product including the latest XNA releases provides DirectX 10 support for the .NET Framework.

The other approach for DirectX in managed languages is to use third-party libraries like SlimDX
SlimDX
SlimDX is an open-source API to DirectX programming under .NET. SlimDX can be used from any language under the .NET runtime .SlimDX can be used to develop multimedia and interactive applications...

 for Direct3D. SharpDX, DirectInput (including Direct3D 10), Direct Show .NET for DirectShow subset or Windows API CodePack for .NET Framework which is an open source library from Microsoft.

Alternatives

There are alternatives to the DirectX family of APIs, with OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

 having the most features. Examples of other APIs include SDL
Simple DirectMedia Layer
Simple DirectMedia Layer is a cross-platform, free and open source multimedia library written in C that presents a simple interface to various platforms' graphics, sound, and input devices....

, Allegro
Allegro library
Allegro is a free and open source software library for video game development.The functionality of the library includes support for basic 2D graphics, image manipulation, text output, audio output, midi music, input and timers, as well as additional routines for fixed-point and floating-point...

, OpenMAX
OpenMAX
OpenMAX is a royalty-free, cross-platform set of C-language programming interfaces that provides abstractions for routines especially useful for audio, video, and still images...

, OpenML
OpenML
Open Media Library is a free, cross-platform programming environment designed by the Khronos Group for capturing, transporting, processing, displaying, and synchronizing digital media .-See also:* SDL* Allegro* ClanLib* OpenGL* OpenAL* PLIB-External links:* *...

, OpenAL
OpenAL
OpenAL is a cross-platform audio API. It is designed for efficient rendering of multichannel three dimensional positional audio. Its API style and conventions deliberately resemble those of OpenGL.- History :...

, OpenCL
OpenCL
OpenCL is a framework for writing programs that execute across heterogeneous platforms consisting of CPUs, GPUs, and other processors. OpenCL includes a language for writing kernels , plus APIs that are used to define and then control the platforms...

, FMOD
FMOD
FMOD is a proprietary audio library made by Firelight Technologies that plays music files of diverse formats on many different operating system platforms, used in games and software applications to provide audio functionality....

, etc. Many of these libraries are cross-platform or have open codebases.

There are also alternative implementations that aim to provide the same API, such as the one in Wine
Wine (software)
Wine is a free software application that aims to allow computer programs written for Microsoft Windows to run on Unix-like operating systems. Wine also provides a software library, known as Winelib, against which developers can compile Windows applications to help port them to Unix-like...

.

The developers of ReactOS
ReactOS
ReactOS is an open source computer operating system intended to be binary compatible with application software and device drivers made for Microsoft Windows NT versions 5.x and up...

 are trying to reinvent DirectX with the same features and calling it ReactX.

See also

  • OpenGL
    OpenGL
    OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

  • OpenAL
    OpenAL
    OpenAL is a cross-platform audio API. It is designed for efficient rendering of multichannel three dimensional positional audio. Its API style and conventions deliberately resemble those of OpenGL.- History :...

  • Simple DirectMedia Layer
    Simple DirectMedia Layer
    Simple DirectMedia Layer is a cross-platform, free and open source multimedia library written in C that presents a simple interface to various platforms' graphics, sound, and input devices....

  • Comparison of OpenGL and Direct3D
  • Graphics Device Interface
    Graphics Device Interface
    The Graphics Device Interface is a Microsoft Windows application programming interface and core operating system component responsible for representing graphical objects and transmitting them to output devices such as monitors and printers....

     (GDI)
  • Graphics pipeline
    Graphics pipeline
    In 3D computer graphics, the terms graphics pipeline or rendering pipeline most commonly refers to the current state of the art method of rasterization-based rendering as supported by commodity graphics hardware. The graphics pipeline typically accepts some representation of a three-dimensional...

  • DxDiag
    DxDiag
    DxDiag is a diagnostics tool used to test DirectX functionality and troubleshoot video- or sound-related hardware problems. DirectX Diagnostic can save text files with the scan results...

  • DirectX plugin
    DirectX plugin
    In computer music and professional audio creation, a DirectX plugin is a software processing component that can be loaded as a plugin into host applications to allow real-time processing, audio effects, mixing audio or act as virtual synthesizers...

  • ActiveX
    ActiveX
    ActiveX is a framework for defining reusable software components in a programming language-independent way. Software applications can then be composed from one or more of these components in order to provide their functionality....

  • List of games with DirectX 10 support
  • List of games with DirectX 11 support

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK