Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
DirectX
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==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.<ref>{{Cite web|url=https://support.microsoft.com/en-in/help/15061/windows-which-version-directx|access-date=2020-09-30|website=support.microsoft.com|title=Which version of DirectX is on your PC?}}</ref> APIs such as Direct3D and DirectSound need to interact with hardware, and they do this through a [[device driver]]. 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.<ref name=MSDN>{{cite web|last=MSN|title=Minimum DDI requirements|url=https://msdn.microsoft.com/en-us/library/windows/desktop/bb219840(v=vs.85).aspx|publisher=Microsoft|access-date=2 August 2012}}</ref> 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 in Direct3D|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 Sharp (programming language)|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 [[Game Developers Conference|GDC]] 2006, Microsoft presented the [[Microsoft XNA|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 [[Microsoft XNA#XNA Game Studio|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]], [[Microsoft XNA|XNA Framework]] or the [[Xbox 360]] 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,<ref>{{cite web|url=http://sharpdx.org/|title=SharpDX - Managed DirectX|access-date=30 September 2014|archive-date=January 16, 2023|archive-url=https://web.archive.org/web/20230116185138/http://sharpdx.org/|url-status=dead}}</ref><ref>{{cite web|url=https://github.com/sharpdx/SharpDX|title=sharpdx/SharpDX|work=GitHub|access-date=30 September 2014}}</ref> 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 * [http://sourceforge.net/projects/directshownet DirectShow.NET] for the DirectShow subset * [http://code.msdn.microsoft.com/WindowsAPICodePack Windows API CodePack for .NET Framework] {{Webarchive|url=https://web.archive.org/web/20110214011000/http://code.msdn.microsoft.com/WindowsAPICodePack |date=February 14, 2011 }}, which is an open source library from Microsoft.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)