DirectX Versions: Difference between revisions
m (→Games with DirectX 11 support: - all Titanfall branch support and always have DX11. Minor fix.) |
Thunder4ik (talk | contribs) m (clean up, replaced: {{ModernWarning| → {{warning| (3), {{ModernNote| → {{note| (4)) |
||
Line 6: | Line 6: | ||
{{ModernImportant|Please note that this has ''nothing to do with'' changing the '''Direct3D''' renderer ('''D3D''' for short, incorrectly refers to ''DirectX renderer'') to use Direct3D 8 or older. Source will always run on '''Direct3D 9''' (or '''Direct3D 11''' on some third-party branch). However, the materials will be changed for compatibility with older GPUs that are only capable of rendering with [[WP:Feature_levels_in_Direct3D|'''feature level''']] ('''FL''') version 8.x or older, or to allow modern tools such as {{nvidia|4}}'s [https://www.nvidia.com/en-us/geforce/rtx-remix/ RTX Remix] (also used in {{portalrtx|1}} and upcoming Half-Life 2 RTX), which currently only support DX9 (D3D9) or earlier, to work properly.}} | {{ModernImportant|Please note that this has ''nothing to do with'' changing the '''Direct3D''' renderer ('''D3D''' for short, incorrectly refers to ''DirectX renderer'') to use Direct3D 8 or older. Source will always run on '''Direct3D 9''' (or '''Direct3D 11''' on some third-party branch). However, the materials will be changed for compatibility with older GPUs that are only capable of rendering with [[WP:Feature_levels_in_Direct3D|'''feature level''']] ('''FL''') version 8.x or older, or to allow modern tools such as {{nvidia|4}}'s [https://www.nvidia.com/en-us/geforce/rtx-remix/ RTX Remix] (also used in {{portalrtx|1}} and upcoming Half-Life 2 RTX), which currently only support DX9 (D3D9) or earlier, to work properly.}} | ||
{{ | {{note|Source games and engine branches released by Valve since {{l4d|4}} no longer support DirectX feature levels below DirectX 9. The only modern Source engine branch that still supports older DirectX versions (down to 8.0) is {{src13|4}}. Some third-party Source engine branch or Source successor, {{source2|1}}, will only support DirectX 11 (including the Direct3D renderer) or later.}} | ||
{{ | {{note|Modern systems always run with DX9 - DX11 or newer. Players running on DX8 level cards or older are [https://store.steampowered.com/hwsurvey/directx/ now non-existant] (according to Steam Survey, which only tracks systems that have Steam installed). Make alternate assets if you want, but almost no one will see them unless they launched the game with -dxlevel 80/81 manually or having a very old systems, or by launching a game that utilizes {{Nvidia|1}} RTX Remix, which was only used in {{Portalrtx|4}} and {{hl2rtx|4}}, used to convert most of the DX8 levels graphics, or by triggering a bug that {{src13|4}} commonly had which only occurs on modern systems.}} | ||
{{Bug|only=src13|On some modern systems, when a {{src13|4}} game was run for the first time, the game may default to DirectX 8 materials.<br>To fix this, run the game once with {{code|-dxlevel 95}} command line options, change your video settings, then save by clicking OK (or Apply then OK), then close the game, open it again, it's should shown as Software DirectX level: '''DirectX 9.0+''' on the video options.}} | {{Bug|only=src13|On some modern systems, when a {{src13|4}} game was run for the first time, the game may default to DirectX 8 materials.<br>To fix this, run the game once with {{code|-dxlevel 95}} command line options, change your video settings, then save by clicking OK (or Apply then OK), then close the game, open it again, it's should shown as Software DirectX level: '''DirectX 9.0+''' on the video options.}} | ||
Line 13: | Line 13: | ||
{{toc-right}} | {{toc-right}} | ||
===DirectX 6=== | ===DirectX 6=== | ||
{{ | {{warning|Most likely no longer works since {{src06|4}}, trying to enable DX6 would sometimes reset it to DirectX 7.0/8.0 instead.}} | ||
Introduced in August 1998, referred to as "DirectX 6.0" and "dxlevel 60". | Introduced in August 1998, referred to as "DirectX 6.0" and "dxlevel 60". | ||
Line 19: | Line 19: | ||
===DirectX 7=== | ===DirectX 7=== | ||
{{ | {{warning|Most likely no longer works since {{src07|4}}/{{src09|4}}, trying to enable DX7 would sometimes reset it to DirectX 8.0 instead, except in {{portalrtx|4}}.}} | ||
Introduced in September 1999, referred to as "DirectX 7.0" and "dxlevel 70". | Introduced in September 1999, referred to as "DirectX 7.0" and "dxlevel 70". | ||
Line 83: | Line 83: | ||
=====DX9Ex===== | =====DX9Ex===== | ||
Referred to as "dxlevel 98". Made specifically for {{Xbox360|4.1}}. | Referred to as "dxlevel 98". Made specifically for {{Xbox360|4.1}}. | ||
{{ | {{warning|Doesn't work or doesn't do anything much in PC builds of any game (which instead reset to dxlevel 95). Only works for {{Xbox360|3.1}}, where it is required.}} | ||
{{ModernConfirm|{{csgo|4}} also use DX9Ex, but it is unknown which "dxlevel" this game is currently using. DX9Ex in CS:GO is not the same as the one used in {{360|1}} Source games.}} | {{ModernConfirm|{{csgo|4}} also use DX9Ex, but it is unknown which "dxlevel" this game is currently using. DX9Ex in CS:GO is not the same as the one used in {{360|1}} Source games.}} | ||
Line 105: | Line 105: | ||
====DX9/D3D9 renderer with DX10 feature level {{only|{{sfm|4.1|nt=0}}}}==== | ====DX9/D3D9 renderer with DX10 feature level {{only|{{sfm|4.1|nt=0}}}}==== | ||
{{ | {{note|This version isn't enabled by default and doesn't do anything outside of {{sfm}}'''Source Filmmaker''', where it is required to run. This will NOT enable DirectX 10 at all unless the engine is modified.}} | ||
===DirectX 11 === | ===DirectX 11 === | ||
Line 128: | Line 128: | ||
DirectX 12-class graphics cards include the {{nvidia|2}} GeForce 900 series, Intel HD Graphics (from 2015-2016), and the {{AMDRadeon|2|nt=0}} 200 (GCN 2.0), Radeon 300 series cards. | DirectX 12-class graphics cards include the {{nvidia|2}} GeForce 900 series, Intel HD Graphics (from 2015-2016), and the {{AMDRadeon|2|nt=0}} 200 (GCN 2.0), Radeon 300 series cards. | ||
{{ | {{note|This is only available in {{apex|4}}. It can be enabled using {{code|-eac_launcher_settings SettingsDX12.json}} launch options.<br> There are currently no {{source2|1}} games that used DirectX 12 (or the D3D12 renderer).}} | ||
====Features==== | ====Features==== |
Revision as of 00:39, 4 January 2024
This is a description of what each version of DirectX is capable of, for reference when creating fallback materials for older GPUs with lower DirectX feature levels. Under each heading are features not available in previous versions of DirectX.
To test lower-quality DirectX levels on a more advanced graphics card, use the mat_dxlevel cvar. Set it to 60, 70, 80, 81, 90, 95 or 98 () to set the corresponding DirectX version; it is not possible to run at a higher level than the graphics hardware is capable of.











To fix this, run the game once with -dxlevel 95 command line options, change your video settings, then save by clicking OK (or Apply then OK), then close the game, open it again, it's should shown as Software DirectX level: DirectX 9.0+ on the video options. [todo tested in ?]
DirectX Capabilities
DirectX 6


Introduced in August 1998, referred to as "DirectX 6.0" and "dxlevel 60".
DirectX 6-class graphics cards include the Nvidia TNT2 and Matrox G400.
DirectX 7




Introduced in September 1999, referred to as "DirectX 7.0" and "dxlevel 70".
DirectX 7-class graphics cards include the Nvidia GeForce 256, 2, 2MX and 4MX cards and the ATI Radeon 7xxx series.



Features
- Blob shadows
- Displacement map texture blending
DirectX 8.0
Introduced in November 2000, referred to as "DirectX 8.0" and "dxlevel 80".
DirectX 8-class graphics cards include the Nvidia GeForce4 Ti and most of the GeForce FX 5x00 series (while technically DirectX 9 cards, the latter suffer from major performance problems with the DX9 rendering path).


A bug report can be found here: Issue 540 on GitHub



Features
- Refractions with the use of a du/dv map
- Dynamic shadows
- Directional lighting on world brushes using normal maps
- Cube-mapped specular effects
- Cube-mapped water
- Low-quality reflective water (used sparingly)
DirectX 8.1
Referred to as "DirectX 8.1" and "dxlevel 81".
Included in Windows XP or later, also available on
Windows 98/98SE/ME, 2000.
DirectX 8.1-class graphics cards include the Nvidia GeForce FX 5800 and 5900 and the ATI Radeon 8500/9100 and 9000/9200 cards.
Features
- Soft edge dynamic shadows
DirectX 9 (Shader Model 2)
Introduced in December 2002, referred to as "DirectX 9.0" and "dxlevel 90".
Included in Windows XP SP2 or later, also available on Windows 98/98SE/ME, 2000.
DirectX 9-class graphics cards include the Nvidia GeForce 6600 and 6800 series and the ATI Radeon 9500/9600, 9700/9800, X300/X600 and X800 cards.
Features
- Refractions with the use of a bump-map
- High-quality reflective water (used frequently)
- Softer edge dynamic shadows
- Normal-mapped lighting on models
- Improved-quality specular effects
Since Source 2006:
- High dynamic range rendering (disabled by default)
- Phong shading
- Color Correction
Since Source 2007:
- Motion Blur
"dxlevel 92", "dxlevel 97"
These are equivalent to dxlevel 90 and dxlevel 95, but use a ToGL translator to convert the DirectX calls to OpenGL calls. Only on macOS and
Linux, and other platforms/operating systems that does not support Direct3D and DirectX.
DirectX 9 - Shader Model 3 (in all games since
Source 2006)
Referred to as "DirectX 9.0+" and "dxlevel 95". Last version supported for all version of Windows 98/98SE/ME/2000 and XP. Older Source 2 games like Dota 2 previously supported Direct3D 9, before it's was later dropped in 2021.
Features
- Lightwarp support
- High dynamic range rendering (enabled by default)
DX9Ex
Referred to as "dxlevel 98". Made specifically for Xbox 360.



Features
- GPU Particle Physics
Differences of dxlevel 95 (DX9 SM 3.0) and 98 (DX9Ex) (according to "dxsupport.cfg"
on Half-Life 2):
- Default resolution from 1024x768 (dxlevel 95) to 640x480 (dxlevel 98).
"mat_forceaniso" "1"
(dxlevel 95) >"8"
(dxlevel 98)"mat_forcehardwaresync" "1"
(dxlevel 95) >"0"
(dxlevel 98)"r_waterforcereflectentities" "0"
(dxlevel 95) >"1"
(dxlevel 98)
DirectX 10
Introduced in November 2006 with the release of Windows Vista, and only supports the said operating systems, DX10 are not supported on Windows XP. Referred to as "dxlevel 100".
DirectX 10-class graphics cards include the Nvidia GeForce 8 series, Intel GMA X3100, X3500, GMA 4500, Intel HD Graphics (2010) and the
ATI Radeon HD 2000/3000 series cards.
Games with DirectX 10 support
There are currently no Source engine branch which actually renders in DirectX 10 mode (or use Direct3D 10) despite being mentioned in this GDC 2008 PDF which shows some differences.
All of the DX10 features shown on that PDF file were already existed in "dxlevel 95" (DirectX 9 SM 3.0) and Xbox 360 (which uses "dxlevel 98").
DX9/D3D9 renderer with DX10 feature level (only in
SFM)


DirectX 11


Introduced in 2009 with the release of Windows 7, DirectX 11 requires Windows Vista (with SP2 & Platform Update installed) and later. Referred to as "dxlevel 110".
DirectX 11-class graphics cards include the Nvidia GeForce 400 (except GeForce 405) series, Intel HD Graphics 2500, HD 4000 (2012), and the
ATI Radeon HD 5000 series.
Features
- Shader Model 5.0
- Multithreaded rendering
Games with DirectX 11 support
- All
Source 2 games
Strata Source
Titanfall branch
Vindictus
DirectX 12
Introduced in 2015 with the release of Windows 10, later in 2019 backported to
Windows 7. DX12 and D3D12 is not supported on Windows 8 or 8.1. Referred to as "dxlevel 120".
DirectX 12-class graphics cards include the Nvidia GeForce 900 series, Intel HD Graphics (from 2015-2016), and the
AMD Radeon 200 (GCN 2.0), Radeon 300 series cards.


There are currently no Source 2 games that used DirectX 12 (or the D3D12 renderer).
Features


- Low-level rendering API, similar to Vulkan
- Shader Model 5.1
- Raytracing (since Windows October 2018 Update)
Note:This ray tracing feature is also available in Portal RTX, but it's uses a different renderer (Vulkan) with DirectX 8 feature level.
- Dynamic refresh rate (since Windows 11)
Sample screenshots
Canals
These screenshots demonstrate displacement map texture blending, directional lightmaps and cubemapped then reflective water.
DirectX 6.0 | ![]() |
DirectX 7.0 | ![]() |
DirectX 8.0 | ![]() |
DirectX 8.1 | ![]() |
DirectX 9.0+ | ![]() |
Dropship
These screenshots show shadow quality at different rendering levels, ranging from none to soft, dynamic shadows.
DirectX 6.0 | ![]() |
DirectX 7.0 | ![]() |
DirectX 8.0 | ![]() |
DirectX 8.1 | ![]() |
DirectX 9.0+ | ![]() |
Storm drain
These screenshots show directional lightmaps and cube-mapped specular effects.
DirectX 6.0 | ![]() |
DirectX 7.0 | ![]() |
DirectX 8.0 | ![]() |
DirectX 8.1 | ![]() |
DirectX 9.0+ | ![]() |
Zombie
These screenshots demonstrate the use of normal-mapping on models. The final shot has full, normal-mapped lighting.
DirectX 6.0 | ![]() |
DirectX 7.0 | ![]() |
DirectX 8.0 | ![]() |
DirectX 8.1 | ![]() |
DirectX 9.0+ | ![]() |
Portals
These screenshots compares the texture and particles quality on the portals.
DirectX 7.0 and earlier | Unsupported and non-functional. Screenshot identical to DirectX 8.0. |
DirectX 8.0 | ![]() |
DirectX 8.1 | ![]() |
DirectX 9.0+ | ![]() |