DirectX Versions: Difference between revisions
mNo edit summary |
|||
Line 4: | Line 4: | ||
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 ({{360}}) to set the corresponding DirectX version; it is not possible to run at a higher level than the graphics hardware is capable of. | 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 ({{360}}) to set the corresponding DirectX version; it is not possible to run at a higher level than the graphics hardware is capable of. | ||
{{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/12''' on [[Titanfall_engine_branch|some]] [[Strata_Source|third-party]] | {{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/12''' on [[Titanfall_engine_branch|some]] [[Strata_Source|third-party]] branches). However, the materials, effects and shaders will be changed or disabled 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 (with feature level 8.x or lower, or with fixed function pipelines), 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|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- | {{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-existent] (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 have a very old system, 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 level 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 | {{Bug|only=src13|On some modern systems, when a {{src13|4}} game is 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 option, change your video settings, then save by clicking OK (or Apply then OK), then close the game, open it again, it should show as Software DirectX level: '''DirectX 9.0+''' on the video options.}} | ||
==DirectX Capabilities== | ==DirectX Capabilities== | ||
Line 23: | Line 23: | ||
DirectX 7-class graphics cards include the {{nvidia|3.1}} GeForce 256, 2, 2MX and 4MX cards and the {{ATIRadeon|3.1|nt=0}} 7xxx series. | DirectX 7-class graphics cards include the {{nvidia|3.1}} GeForce 256, 2, 2MX and 4MX cards and the {{ATIRadeon|3.1|nt=0}} 7xxx series. | ||
{{Note|RTX Remix games such as {{portalrtx|4}} and the upcoming {{hl2rtx|4}} | {{Note|RTX Remix games such as {{portalrtx|4}} and the upcoming {{hl2rtx|4}} render the graphics in this DirectX level with D3D9 renderer, or possibly in DX8 level mode, by replacing the textures and lighting with raytraced ones, then rendering in [[Vulkan]] after converting D3D9 to Vulkan.}} | ||
====Features==== | ====Features==== | ||
* Blob shadows | * Blob shadows | ||
Line 29: | Line 29: | ||
=== DirectX 8.0 / D3D9 with feature level 8.0 === | === DirectX 8.0 / D3D9 with feature level 8.0 === | ||
{{Warning|All versions of DirectX 8 | {{Warning|All versions of DirectX 8 are no longer supported in {{l4dbranch|4}} and above.}} | ||
Introduced in November 2000, referred to as "DirectX 8.0" and "dxlevel 80". | Introduced in November 2000, referred to as "DirectX 8.0" and "dxlevel 80". | ||
DirectX 8-class graphics cards include the {{nvidia|3.1}} 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). | DirectX 8-class graphics cards include the {{nvidia|3.1}} 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). | ||
{{Note|1=Due to a bug in some {{src13|4}} games, when the game is launched for the first time, it may default to DirectX 8.0, even if you have newer GPU.<br>A bug report can be found here: [https://github.com/ValveSoftware/Source-1-Games/issues/540 Issue 540 on GitHub]}} | {{Note|1=Due to a bug in some {{src13|4}} games, when the game is launched for the first time, it may default to DirectX 8.0, even if you have a newer GPU.<br>A bug report can be found here: [https://github.com/ValveSoftware/Source-1-Games/issues/540 Issue 540 on GitHub]}} | ||
{{Note|RTX Remix games such as {{portalrtx|4}} and the upcoming {{hl2rtx|4}} | {{Note|RTX Remix games such as {{portalrtx|4}} and the upcoming {{hl2rtx|4}} render the graphics in this DirectX level with D3D9 renderer, or possibly in DX7 level mode, by replacing the textures and lighting with raytraced ones, then rendering in [[Vulkan]] after converting D3D9 to Vulkan.}} | ||
====Features==== | ====Features==== | ||
* Refractions with the use of a ''du/dv'' map | * Refractions with the use of a ''du/dv'' map | ||
Line 76: | Line 76: | ||
===DirectX 9 / D3D9.0c - Shader Model 3 {{since|{{src06|4.1}}}}=== | ===DirectX 9 / D3D9.0c - Shader Model 3 {{since|{{src06|4.1}}}}=== | ||
Referred to as "DirectX 9.0+" and "dxlevel 95". Last version supported for all version of Windows 98/98SE/ME/2000 and XP. Older {{source2|1}} games like {{dota2|2}} previously supported Direct3D 9, before it | Referred to as "DirectX 9.0+" and "dxlevel 95". Last version supported for all version of Windows 98/98SE/ME/2000 and XP. Older {{source2|1}} games like {{dota2|2}} previously supported Direct3D 9, before it was dropped in 2021. | ||
====Features==== | ====Features==== | ||
Line 97: | Line 97: | ||
===DirectX 10 / D3D10 (DXGI) === | ===DirectX 10 / D3D10 (DXGI) === | ||
Introduced in November 2006 with the release of {{win7|4|nt=3}}, and only supports the said operating systems, DX10 | Introduced in November 2006 with the release of {{win7|4|nt=3}}, and only supports the said operating systems, DX10 is not supported on {{winxp|1|nt=Windows XP}}. Referred to as "dxlevel 100". <br> | ||
DirectX 10-class graphics cards include the {{nvidia|2}} GeForce 8 series, Intel GMA X3100, X3500, GMA 4500, Intel HD Graphics (2010) and the {{ATIRadeon|2|nt=0}} HD 2000/3000 series cards. | DirectX 10-class graphics cards include the {{nvidia|2}} GeForce 8 series, Intel GMA X3100, X3500, GMA 4500, Intel HD Graphics (2010) and the {{ATIRadeon|2|nt=0}} HD 2000/3000 series cards. | ||
Line 103: | Line 103: | ||
==== Games with Direct3D 10 (DX10) support ==== | ==== Games with Direct3D 10 (DX10) support ==== | ||
''There are currently no Source engine branch which actually | ''There are currently no Source engine branch which actually render in DirectX 10 mode (or use Direct3D 10) despite being mentioned in this [https://cdn.akamai.steamstatic.com/apps/valve/2008/GDC2008_PostProcessingInTheOrangeBox.pdf GDC 2008 PDF which shows some differences].<br> All of the DX10 features shown in that PDF file already existed in "dxlevel 95" (DirectX 9 SM 3.0) and {{x360|4}} (which uses "dxlevel 98").'' | ||
====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}}}}==== | ||
Line 115: | Line 115: | ||
DirectX 11-class graphics cards include the {{nvidia|2}} GeForce 400 (except GeForce 405) series, Intel HD Graphics 2500, HD 4000 (2012), and the {{ATIRadeon|2|nt=0}} HD 5000 series. | DirectX 11-class graphics cards include the {{nvidia|2}} GeForce 400 (except GeForce 405) series, Intel HD Graphics 2500, HD 4000 (2012), and the {{ATIRadeon|2|nt=0}} HD 5000 series. | ||
{{source2|4}} natively | {{source2|4}} natively supports and runs on this version of DirectX by default, but previous versions are also available for older hardware that only support DX9 (except in {{dota2|4}} since 2021 update). Prior to {{source2|3.1}} (and other {{src|3.1}} third-party branch) releases, {{tfbranch|4}} was the only {{source|4}} branch that supported DX11. | ||
====Features==== | ====Features==== | ||
*Shader Model 5.0 | *Shader Model 5.0 | ||
Line 127: | Line 127: | ||
=== DirectX 12 / D3D12 (DXGI) === | === DirectX 12 / D3D12 (DXGI) === | ||
Introduced in 2015 with the release of {{win10|4|nt=2}}, later in 2019 | Introduced in 2015 with the release of {{win10|4|nt=2}}, later backported in 2019 to {{win7|2|nt=2|linkto=Windows 7}}. DX12 and D3D12 are not supported on {{win8|1|nt=Windows 8|linkto=8}} or {{win8|1|nt=8.1|linkto=8.1}}. Referred to as "dxlevel 120". <br> | ||
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 | {{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 use DirectX 12 (or the D3D12 renderer).}} | ||
====Features==== | ====Features==== | ||
Line 142: | Line 142: | ||
==Sample screenshots== | ==Sample screenshots== | ||
{{Note|All {{hl2|4}} screenshots shown here applies to older | {{Note|All {{hl2|4}} screenshots shown here applies to older versions of the Source engine. Starting with {{src07|4}} or {{src09|4}}, most version of DirectX/D3D feature levels except DX8 were dropped, while DX9 added support for HDR and other newer graphical features not present in older engine branches.}} | ||
==={{hl2}} Canals=== | ==={{hl2}} Canals=== | ||
These screenshots demonstrate displacement map texture blending, directional lightmaps and cubemapped then reflective water. | These screenshots demonstrate displacement map texture blending, directional lightmaps and cubemapped then reflective water. |
Revision as of 09:12, 3 March 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 option, change your video settings, then save by clicking OK (or Apply then OK), then close the game, open it again, it should show as Software DirectX level: DirectX 9.0+ on the video options. [todo tested in ?]
DirectX Capabilities
DirectX 6 / D3D9 with feature level 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 / D3D9 with feature level 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 / D3D9 with feature level 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 / D3D9 with feature level 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 / D3D9 (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 / D3D9.0c - 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 was 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 / D3D10 (DXGI)
Introduced in November 2006 with the release of Windows Vista, and only supports the said operating systems, DX10 is 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 Direct3D 10 (DX10) support
There are currently no Source engine branch which actually render 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 in that PDF file 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 / D3D11 (DXGI)


Introduced in 2009 with the release of Windows 7, DirectX 11 requires Windows Vista (with SP2 & Platform Update installed) and later, and some later DX11 versions require Windows 7, 8 or 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.
Source 2 natively supports and runs on this version of DirectX by default, but previous versions are also available for older hardware that only support DX9 (except in
Dota 2 since 2021 update). Prior to Source 2 (and other Source third-party branch) releases,
Titanfall branch was the only
Source branch that supported DX11.
Features
- Shader Model 5.0
- Multithreaded rendering
Games with Direct3D 11 (DX11) support
- All
Source 2 games
Strata Source
Titanfall branch
Vindictus
DirectX 12 / D3D12 (DXGI)
Introduced in 2015 with the release of Windows 10, later backported in 2019 to
Windows 7. DX12 and D3D12 are 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 use 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+ | ![]() |