DirectX Versions: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 4: Line 4:
To test lower-quality DirectX levels on a more advanced graphics card, use the [[mat_dxlevel]] [[ConVar]]. 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 test lower-quality DirectX levels on a more advanced graphics card, use the [[mat_dxlevel]] [[ConVar]]. 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.


{{ModernNote|By default, changing mat_dxlevel or -dxlevel won't change anything related to DirectX renderer, the game always runs on DirectX 9 regardless which dxlevel was set to. Only the materials and textures are changed.}}
{{ModernNote|By default, changing mat_dxlevel or -dxlevel won't change anything related to DirectX renderer, the game always runs on DirectX 9 regardless which dxlevel was set to. Only the materials, shaders and textures are changed, but it's always run on DX9, similar to how DX feature level works.}}
{{ModernNote|Source games and engine branches released by Valve since {{l4d|4}} no longer support DirectX versions below DirectX 9, and always runs on that particular version with Shader Model 2 and 3 supported. The only modern Source engine branch that still supports older DirectX versions (down to DX8.0) is {{src13|4}}.}}
{{ModernNote|Source games and engine branches released by Valve since {{l4d|4}} no longer support DirectX versions below DirectX 9, and always runs on that particular version with Shader Model 2 and 3 supported. The only modern Source engine branch that still supports older DirectX versions (down to DX8.0) is {{src13|4}}.}}
{{ModernNote|Modern systems almost always run with DX9 - DX11 or newer. Players running DX8 or older are [https://store.steampowered.com/hwsurvey/directx/ extremely rare] (according to Steam Survey). 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.}}
{{ModernNote|Modern systems almost always run with DX9 - DX11 or newer. Players running DX8 or older are [https://store.steampowered.com/hwsurvey/directx/ extremely rare] (according to Steam Survey). 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.}}

Revision as of 22:47, 29 April 2023

English (en)日本語 (ja)Русский (ru)Translate (Translate)

This is a description of what each version of DirectX is capable of, for reference when creating fallback materials. 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 ConVar. 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.

Template:ModernNote Template:ModernNote Template:ModernNote Template:ModernBug

DirectX Capabilities

DirectX 6

Referred to as "DirectX 6.0" and "dxlevel 60".

Template:ModernWarning DirectX 6-class graphics cards include the Nvidia TNT2 and Matrox G400.

DirectX 7

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. Template:ModernWarning

  • Blob shadows
  • Displacement map texture blending

DirectX 8.0

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).

  • 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".

DirectX 8.1-class graphics cards include the Nvidia GeForce FX 5800 and 5900 and the ATI RADEON 8500/9100 and 9000/9200 cards.

  • Soft edge dynamic shadows

DirectX 9 (Shader Model 2)

Referred to as "DirectX 9.0" and "dxlevel 90".

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.

  • 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 Source 2006:

Since Source 2007 Source 2007:

  • Motion Blur

DX9 Shader Model 3 (in all games since Source 2006)

Referred to as "DirectX 9.0+" and "dxlevel 95".

  • Lightwarp support

DX9Ex

Referred to as "dxlevel 98". Made specifically for Xbox 360 Xbox 360. Template:ModernWarning

Differences of dxlevel 95 (DX9 SM 3.0) and 98 (DX9Ex) (according to "dxsupport.cfg" on Half-Life 2 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)

DX10

Referred to as "dxlevel 100". Template:ModernNote

DirectX 11 (only in Strata SourceTitanfall branchSource 2)

For more features (which may or may not used in third-party Source Source or Source 2 Source 2 engine, see Wikipedia's DirectX 11 page.
Referred to as "dxlevel 11" or "dxlevel 110".

  • Shader Model 5.0
  • Multithreaded rendering

Template:ModernNote Template:ModernNote

DirectX 12 (only in Apex Legends)

Referred to as "dxlevel 120".

This is only available in Apex Legends Apex Legends. It can be enabled using -eac_launcher_settings SettingsDX12.json launch options.

Sample screenshots

Canals

These screenshots demonstrate displacement map texture blending, directional lightmaps and cubemapped then reflective water.

DirectX 6.0 Canals5 dx6.jpg
DirectX 7.0 Canals5 dx7.jpg
DirectX 8.0 Canals5 dx8.jpg
DirectX 8.1 Canals5 dx81.jpg
DirectX 9.0+ Canals5 dx9.jpg

Dropship

These screenshots show shadow quality at different rendering levels, ranging from none to soft, dynamic shadows.

DirectX 6.0 Canals2 dx6.jpg
DirectX 7.0 Canals2 dx7.jpg
DirectX 8.0 Canals2 dx8.jpg
DirectX 8.1 Canals2 dx81.jpg
DirectX 9.0+ Canals2 dx9.jpg

Storm drain

These screenshots show directional lightmaps and cube-mapped specular effects.

DirectX 6.0 Canals3 dx6.jpg
DirectX 7.0 Canals3 dx7.jpg
DirectX 8.0 Canals3 dx8.jpg
DirectX 8.1 Canals3 dx81.jpg
DirectX 9.0+ Canals3 dx9.jpg

Zombie

These screenshots demonstrate the use of normal-mapping on models. The final shot has full, normal-mapped lighting.

DirectX 6.0 Zombie dx6.jpg
DirectX 7.0 Zombie dx7.jpg
DirectX 8.0 Zombie dx8.jpg
DirectX 8.1 Zombie dx81.jpg
DirectX 9.0+ Zombie dx9.jpg

Portals

DirectX 7.0 and earlier Unsupported and non-functional.
DirectX 8.0 Testchamber0 dx80.jpg
DirectX 8.1 Testchamber0 dx81.jpg
DirectX 9.0+ Testchamber0 dx95.jpg