HOME

TheInfoList



OR:

Microsoft DirectX is a collection of
application programming interface An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how t ...
s (APIs) for handling tasks related to
multimedia Multimedia is a form of communication that uses a combination of different content forms such as text, audio, images, animations, or video into a single interactive presentation, in contrast to tradition ...
, especially
game programming Game programming, a subset of game development, is the software development of video games. Game programming requires substantial skill in software engineering and computer programming in a given language, as well as specialization in one or mor ...
and video, on
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
platforms. Originally, the names of these APIs all began with "Direct", such as
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware a ...
,
DirectDraw DirectDraw (ddraw.dll) is an API that used to be a part of Microsoft's DirectX API. DirectDraw is used to accelerate rendering of 2D graphics in applications. DirectDraw also allows applications to run fullscreen or embedded in a window such as mo ...
,
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 se ...
,
DirectPlay DirectPlay is part of Microsoft's DirectX API. It is a network communication library intended for computer game development, although it can be used for other purposes. DirectPlay is a high-level software interface between applications and commun ...
,
DirectSound DirectSound is a deprecated software component of the Microsoft DirectX library for the Windows operating system, superseded by XAudio2. It provides a low-latency interface to sound card drivers written for Windows 95 through Windows XP and can h ...
, and so forth. The name ''DirectX'' was coined as a 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 is a video gaming brand created and owned by Microsoft. The brand consists of five video game consoles, as well as applications (games), streaming services, an online service by the name of Xbox network, and the development arm by the na ...
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 In computing, DirectInput is a legacy Microsoft API for collecting input from a computer user, via input devices such as the mouse, keyboard, or a gamepad. It also provides a system for ''action mapping,'' which allows the user to assign specif ...
and the
Cross-platform Audio Creation Tool Cross-platform Audio Creation Tool (XACT) is an audio programming library and engine released by Microsoft as part of the DirectX Software development kit, SDK. It is a high-level audio library for authoring/playing audio that is written to use ''X ...
(XACT), while the DirectX pattern has been continued for Windows APIs such as
Direct2D Direct2D is a 2D computer graphics, 2D vector graphics, vector graphics application programming interface (API) designed by Microsoft and implemented in Windows 10, Windows 8, Windows 7 and Windows Server 2008 R2, and also Windows Vista and Windows ...
and
DirectWrite DirectWrite is a text layout and glyph rendering Application programming interface, API by Microsoft. It was designed to replace Graphics Device Interface, GDI/GDI+ and Uniscribe for screen-oriented rendering and was first shipped with Windows 7 an ...
. Direct3D (the 3D graphics API within DirectX) is widely used in the development of
video game Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, controller, keyboard, or motion sensing device to generate visual feedback. This fee ...
s for
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
and the
Xbox Xbox is a video gaming brand created and owned by Microsoft. The brand consists of five video game consoles, as well as applications (games), streaming services, an online service by the name of Xbox network, and the development arm by the na ...
line of consoles. Direct3D is also used by other
software Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
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 A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific to ...
(SDK) consists of runtime libraries in redistributable binary form, along with accompanying documentation and headers for use in coding. Originally, the runtimes were only installed by games or explicitly by the user.
Windows 95 Windows 95 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems. The first operating system in the 9x family, it is the successor to Windows 3.1x, and was released to manufacturin ...
did not launch with DirectX, but DirectX was included with Windows 95 OEM Service Release 2.
Windows 98 Windows 98 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. The second operating system in the 9x line, it is the successor to Windows 95, and was released to ...
and
Windows NT 4.0 Windows NT 4.0 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It is the direct successor to Windows NT 3.51, which was released to manufacturing on July 31, 1996, and then to retail ...
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.


Development history

In late 1994, Microsoft was ready to release
Windows 95 Windows 95 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems. The first operating system in the 9x family, it is the successor to Windows 3.1x, and was released to manufacturin ...
, its next
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
. An important factor in the value consumers would place on it was the programs that would be able to run on it. Microsoft employee
Alex St. John Alex St. John, along with Craig Eisler and Eric Engstrom, created the original Microsoft DirectX technology platform. Alex became the Microsoft Windows Game technology evangelist for DirectX through his early work at Microsoft (1992-1997) to advanc ...
had been in discussions with various game developers asking how likely they would be to bring their
MS-DOS MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few ope ...
games to Windows 95, and found the responses mostly negative;
programmers A computer programmer, sometimes referred to as a software developer, a software engineer, a programmer or a coder, is a person who creates computer programs — often for larger computer software. A programmer is someone who writes/creates ...
had found that the Windows environment did not provide the necessary features which were available under MS-DOS using
BIOS In computing, BIOS (, ; Basic Input/Output System, also known as the System BIOS, ROM BIOS, BIOS ROM or PC BIOS) is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the ...
routines or direct hardware access. 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 A wing is a type of fin that produces lift while moving through air or some other fluid. Accordingly, wings have streamlined cross-sections that are subject to aerodynamic forces and act as airfoils. A wing's aerodynamic efficiency is expres ...
programming interface. Due to numerous incompatible graphics drivers from new
Compaq Compaq Computer Corporation (sometimes abbreviated to CQ prior to a 2007 rebranding) was an American information technology company founded in 1982 that developed, sold, and supported computers and related products and services. Compaq produced ...
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 The Walt Disney Company, commonly known as Disney (), is an American multinational mass media and entertainment conglomerate headquartered at the Walt Disney Studios complex in Burbank, California. Disney was originally founded on October ...
's call-in help lines. St. John recognized the resistances for game development under Windows would be a limitation, and recruited two additional engineers, Craig Eisler and
Eric Engstrom Eric Engstrom (January 25, 1965December 1, 2020) was an American software engineer. While working at Microsoft, Engstrom alongside Alex St. John and Craig Eisler was responsible for the development of DirectX, an application programming interf ...
, to develop a better solution to get more programmers to develop games for Windows. The project was codenamed the Manhattan Project, as in relation to the World War II project of the same name, the idea was to displace the Japanese-developed video game consoles with personal computers running Microsoft's operating system. It had initially used the
radiation symbol Hazard symbols or warning symbols are recognisable symbols designed to warn about hazardous or dangerous materials, locations, or objects, including electric currents, poisons, and radioactivity. The use of hazard symbols is often regulated by l ...
as its logo but Microsoft asked the team to change the logo. Management did not agree to the project as they were already writing off Windows as a gaming platform, but the three committed towards this project's development. Their rebellious nature led
Brad Silverberg Brad Silverberg is an American computer scientist and businessman, most noted for his work at Microsoft in 1990–1999 as Senior VP and product manager for MS-DOS, Windows, Internet Explorer, and Office. He was named ''PC Magazine''s Person of the ...
, the senior vice president of Microsoft's office products, to name the trio the "Beastie Boys". Most of the work by the three was done among other assigned projects starting near the end of 1994. Within four months and with input from several hardware manufacturers, the team had developed the first set of
application programming interface An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how t ...
s (APIs) which they presented at the 1995
Game Developers Conference The Game Developers Conference (GDC) is an annual conference for video game developers. The event includes an expo, networking events, and awards shows like the Game Developers Choice Awards and Independent Games Festival, and a variety of tutori ...
. The SDK included libraries implementing DirectDraw for bit-mapped graphics, DirectSound for audio, and DirectPlay for communication between players over a network. Furthermore, an extended joystick API already present in Windows 95 was documented for the first time as DirectInput, 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. The "Direct" part of the library was so named as these routines bypassed existing core Windows 95 routines and accessed the computer hardware only via a
hardware abstraction layer Hardware abstractions are sets of routines in software that provide programs with access to hardware resources through programming interfaces. The programming interface allows all devices in a particular class ''C'' of hardware devices to be acce ...
(HAL). Though the team had named it the "Game SDK" (
software development kit A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific to ...
), the name "DirectX" came from one journalist that had mocked the naming scheme of the various libraries. The team opted to continue to use that naming scheme and call the project DirectX. The first version of DirectX was released in September 1995 as the Windows Games SDK. Its DirectDraw component was the
Win32 The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces (APIs) available in the Microsoft Windows operating systems. The name Windows API collectively refers to several different platform implementations th ...
replacement for the DCI and WinG APIs for
Windows 3.1 Windows 3.1 is a major release of Microsoft Windows. It was released to manufacturing on April 6, 1992, as a successor to Windows 3.0. Like its predecessors, the Windows 3.1 series ran as a shell on top of MS-DOS. Codenamed Janus, Windows 3 ...
. 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. To get more developers on board DirectX, Microsoft approached
id Software id Software LLC () is an American video game developer based in Richardson, Texas. It was founded on February 1, 1991, by four members of the computer company Softdisk: programmers John Carmack and John Romero, game designer Tom Hall, and ar ...
's
John Carmack John D. Carmack II (born August 20, 1970) is an American computer programmer and video game developer. He co-founded the video game company id Software and was the lead programmer of its 1990s games ''Commander Keen'', ''Wolfenstein 3D'', ''Doo ...
and offered to port ''
Doom Doom is another name for damnation. Doom may also refer to: People * Doom (professional wrestling), the tag team of Ron Simmons and Butch Reed * Daniel Doom (born 1934), Belgian cyclist * Debbie Doom (born 1963), American softball pitcher * L ...
'' and ''
Doom 2 ''Doom II'', also known as ''Doom II: Hell on Earth'', is a first-person shooter game by id Software. It was released for MS-DOS computers in 1994 and Macintosh computers in 1995. Unlike the original ''Doom'', which was initially only available ...
'' from MS-DOS to DirectX, free of charge, with id retaining all publishing rights to the game. Carmack agreed, and Microsoft's
Gabe Newell Gabe Logan Newell (born November 3, 1962), nicknamed Gaben, is an American businessman and the president of the video game company Valve. Newell was born in Colorado and grew up in Davis, California. He attended Harvard University in the early ...
led the porting project. The first game was released as ''Doom 95'' in August 1996, the first published DirectX game. Microsoft promoted the game heavily with
Bill Gates William Henry Gates III (born October 28, 1955) is an American business magnate and philanthropist. He is a co-founder of Microsoft, along with his late childhood friend Paul Allen. During his career at Microsoft, Gates held the positions ...
appearing in ads for the title. DirectX 2.0 became a component of Windows itself with the releases of
Windows 95 Windows 95 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems. The first operating system in the 9x family, it is the successor to Windows 3.1x, and was released to manufacturin ...
OSR2 and
Windows NT 4.0 Windows NT 4.0 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It is the direct successor to Windows NT 3.51, which was released to manufacturing on July 31, 1996, and then to retail ...
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 The Game Developers Conference (GDC) is an annual conference for video game developers. The event includes an expo, networking events, and awards shows like the Game Developers Choice Awards and Independent Games Festival, and a variety of tutori ...
which game developer Jay Barnson described as a
Roman Roman or Romans most often refers to: *Rome, the capital city of Italy *Ancient Rome, Roman civilization from 8th century BC to 5th century AD *Roman people, the people of ancient Rome *''Epistle to the Romans'', shortened to ''Romans'', a letter ...
theme, including real
lion The lion (''Panthera leo'') is a large Felidae, cat of the genus ''Panthera'' native to Africa and India. It has a muscular, broad-chested body; short, rounded head; round ears; and a hairy tuft at the end of its tail. It is sexually dimorphi ...
s, togas, and something resembling an indoor carnival. It was at this event that Microsoft first introduced
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware a ...
, and demonstrated multiplayer '' MechWarrior 2'' being played over the Internet. The DirectX team faced the challenging task of testing each DirectX release against an array of
computer hardware Computer hardware includes the physical parts of a computer, such as the computer case, case, central processing unit (CPU), Random-access memory, random access memory (RAM), Computer monitor, monitor, Computer mouse, mouse, Computer keyboard, ...
and
software Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
. 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 added
OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
to their
Windows NT Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system. The first version of Windo ...
platform. OpenGL had been designed as a cross-platform,
window system In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer) paradigm for ...
independent software interface to graphics hardware by
Silicon Graphics, Inc. Silicon Graphics, Inc. (stylized as SiliconGraphics before 1999, later rebranded SGI, historically known as Silicon Graphics Computer Systems or SGCS) was an American high-performance computing manufacturer, producing computer hardware and soft ...
to bring 3D graphics programming into the mainstream of application programming. Besides it could also be used for 2D graphics and imaging and was controlled by the Architectural Review Board (ARB) which included Microsoft. Direct3D was intended to be a Microsoft controlled alternative to OpenGL, focused initially on game use. As 3D gaming grew game developers were discovering that OpenGL could be used effectively for game development. 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 the OpenGL 3D graphics API in
computer games A personal computer game, also known as a PC game or computer game, is a type of video game played on a personal computer (PC) rather than a video game console or arcade machine. Its defining characteristics include: more diverse and user-deter ...
, the other APIs of DirectX besides Direct3D were often combined with OpenGL 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 is a video gaming brand created and owned by Microsoft. The brand consists of five video game consoles, as well as applications (games), streaming services, an online service by the name of Xbox network, and the development arm by the na ...
,
Xbox 360 The Xbox 360 is a home video game console developed by Microsoft. As the successor to the original Xbox, it is the second console in the Xbox series. It competed with Sony's PlayStation 3 and Nintendo's Wii as part of the seventh generation ...
and
Xbox One The Xbox One is a home video game console developed by Microsoft. Announced in May 2013, it is the successor to Xbox 360 and the third base console in the Xbox series of video game consoles. It was first released in North America, parts of ...
console Console may refer to: Computing and video games * System console, a physical device to operate a computer ** Virtual console, a user interface for multiple computer consoles on one device ** Command-line interface, a method of interacting with ...
API. The API was developed jointly between Microsoft and
Nvidia Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
, which developed the custom graphics hardware used by the original Xbox. The Xbox API was 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 (sometimes abbreviated as DS or DShow), 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 ear ...
was removed from DirectX and moved to the
Microsoft Platform SDK Microsoft Windows SDK, and its predecessors Platform SDK, and .NET Framework SDK, are software development kits (SDKs) from Microsoft that contain documentation, header files, libraries, samples and tools required to develop applications for Micr ...
instead. DirectX has been confirmed to be present in Microsoft's
Windows Phone 8 Windows Phone 8 is the second generation of the Windows Phone mobile operating system from Microsoft. It was released on October 29, 2012, and, like its predecessor, it features a flat user interface based on the Metro design language. It was su ...
. Real-time raytracing was announced as DXR in 2018. Support for compiling
HLSL The High-Level Shader Language or High-Level Shading Language (HLSL) is a proprietary shading language developed by Microsoft for the Direct3D 9 API to augment the shader assembly language, and went on to become the required shading language f ...
to
SPIR-V Standard Portable Intermediate Representation (SPIR) is an intermediate language for parallel compute and graphics by Khronos Group. It is used in multiple execution environments, including the Vulkan graphics API and the OpenCL compute API, to re ...
was also added in the DirectX Shader Compiler the same year.


Logos

The original logo resembled a deformed
radiation warning symbol In physics, radiation is the emission or transmission of energy in the form of waves or particles through space or through a material medium. This includes: * ''electromagnetic radiation'', such as radio waves, microwaves, infrared, visib ...
. Controversially, the original name for the DirectX project was the "Manhattan Project", a reference to the US nuclear weapons initiative.
Alex St. John Alex St. John, along with Craig Eisler and Eric Engstrom, created the original Microsoft DirectX technology platform. Alex became the Microsoft Windows Game technology evangelist for DirectX through his early work at Microsoft (1992-1997) to advanc ...
, head of Microsoft DirectX evangelism at the time, claims that the connotation of the ultimate outcome of the Manhattan Project (the nuclear bombing of Japan) is intentional, and that DirectX and its sister project, the
Xbox Xbox is a video gaming brand created and owned by Microsoft. The brand consists of five video game consoles, as well as applications (games), streaming services, an online service by the name of Xbox network, and the development arm by the na ...
(which shares a similar logo), were meant to displace Japanese videogame-makers from their dominance of the
video game industry The video game industry encompasses the development, marketing, and monetization of video games. The industry encompasses dozens of job disciplines and thousands of jobs worldwide. The video game industry has grown from niches to mainstream. , ...
. However, Microsoft publicly denies this account, instead claiming that the logo is merely an artistic design. File:DirectX 1 logo.png, DirectX 1.0–8.2 File:Directx9.png, DirectX 9.0 File:DirectX 12 Ultimate.png, DirectX 12 Ultimate


Components

DirectX is composed of multiple APIs: *
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware a ...
(D3D): Real-time
3D rendering 3D rendering is the 3D computer graphics process of converting 3D modeling, 3D models into 2D computer graphics, 2D images on a computer. 3D renders may include photorealistic rendering, photorealistic effects or non-photorealistic rendering, no ...
API *
DXGI DirectX Graphics Infrastructure (DXGI) is a user-mode component of Microsoft Windows (for Windows Vista and above) which provides a mapping between particular graphics APIs such as Direct3D 10.0 and above (known in DXGI parlance as producers) and ...
: Enumerates adapters and monitors and manages swap chains for Direct3D 10 and later. *
Direct2D Direct2D is a 2D computer graphics, 2D vector graphics, vector graphics application programming interface (API) designed by Microsoft and implemented in Windows 10, Windows 8, Windows 7 and Windows Server 2008 R2, and also Windows Vista and Windows ...
: 2D graphics API *
DirectWrite DirectWrite is a text layout and glyph rendering Application programming interface, API by Microsoft. It was designed to replace Graphics Device Interface, GDI/GDI+ and Uniscribe for screen-oriented rendering and was first shipped with Windows 7 an ...
: Text rendering API *
DirectCompute Microsoft DirectCompute is an application programming interface (API) that supports running compute kernels on general-purpose computing on graphics processing units on Microsoft's Windows Vista, Windows 7 and later versions. DirectCompute is part ...
: API for
general-purpose computing on graphics processing units General-purpose computing on graphics processing units (GPGPU, or less often GPGP) is the use of a graphics processing unit (GPU), which typically handles computation only for computer graphics, to perform computation in applications traditiona ...
* DirectX Diagnostics (DxDiag): A tool for diagnosing and generating reports on components related to DirectX, such as audio, video, and input drivers * XACT3: High-level audio API *
XAudio2 XAudio2 is a lower-level audio Application programming interface, API for Microsoft Windows, Xbox 360 and Windows Phone 8, the successor to DirectSound on Windows and a supplement to the original XAudio on the Xbox 360. XAudio2 operates through t ...
: Low-level audio API *
DirectX Raytracing DirectX Raytracing (DXR) is a feature introduced in Microsoft's DirectX 12 that implements ray tracing, for video graphic rendering. DXR was released with the Windows 10 October update (version 1809) on October 10, 2018. It requires an AMD Radeo ...
(DXR): Real-time raytracing API *
DirectStorage The Xbox Series X/S are home video game consoles developed by Microsoft. They were both released on November 10, 2020, as the fourth generation Xbox, succeeding the Xbox One. Along with Sony's PlayStation 5, also released in November 2020, ...
: GPU-oriented file I/O API *
DirectML Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardwa ...
: GPU-accelerated machine learning and artificial intelligence API Microsoft has deprecated the following components: *
DirectX Media DirectX Media is a set of multimedia-related APIs for Microsoft Windows complementing DirectX. Retained Mode was used by a variety of applications and can still be implemented on systems newer than XP by copying the ''d3drm.dll'' file from an ol ...
: Consists of: ** DirectAnimation for 2D/3D web animation,
DirectShow DirectShow (sometimes abbreviated as DS or DShow), 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 ear ...
for multimedia playback and
streaming media Streaming media is multimedia that is delivered and consumed in a continuous manner from a source, with little or no intermediate storage in network elements. ''Streaming'' refers to the delivery method of content, rather than the content it ...
** DirectX Media Objects: Support for streaming objects such as encoders, decoders, and effects (Deprecated in favor of
Media Foundation Transform Media Foundation (MF) is a COM-based multimedia framework pipeline and infrastructure platform for digital media in Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10, and Windows 11. It is the intended replacement for Microsoft DirectS ...
s; MFTs) ** DirectX Transform for web interactivity, and Direct3D Retained Mode for higher level 3D graphics **
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 synthesize ...
s for
audio signal processing Audio signal processing is a subfield of signal processing that is concerned with the electronic manipulation of audio signals. Audio signals are electronic representations of sound waves—longitudinal waves which travel through air, consisting ...
**
DirectX Video Acceleration DirectX Video Acceleration (DXVA) 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 ...
for accelerated video playback (Deprecated in favor of
Media Foundation Media Foundation (MF) is a COM-based multimedia framework pipeline and infrastructure platform for digital media in Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10, and Windows 11. It is the intended replacement for Microsoft Direc ...
) *
DirectDraw DirectDraw (ddraw.dll) is an API that used to be a part of Microsoft's DirectX API. DirectDraw is used to accelerate rendering of 2D graphics in applications. DirectDraw also allows applications to run fullscreen or embedded in a window such as mo ...
: 2D graphics API (Deprecated in favor of
Direct2D Direct2D is a 2D computer graphics, 2D vector graphics, vector graphics application programming interface (API) designed by Microsoft and implemented in Windows 10, Windows 8, Windows 7 and Windows Server 2008 R2, and also Windows Vista and Windows ...
) *
DirectInput In computing, DirectInput is a legacy Microsoft API for collecting input from a computer user, via input devices such as the mouse, keyboard, or a gamepad. It also provides a system for ''action mapping,'' which allows the user to assign specific ...
: Input API for interfacing with
keyboards Keyboard may refer to: Text input * Keyboard, part of a typewriter * Computer keyboard ** Keyboard layout, the software control of computer keyboards and their mapping ** Keyboard technology, computer keyboard hardware and firmware Music * Musi ...
,
mice A mouse ( : mice) is a small rodent. Characteristically, mice are known to have a pointed snout, small rounded ears, a body-length scaly tail, and a high breeding rate. The best known mouse species is the common house mouse (''Mus musculus' ...
,
joystick A joystick, sometimes called a flight stick, 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. A joystick, also known as the control column, is the principal cont ...
s, and
game controller A game controller, gaming controller, or simply controller, is an input device used with video games or entertainment systems to provide input to a video game, typically to control an object or character in the game. Before the seventh generation ...
s (Deprecated after version 8 in favor of
XInput In computing, DirectInput is a legacy Microsoft API for collecting input from a computer user, via input devices such as the mouse, keyboard, or a gamepad. It also provides a system for ''action mapping,'' which allows the user to assign specif ...
for
Xbox 360 The Xbox 360 is a home video game console developed by Microsoft. As the successor to the original Xbox, it is the second console in the Xbox series. It competed with Sony's PlayStation 3 and Nintendo's Wii as part of the seventh generation ...
controllers or standard WM_INPUT window message processing for keyboard and mouse input) *
DirectPlay DirectPlay is part of Microsoft's DirectX API. It is a network communication library intended for computer game development, although it can be used for other purposes. DirectPlay is a high-level software interface between applications and commun ...
: Network API for communication over a local-area or wide-area network (Deprecated after version 8 in favor of
Games for Windows Live A game is a structured form of play, usually undertaken for entertainment or fun, and sometimes used as an educational tool. Many games are also considered to be work (such as professional players of spectator sports or games) or art (such ...
and
Xbox Live The Xbox network, formerly and still sometimes branded as Xbox Live, is an Internet, online multiplayer video game, multiplayer gaming and digital media delivery service created and operated by Microsoft. It was first made available to the Xbox ...
) *
DirectSound DirectSound is a deprecated software component of the Microsoft DirectX library for the Windows operating system, superseded by XAudio2. It provides a low-latency interface to sound card drivers written for Windows 95 through Windows XP and can h ...
: Audio API (Deprecated since DirectX 8 in favor of
XAudio2 XAudio2 is a lower-level audio Application programming interface, API for Microsoft Windows, Xbox 360 and Windows Phone 8, the successor to DirectSound on Windows and a supplement to the original XAudio on the Xbox 360. XAudio2 operates through t ...
and XACT3) *
DirectSound3D DirectSound is a deprecated software component of the Microsoft DirectX library for the Microsoft Windows, Windows operating system, superseded by XAudio2. It provides a low-latency interface to sound card drivers written for Windows 95 through Wi ...
(DS3D): 3D sounds API (Deprecated since DirectX 8 in favor of XAudio2 and XACT3) *
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 se ...
: Components for playing soundtracks authored in DirectMusic Producer (Deprecated since DirectX 8 in favor of XAudio2 and XACT3) DirectX functionality is provided in the form of
COM Com or COM may refer to: Computing * COM (hardware interface), a serial port interface on IBM PC-compatible computers * COM file, or .com file, short for "command", a file extension for an executable file in MS-DOS * .com, an Internet top-level d ...
-style objects and interfaces. Additionally, while not DirectX components themselves, managed 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. Microsoft distributes debugging tool for DirectX called "PIX".


Versions


DirectX 9

DirectX 9 was released in 2002 for Windows 98, Me, and XP, and currently is supported by all subsequent versions. Microsoft continues to make changes in DirectX 9.0c, causing support to be dropped for some of the aforementioned operating systems. As of January 2007, Windows 2000 or XP is required. This also introduced Shader Model 2.0 containing Pixel Shader 2.0 and Vertex Shader 2.0. Windows XP SP2 and newer include DirectX 9.0c, but may require a newer DirectX runtime redistributable installation for DirectX 9.0c applications compiled with the February 2005 DirectX 9.0 SDK or newer.


DirectX 10

A major update to DirectX API, DirectX 10 ships with and is only available with
Windows Vista Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, which was released five years before, at the time being the longest time span between successive releases of ...
(launched in late 2006) and later. Previous versions of Windows such as Windows XP are not able to run DirectX 10-exclusive applications. Rather, programs that are run on a Windows XP system with DirectX 10 hardware simply resort to the DirectX 9.0c code path, the latest available for Windows XP computers. Changes for DirectX 10 were extensive. Many former parts of DirectX API were deprecated in the latest DirectX SDK and are preserved for compatibility only:
DirectInput In computing, DirectInput is a legacy Microsoft API for collecting input from a computer user, via input devices such as the mouse, keyboard, or a gamepad. It also provides a system for ''action mapping,'' which allows the user to assign specific ...
was deprecated in favor of
XInput In computing, DirectInput is a legacy Microsoft API for collecting input from a computer user, via input devices such as the mouse, keyboard, or a gamepad. It also provides a system for ''action mapping,'' which allows the user to assign specif ...
,
DirectSound DirectSound is a deprecated software component of the Microsoft DirectX library for the Windows operating system, superseded by XAudio2. It provides a low-latency interface to sound card drivers written for Windows 95 through Windows XP and can h ...
was deprecated in favor of the
Cross-platform Audio Creation Tool Cross-platform Audio Creation Tool (XACT) is an audio programming library and engine released by Microsoft as part of the DirectX Software development kit, SDK. It is a high-level audio library for authoring/playing audio that is written to use ''X ...
system (XACT) and additionally lost support for hardware accelerated audio, since the 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 (WDDM) is the graphic driver architecture for video card drivers running Microsoft Windows versions beginning with Windows Vista. It is a replacement for the previous Windows 2000 and Windows XP display driver model X ...
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 (a backronym for ''Authentic, Energetic, Reflective, and Open'') is a design language introduced in the Windows Vista operating system. The changes made in the Aero interface affected many elements of the Windows interface, includin ...
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. Direct3D 10.1 is an incremental update of Direct3D 10.0 which shipped with, and required,
Windows Vista Service Pack 1 Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, which was released five years before, at the time being the longest time span between successive releases of ...
, which was released in February 2008. 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. The Final Platform Update launched for Windows Vista on October 27, 2009, which was a week after the initial release of
Windows 7 Windows 7 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on July 22, 2009, and became generally available on October 22, 2009. It is the successor to Windows Vista, released nearly ...
, which launched with Direct3D 11 as a base standard. Major scheduled features including
GPGPU General-purpose computing on graphics processing units (GPGPU, or less often GPGP) is the use of a graphics processing unit (GPU), which typically handles computation only for computer graphics, to perform computation in applications traditiona ...
support (
DirectCompute Microsoft DirectCompute is an application programming interface (API) that supports running compute kernels on general-purpose computing on graphics processing units on Microsoft's Windows Vista, Windows 7 and later versions. DirectCompute is part ...
), and Direct3D 11 with
tessellation A tessellation or tiling is the covering of a surface, often a plane (mathematics), plane, using one or more geometric shapes, called ''tiles'', with no overlaps and no gaps. In mathematics, tessellation can be generalized to high-dimensional ...
support and improved multi-threading support to assist video game developers in developing games that better utilize
multi-core A multi-core processor is a microprocessor on a single integrated circuit with two or more separate processing units, called cores, each of which reads and executes program instructions. The instructions are ordinary CPU instructions (such a ...
processors.Windows 7 and D3D 11 release date
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. Four updates for DirectX 11 were released: * DirectX 11.1 is included in
Windows 8 Windows 8 is a major release of the Windows NT operating system developed by Microsoft. It was Software release life cycle#Release to manufacturing (RTM), released to manufacturing on August 1, 2012; it was subsequently made available for downl ...
. It supports WDDM 1.2 for increased performance, features improved integration of
Direct2D Direct2D is a 2D computer graphics, 2D vector graphics, vector graphics application programming interface (API) designed by Microsoft and implemented in Windows 10, Windows 8, Windows 7 and Windows Server 2008 R2, and also Windows Vista and Windows ...
(now at version 1.1),
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware a ...
, and
DirectCompute Microsoft DirectCompute is an application programming interface (API) that supports running compute kernels on general-purpose computing on graphics processing units on Microsoft's Windows Vista, Windows 7 and later versions. DirectCompute is part ...
, and includes DirectXMath,
XAudio2 XAudio2 is a lower-level audio Application programming interface, API for Microsoft Windows, Xbox 360 and Windows Phone 8, the successor to DirectSound on Windows and a supplement to the original XAudio on the Xbox 360. XAudio2 operates through t ...
, and
XInput In computing, DirectInput is a legacy Microsoft API for collecting input from a computer user, via input devices such as the mouse, keyboard, or a gamepad. It also provides a system for ''action mapping,'' which allows the user to assign specif ...
libraries from the XNA framework. It also features
stereoscopic 3D Stereoscopy (also called stereoscopics, or stereo imaging) is a technique for creating or enhancing the illusion of depth in an image by means of stereopsis for binocular vision. The word ''stereoscopy'' derives . Any stereoscopic image is ...
support for gaming and video. DirectX 11.1 was also partially
backport Backporting is the action of taking parts from a newer version of a software system or software component and porting them to an older version of the same software. It forms part of the maintenance step in a software development process, and it is ...
ed to Windows 7, via the
Windows 7 platform update Windows 7 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on July 22, 2009, and became generally available on October 22, 2009. It is the successor to Windows Vista, released nearly ...
. * DirectX 11.2 is included in
Windows 8.1 Windows 8.1 is a release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on August 27, 2013, and broadly released for retail sale on October 17, 2013, about a year after the retail release of its pre ...
(including the RT version) and
Windows Server 2012 R2 Windows Server 2012 R2, codenamed "Windows Server 8.1" or "Windows Server Blue", is the seventh version of the Windows Server operating system by Microsoft, as part of the Windows NT family of operating systems. It was unveiled on June 3, 2013 a ...
. It added some new features to
Direct2D Direct2D is a 2D computer graphics, 2D vector graphics, vector graphics application programming interface (API) designed by Microsoft and implemented in Windows 10, Windows 8, Windows 7 and Windows Server 2008 R2, and also Windows Vista and Windows ...
like geometry realizations. It also added swap chain composition, which allows some elements of the scene to be rendered at lower resolutions and then composited via hardware overlay with other parts rendered at higher resolution. * DirectX 11.X is a superset of DirectX 11.2 running on the
Xbox One The Xbox One is a home video game console developed by Microsoft. Announced in May 2013, it is the successor to Xbox 360 and the third base console in the Xbox series of video game consoles. It was first released in North America, parts of ...
. It actually includes some features, such as draw bundles, that were later announced as part of DirectX 12. * DirectX 11.3 was announced along with DirectX 12 at GDC and released in 2015. It is meant to complement DirectX 12 as a higher-level alternative. It is included with Windows 10.


DirectX 12

DirectX 12 was announced by Microsoft at GDC on March 20, 2014, and was officially launched alongside
Windows 10 Windows 10 is a major release of Microsoft's Windows NT operating system. It is the direct successor to Windows 8.1, which was released nearly two years earlier. It was released to manufacturing on July 15, 2015, and later to retail on J ...
on July 29, 2015. The primary feature highlight for the new release of DirectX was the introduction of advanced
low-level programming A low-level programming language is a programming language that provides little or no abstraction from a computer's instruction set architecture—commands or functions in the language map that are structurally similar to processor's instructions ...
APIs for
Direct3D 12 Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware a ...
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 Parallel computing is a type of computation in which many calculations or processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. There are several different for ...
. Lead developer Max McMullen stated that the main goal of Direct3D 12 is to achieve "console-level efficiency on phone, tablet and PC". The release of Direct3D 12 comes alongside other initiatives for low-overhead graphics APIs including AMD's
Mantle A mantle is a piece of clothing, a type of cloak. Several other meanings are derived from that. Mantle may refer to: *Mantle (clothing), a cloak-like garment worn mainly by women as fashionable outerwear **Mantle (vesture), an Eastern Orthodox ve ...
for AMD graphics cards, Apple's
Metal A metal (from Greek μέταλλον ''métallon'', "mine, quarry, metal") is a material that, when freshly prepared, polished, or fractured, shows a lustrous appearance, and conducts electricity and heat relatively well. Metals are typicall ...
for iOS and macOS and
Khronos Group The Khronos Group, Inc. is an open, non-profit, member-driven consortium of 170 organizations developing, publishing and maintaining royalty-free interoperability standards for 3D graphics, virtual reality, augmented reality, parallel computation ...
's cross-platform
Vulkan Vulkan is a low- overhead, cross-platform API, open standard for 3D graphics and computing. Vulkan targets high-performance real-time 3D graphics applications, such as video games and interactive media. Vulkan is intended to offer higher perform ...
. 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 AMD CrossFire (also known as CrossFireX) is a brand name for the multi-Graphics processing unit, GPU technology by Advanced Micro Devices, originally developed by ATI Technologies. The technology allows up to four GPUs to be used in a single co ...
or
NVIDIA SLI Scalable Link Interface (SLI) is a brand name for a deprecated multi-GPU technology developed by Nvidia for linking two or more video cards together to produce a single output. SLI is a parallel processing algorithm for computer graphics, meant ...
. *''Implicit Multiadapter'' support will work in a similar manner to previous versions of DirectX where frames are rendered alternately across linked GPUs of similar compute-power. *''Explicit Multiadapter'' will provide two distinct API patterns to developers. ''Linked GPUs'' will allow DirectX to view graphics cards in SLI or CrossFireX as a single GPU and use the combined resources; whereas ''Unlinked GPUs'' will allow GPUs from different vendors to be utilized by DirectX, such as supplementing the dedicated GPU with the
integrated GPU A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobil ...
on the CPU, or combining AMD and NVIDIA cards. However, elaborate mixed multi-GPU setups requires significantly more attentive developer support. DirectX 12 is supported on all
Fermi Enrico Fermi (; 29 September 1901 – 28 November 1954) was an Italian (later naturalized American) physicist and the creator of the world's first nuclear reactor, the Chicago Pile-1. He has been called the "architect of the nuclear age" and ...
and later Nvidia GPUs, on AMD's GCN-based chips and on Intel's Haswell and later processors' graphics units. At
SIGGRAPH SIGGRAPH (Special Interest Group on Computer Graphics and Interactive Techniques) is an annual conference on computer graphics (CG) organized by the ACM SIGGRAPH, starting in 1974. The main conference is held in North America; SIGGRAPH Asia ...
2014, Intel released a demo showing a computer generated
asteroid field The asteroid belt is a torus-shaped region in the Solar System, located roughly between the orbits of the planets Jupiter and Mars. It contains a great many solid, irregularly shaped bodies, of many sizes, but much smaller than planets, called ...
, in which DirectX 12 was claimed to be 50–70% more efficient than DirectX 11 in rendering speed and CPU power consumption. ''
Ashes of the Singularity ''Ashes of the Singularity'' is a real-time strategy video game developed by Oxide Games and Stardock Entertainment. The game was released for Microsoft Windows on March 31, 2016. The game features massive battles involving thousands of units on ...
'' was the first publicly available game to utilize DirectX 12. Testing by ''
Ars Technica ''Ars Technica'' is a website covering news and opinions in technology, science, politics, and society, created by Ken Fisher and Jon Stokes in 1998. It publishes news, reviews, and guides on issues such as computer hardware and software, sci ...
'' in August 2015 revealed slight performance regressions in DirectX 12 over DirectX 11 mode for the Nvidia GeForce 980 Ti, whereas the AMD Radeon R9 290x achieved consistent performance improvements of up to 70% under DirectX 12, and in some scenarios the AMD outperformed the more powerful Nvidia under DirectX 12. The performance discrepancies may be due to poor Nvidia driver optimizations for DirectX 12, or even hardware limitations of the card which was optimized for DirectX 11 serial execution; however, the exact cause remains unclear. The performance improvements of DirectX 12 on the Xbox are not as substantial as on the PC. In March 2018, DirectX Raytracing (DXR) was announced, capable of real-time ray-tracing on supported hardware, and the DXR API was added in the Windows 10 October 2018 update. In 2019 Microsoft announced the arrival of DirectX 12 to
Windows 7 Windows 7 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on July 22, 2009, and became generally available on October 22, 2009. It is the successor to Windows Vista, released nearly ...
but only as a plug-in for certain game titles.


DirectX 12 Ultimate

Microsoft revealed DirectX 12 Ultimate in March 2020. DirectX 12 Ultimate will unify to a common library on both Windows 10 computers and the
Xbox Series X The Xbox Series X/S are home video game consoles developed by Microsoft. They were both released on November 10, 2020, as the fourth generation Xbox, succeeding the Xbox One. Along with Sony's PlayStation 5, also released in November 2020, t ...
and other ninth-generation Xbox consoles. 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.


Version history

The version number as reported by Microsoft's
DxDiag DirectX Diagnostic Tool (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. These files are often posted in tech ...
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 (MSDN) was the division of Microsoft responsible for managing the firm's relationship with developers and testers, such as hardware developers interested in the operating system (OS), and software developers developing ...
page claims that the registry always has been in the x.xx.xx.xxxx format. Therefore, when the above table lists a version as '4.09.00.0904' Microsoft's
DxDiag DirectX Diagnostic Tool (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. These files are often posted in tech ...
tool may have it as '4.09.0000.0904'.


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 In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and ot ...
. Hardware 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 is a Microsoft service for the Windows 9x and Windows NT families of operating system, which automates downloading and installing Microsoft Windows software updates over the Internet. The service delivers software updates for Wind ...
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. Direct3D 7 and earlier would work on any version of the DDI, Direct3D 8 requires a minimum DDI level of 6 and Direct3D 9 requires a minimum DDI level of 7. 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 10.1 Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render 3D computer graphics, three-dimensional graphics in applications where performance is important, such as games. Dir ...
introduces " feature levels" 10_0 and 10_1, which allow use of only the hardware features defined in the specified version of Direct3D API.
Direct3D 11 Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware a ...
adds level 11_0 and "10 Level 9" - a subset of the Direct3D 10 API designed to run on Direct3D 9 hardware, which has three feature levels (9_1, 9_2 and 9_3) grouped by common capabilities of "low", "med" and "high-end" video cards; the runtime directly uses Direct3D 9 DDI provided in all WDDM drivers. Feature level 11_1 has been introduced with
Direct3D 11.1 Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render 3D computer graphics, three-dimensional graphics in applications where performance is important, such as games. Dir ...
.


.NET Framework

In 2002, Microsoft released a version of DirectX compatible with the Microsoft
.NET Framework The .NET Framework (pronounced as "''dot net"'') is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until bein ...
, 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 (MDX) is Microsoft's deprecated API for DirectX programming on .NET Framework. MDX can be used from any language on .NET Framework (via the Common Language Runtime). MDX can be used to develop multimedia and interactive applications ...
" (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 2006, Microsoft presented the XNA Framework, 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, 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 (MDX) is Microsoft's deprecated API for DirectX programming on .NET Framework. MDX can be used from any language on .NET Framework (via the Common Language Runtime). MDX can be used to develop multimedia and interactive applications ...
, XNA Framework or the
Xbox 360 The Xbox 360 is a home video game console developed by Microsoft. As the successor to the original Xbox, it is the second console in the Xbox series. It competed with Sony's PlayStation 3 and Nintendo's Wii as part of the seventh generation ...
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, an open source library for DirectX programming on the .NET Framework * SharpDX, which is an open source project delivering the full DirectX API for .NET on all Windows platforms, allowing the development of high performance game, 2D and 3D graphics rendering as well as real-time sound applications
DirectShow.NET
for the DirectShow subset
Windows API CodePack for .NET Framework
which is an open source library from Microsoft.


Alternatives

There are alternatives to the DirectX family of
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standa ...
s, with
OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
, its successor
Vulkan Vulkan is a low- overhead, cross-platform API, open standard for 3D graphics and computing. Vulkan targets high-performance real-time 3D graphics applications, such as video games and interactive media. Vulkan is intended to offer higher perform ...
,
Metal A metal (from Greek μέταλλον ''métallon'', "mine, quarry, metal") is a material that, when freshly prepared, polished, or fractured, shows a lustrous appearance, and conducts electricity and heat relatively well. Metals are typicall ...
and
Mantle A mantle is a piece of clothing, a type of cloak. Several other meanings are derived from that. Mantle may refer to: *Mantle (clothing), a cloak-like garment worn mainly by women as fashionable outerwear **Mantle (vesture), an Eastern Orthodox ve ...
having the most features comparable to
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware a ...
. Examples of other APIs include SDL,
Allegro Allegro may refer to: Common meanings * Allegro (music), a tempo marking indicate to play fast, quickly and bright * Allegro (ballet), brisk and lively movement Artistic works * L'Allegro (1645), a poem by John Milton * ''Allegro'' (Satie), an ...
,
OpenMAX OpenMAX (Open Media Acceleration), often shortened as "OMX", is a non-proprietary and royalty-free cross-platform set of C-language programming interfaces. It provides abstractions for routines that are especially useful for processing of audio, ...
, OpenML,
OpenAL OpenAL (Open Audio Library) is a cross-platform audio application programming interface (API). It is designed for efficient rendering of multichannel three-dimensional positional audio. Its API style and conventions deliberately resemble those ...
,
OpenCL OpenCL (Open Computing Language) is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-progra ...
, FMOD, SFML 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 is an alcoholic drink typically made from fermented grapes. Yeast consumes the sugar in the grapes and converts it to ethanol and carbon dioxide, releasing heat in the process. Different varieties of grapes and strains of yeasts are m ...
. Furthermore, the developers of
ReactOS ReactOS is a free and open-source operating system for amd64/i686 personal computers intended to be binary-compatible with computer programs and device drivers made for Windows Server 2003 and later versions of Windows. ReactOS has been noted a ...
are trying to reimplement DirectX under the name "ReactX".


See also

*
DxDiag DirectX Diagnostic Tool (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. These files are often posted in tech ...
*
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware a ...
*
Vulkan Vulkan is a low- overhead, cross-platform API, open standard for 3D graphics and computing. Vulkan targets high-performance real-time 3D graphics applications, such as video games and interactive media. Vulkan is intended to offer higher perform ...
*
Simple DirectMedia Layer Simple DirectMedia Layer (SDL) is a cross-platform software development library designed to provide a hardware abstraction layer for computer multimedia hardware components. Software developers can use it to write high-performance computer games ...
*
Comparison of OpenGL and Direct3D Direct3D and OpenGL are competing application programming interfaces (APIs) which can be used in applications to render 2D and 3D computer graphics. , graphics processing units (GPUs) almost always implement one version of both of these APIs. Exa ...
*
Graphics Device Interface The Graphics Device Interface (GDI) is a legacy component of Microsoft Windows responsible for representing graphical objects and transmitting them to output devices such as monitors and printers. Windows apps use Windows API to interact with GDI ...
(GDI) *
Graphics pipeline In computer graphics, a computer graphics pipeline, rendering pipeline or simply graphics pipeline, is a conceptual model that describes what steps a graphics system needs to perform to Rendering (computer graphics), render a ...
*
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 synthesize ...
*
ActiveX ActiveX is a deprecated software framework created by Microsoft that adapts its earlier Component Object Model (COM) and Object Linking and Embedding (OLE) technologies for content downloaded from a network, particularly from the World Wide Web. ...
*
Timeout Detection and Recovery Timeout Detection and Recovery or TDR is a feature of the Windows operating system introduced in Windows Vista. It detects response problems from a graphics card, and if a timeout occurs, resets the card to recover a functional desktop environment a ...


References


External links


Microsoft's DirectX developer site
*
The State of DirectX 10 - Image Quality & Performance
{{DEFAULTSORT:Directx 1995 software Application programming interfaces Microsoft application programming interfaces Virtual reality