Microsoft DirectX is a collection of
application programming interface
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standard that des ...
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 (literary theory), writing, Sound, audio, images, animations, or video, into a single presentation. T ...
, 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 ...
and video, on
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
platforms. Originally, the names of these APIs all began with "Direct", such as
Direct3D,
DirectDraw,
DirectMusic,
DirectPlay,
DirectSound, and so forth. The name ''DirectX'' was coined as 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 that consists of four main home video game console lines, as well as application software, applications (games), the streaming media, streaming service Xbox Cloud Gaming, and online services such as the Xbox networ ...
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 and
DirectWrite.
Direct3D (the 3D graphics API within DirectX) is widely used in the development of
video game
A video game or computer game is an electronic game that involves interaction with a user interface or input device (such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device) to generate visual fe ...
s for
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
and the
Xbox
Xbox is a video gaming brand that consists of four main home video game console lines, as well as application software, applications (games), the streaming media, streaming service Xbox Cloud Gaming, and online services such as the Xbox networ ...
line of consoles. Direct3D is also used by other
software
Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital comput ...
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) 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 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. It was the second operating system in the 9x line, as the successor to Windows 95. It was Software ...
and
Windows NT 4.0 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, its next
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
. An important factor in its value to consumers was the programs that would be able to run on it. Microsoft employee
Alex St. John 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 op ...
games to Windows 95, and found the responses mostly negative, since
programmers had found that the Windows environment did not provide the necessary features which were available under MS-DOS using
BIOS 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 both Lift (force), lift and drag while moving through air. Wings are defined by two shape characteristics, an airfoil section and a planform (aeronautics), planform. Wing efficiency is expressed as lift-to-d ...
programming interface. Due to numerous incompatible graphics drivers from new
Compaq
Compaq Computer Corporation was an American information technology, information technology company founded in 1982 that developed, sold, and supported computers and related products and services. Compaq produced some of the first IBM PC compati ...
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 referred to as simply Disney, is an American multinational mass media and entertainment industry, entertainment conglomerate (company), conglomerate headquartered at the Walt Disney Studios (Burbank), Walt Di ...
'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, to develop a better solution to get more programmers to develop games for Windows. The project was codenamed the Manhattan Project, like the
World War II project of the same name, and 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 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, 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 connection between computers or between computer programs. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standard that des ...
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 Award for Game of the Year, Game Developers Choice Awards and ...
.
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 (HAL). Though the team had named it the "Game SDK" (
software development kit), 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 Game SDK. Its DirectDraw component was the
Win32 replacement for the DCI and WinG APIs for
Windows 3.1. 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: game programmer, programmers John Carmack and John Romero, game designer T ...
's
John Carmack and offered to port ''
Doom'' and ''
Doom 2'' from MS-DOS to DirectX, free of charge, with id retaining all publishing rights to the game. Carmack agreed, and Microsoft's
Gabe Newell 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 businessman and philanthropist. A pioneer of the microcomputer revolution of the 1970s and 1980s, he co-founded the software company Microsoft in 1975 with his childhood friend ...
appearing in ads for the title.
DirectX 2.0 became a built-in component of Windows with the releases of
Windows 95 OSR2 and
Windows NT 4.0 in mid-1996. Since Windows 95 itself was 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 which game developer Jay Barnson described as a
Roman theme, including real
lion
The lion (''Panthera leo'') is a large Felidae, cat of the genus ''Panthera'', native to Sub-Saharan Africa and India. It has a muscular, broad-chested body (biology), body; a short, rounded head; round ears; and a dark, hairy tuft at the ...
s, togas, and something resembling an indoor carnival. It was at this event that Microsoft first introduced
Direct3D, 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 central processing unit (CPU), random-access memory (RAM), motherboard, computer data storage, graphics card, sound card, and computer case. It includes external devices ...
and
software
Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital comput ...
. 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 Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
to their
Windows NT platform. OpenGL had been designed as a cross-platform,
window system independent software interface to graphics hardware by
Silicon Graphics, Inc. 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, 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 that consists of four main home video game console lines, as well as application software, applications (games), the streaming media, streaming service Xbox Cloud Gaming, and online services such as the Xbox networ ...
,
Xbox 360
The Xbox 360 is a home video game console developed by Microsoft. As the successor to the Xbox (console), original Xbox, it is the second console in the Xbox#Consoles, Xbox series. It was officially unveiled on MTV on May 12, 2005, with detail ...
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 console in the Xbox#Consoles, Xbox series. It was first released in North America, parts of Europe, Austra ...
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 Corporation ( ) is an American multinational corporation and technology company headquartered in Santa Clara, California, and incorporated in Delaware. Founded in 1993 by Jensen Huang (president and CEO), Chris Malachowsky, and Curti ...
, 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 was removed from DirectX and moved to the
Microsoft Platform SDK 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 Corporation, Microsoft, released on October 29, 2012. It runs on the Windows NT kernel and is the successor to Windows Phone 7. It was the first ...
.
Real-time
raytracing was announced as
DXR in 2018. Support for compiling
HLSL to
SPIR-V was also added in the DirectX Shader Compiler the same year.
Components
DirectX is composed of multiple APIs:
*
Direct3D (D3D): Real-time
3D rendering
3D rendering is the 3D computer graphics process of converting 3D models into 2D images on a computer. 3D renders may include photorealistic effects or non-photorealistic styles.
Rendering methods
Rendering is the final process of creati ...
API
*
DXGI: Enumerates adapters and monitors and manages swap chains for Direct3D 10 and later.
*
Direct2D: 2D graphics API
*
DirectWrite: Text rendering API
*
DirectCompute: API for
general-purpose computing on graphics processing units
* 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: Low-level audio API
*
DirectX Raytracing (DXR): Real-time
raytracing API
*
DirectStorage: GPU-oriented file I/O API
*
DirectML: GPU-accelerated machine learning and artificial intelligence API
*
DirectSR: GPU-accelerated resolution upscaling API
*
Media Foundation
**
DirectX Video Acceleration for accelerated video playback
Microsoft has deprecated the following components:
*
DirectX Media: Consists of:
** DirectAnimation for 2D/3D web animation,
DirectShow for multimedia playback and
streaming media
Streaming media refers to multimedia delivered through a Computer network, network for playback using a Media player (disambiguation), media player. Media is transferred in a ''stream'' of Network packet, packets from a Server (computing), ...
** DirectX Media Objects: Support for streaming objects such as encoders, decoders, and effects (Deprecated in favor of
Media Foundation Transforms; MFTs)
** DirectX Transform for web interactivity, and Direct3D Retained Mode for higher level 3D graphics
** DirectX plugins 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 ...
*
DirectDraw: 2D graphics API (Deprecated in favor of
Direct2D)
*
DirectInput: Input API for interfacing with
keyboards,
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. Also known as the control column, it is the principal control devic ...
s, and
game controller
A game controller, gaming controller, or simply controller, is an input device or Input/Output Device, input/output device used with video games or entertainment systems to provide input to a video game. Input devices that have been classified as ...
s (Deprecated after version 8 in favor of
XInput for
Xbox 360
The Xbox 360 is a home video game console developed by Microsoft. As the successor to the Xbox (console), original Xbox, it is the second console in the Xbox#Consoles, Xbox series. It was officially unveiled on MTV on May 12, 2005, with detail ...
controllers or standard WM_INPUT window message processing for keyboard and mouse input)
*
DirectPlay: Network API for communication over a local-area or wide-area network (Deprecated after version 8 in favor of
Games for Windows Live and
Xbox Live)
*
DirectSound: Audio API (Deprecated since DirectX 8 in favor of
XAudio2 and XACT3)
*
DirectSound3D (DS3D):
3D sounds API (Deprecated since DirectX 8 in favor of XAudio2 and XACT3)
*
DirectMusic: 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-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
Introduced by Microsoft in 2002, DirectX 9 was a significant release in the DirectX family. It brought many important features and enhancements to the graphics capabilities of Windows. At the time of its release, it supported
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. It was the second operating system in the 9x line, as the successor to Windows 95. It was Software ...
,
Windows Me
Windows Me (Millennium Edition) is an operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. It was the successor to Windows 98, and was released to manufacturing on June 19, 2000, and t ...
,
Windows 2000
Windows 2000 is a major release of the Windows NT operating system developed by Microsoft, targeting the server and business markets. It is the direct successor to Windows NT 4.0, and was Software release life cycle#Release to manufacturing (RT ...
, and
Windows XP
Windows XP is a major release of Microsoft's Windows NT operating system. It was released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct successor to Windows 2000 for high-end and business users a ...
. As of August 2024 it remains supported by all subsequent versions of Windows for backward compatibility.
One of the key features introduced in DirectX 9 was Shader Model 2.0, which included Pixel Shader 2.0 and Vertex Shader 2.0. These allowed for more complex and realistic graphics rendering. It also brought much needed performance improvements through better
hardware acceleration capabilities, and better utilization of GPU resources. It also introduced
HLSL, which provided a more accessible way for developers to produce shaders.
DirectX 9.0c was an update to the original, and has been continuously changed over the years affecting its compatibility with older operating systems. As of January 2007, Windows 2000 and Windows XP became the minimum required operating systems. This means support was officially dropped for Windows 98 and Windows Me. As of August 2024, DirectX 9.0c is still regularly updated.
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 9 had a significant impact on game development. Many games from the mid-2000s to early 2010s were developed using DirectX 9 and it became a standard target for developers. Even today, some games still use DirectX 9 as an option for older or less powerful hardware.
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, released five years earlier, which was then the longest time span between successive releases of Microsoft W ...
(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 was deprecated in favor of
XInput,
DirectSound was deprecated in favor of the
Cross-platform Audio Creation Tool 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, initially LDDM as Longhorn Display Driver Model and then WVDDM in times of Windows Vista) is the graphic driver architecture for video card device driver, drivers running Microsoft Windows versions beginning with ...
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 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, 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 Software release life cycle#Release to manufacturing (RTM), released to manufacturing on July 22, 2009, and became generally available on October 22, ...
, 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), and Direct3D 11 with
tessellation support
and improved
multi-threading support to assist video game developers in developing games that better utilize
multi-core
A multi-core processor (MCP) is a microprocessor on a single integrated circuit (IC) with two or more separate central processing units (CPUs), called ''cores'' to emphasize their multiplicity (for example, ''dual-core'' or ''quad-core''). Ea ...
processors.
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, made available for download via Microsoft ...
. It supports
WDDM 1.2 for increased performance, features improved integration of
Direct2D (now at version 1.1),
Direct3D, and
DirectCompute, and includes DirectXMath,
XAudio2, and
XInput libraries from the XNA framework. It also features
stereoscopic 3D support for gaming and video.
DirectX 11.1 was also partially
backported to Windows 7, via the
Windows 7 platform update.
* DirectX 11.2 is included in
Windows 8.1 (including the RT version) and
Windows Server 2012 R2.
It added some new features to
Direct2D 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 console in the Xbox#Consoles, Xbox series. It was first released in North America, parts of Europe, Austra ...
. 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. The successor to Windows 8.1, it was Software release cycle#Release to manufacturing (RTM), released to manufacturing on July 15, 2015, and later to retail on July 2 ...
on July 29, 2015.
The primary feature highlight for the new release of DirectX was the introduction of advanced
low-level programming APIs for
Direct3D 12 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. 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 for AMD graphics cards, Apple's
Metal
A metal () is a material that, when polished or fractured, shows a lustrous appearance, and conducts electrical resistivity and conductivity, electricity and thermal conductivity, heat relatively well. These properties are all associated wit ...
for iOS and macOS and
Khronos Group's cross-platform
Vulkan.
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 or
NVIDIA SLI.
*''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 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 and later Nvidia GPUs, on AMD's
GCN-based chips and on Intel's
Haswell and later processors' graphics units.
At
SIGGRAPH 2014, Intel released a demo showing a computer generated
asteroid field, 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'' 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 Software release life cycle#Release to manufacturing (RTM), released to manufacturing on July 22, 2009, and became generally available on October 22, ...
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 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 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 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 the context of an operating system, 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, enabli ...
. 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 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 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 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.
.NET Framework
In 2002, Microsoft released a version of DirectX compatible with the Microsoft
.NET Framework, 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" (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,
XNA Framework or the
Xbox 360
The Xbox 360 is a home video game console developed by Microsoft. As the successor to the Xbox (console), original Xbox, it is the second console in the Xbox#Consoles, Xbox series. It was officially unveiled on MTV on May 12, 2005, with detail ...
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.NETfor 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 connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
s, with
OpenGL
OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
, its successor
Vulkan,
Metal
A metal () is a material that, when polished or fractured, shows a lustrous appearance, and conducts electrical resistivity and conductivity, electricity and thermal conductivity, heat relatively well. These properties are all associated wit ...
and
Mantle having the most features comparable to
Direct3D. Examples of other APIs include
SDL,
Allegro,
OpenMAX, OpenML,
OpenAL,
OpenCL
OpenCL (Open Computing Language) is a software framework, framework for writing programs that execute across heterogeneous computing, heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), di ...
,
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 made from Fermentation in winemaking, fermented fruit. Yeast in winemaking, Yeast consumes the sugar in the fruit and converts it to ethanol and carbon dioxide, releasing heat in the process. Wine is most often made f ...
. Furthermore, the developers of
ReactOS
ReactOS is a Free and open-source software, free and open-source operating system for i586/amd64 personal computers that is intended to be binary-code compatibility, binary-compatible with computer programs and device drivers developed for Wind ...
are trying to reimplement DirectX under the name "ReactX".
See also
*
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 W ...
*
Direct3D
*
DxDiag
*
Graphics Device Interface (GDI)
*
Graphics pipeline
*
Simple DirectMedia Layer
*
Timeout Detection and Recovery Timeout Detection and Recovery or TDR is a feature of the Windows operating system (OS) introduced in Windows Vista. It detects response problems from a graphics card (GPU), and if a timeout occurs, the OS will attempt a card reset to recover a fun ...
*
Vulkan
References
External links
Microsoft's DirectX developer siteThe State of DirectX 10 - Image Quality & Performance
{{DEFAULTSORT:Directx
1995 software
Application programming interfaces
Microsoft application programming interfaces
Virtual reality