Версии DirectX

From Valve Developer Community
< Ru
Jump to: navigation, search
English (en)日本語 (ja)Русский (ru)Translate (Translate)

Это описание возможностей каждой версии DirectX в качестве справочного материала для созданиия резервной поддержки старых графических процессоров с более низким уровнем функциональности DirectX. В каждом разделе указаны возможности не поддерживаемые в предыдущих версиях DirectX

Для проверки более низние уровни функциональности DirectX на передовых графических картах, используйте CVAR(en) mat_dxlevel(en). Установите CVAR в 60, 70, 80, 81, 90, 95 или 98 (Xbox 360) для установки соответствующей версии DirectX. Не возможно использовать версию DirectX выше, чем доступно графическому оборудованию.

Icon-Important.pngВажно: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 some(en) third-party(en) branches). However, the materials, effects and shaders will be changed or disabled for compatibility with older GPUs that predates Direct3D 9, or to allow modern tools such as Nvidia Nvidia's RTX Remix RTX Remix (also used in Portal with RTX Portal with RTX and upcoming Half-Life 2 RTX Half-Life 2 RTX), which currently only support DX9 (D3D9) or earlier (with compatibility level 8.x or lower, or with fixed function pipelines), to work properly.
Note.pngПримечание:Source games and engine branches released by Valve since Left 4 Dead Left 4 Dead no longer support DirectX compatibility levels below DirectX 9, aswell replaced the old DirectX compatibility level with new shader & effect details option. The only modern Source engine branch that still supports older DirectX versions (down to 8.0) is Source 2013 Source 2013. Some third-party Source engine branch or Source successor, Source 2, will only support DirectX 11 (including the Direct3D renderer) or later.
Note.pngПримечание:On most modern PCs with modern GPUs, these always run with DX11 or newer (and fully support all DX9 features in Source). Players running on DX8 level cards or older on systems with Steam(en) are non-existent (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 have a very old system, or by launching a game that utilizes Nvidia Nvidia RTX Remix RTX Remix, which was only used in Portal with RTX Portal with RTX and Half-Life 2 RTX Half-Life 2 RTX, used to convert most of the DX8 level graphics, or by triggering a bug that Source 2013 Source 2013 commonly had which only occurs on some modern systems.
Icon-Bug.pngБаг:On some modern systems, when a Source 2013 Source 2013 game is run for the first time, the game may default to DirectX 8 materials.
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?]
Icon-Bug.pngБаг:Some effects appears to be missing (or barely visible), such as func_illusionary(en) used for fake volumetric lighting(en), or the game looks more desaturated compared to DirectX 8 mode.[1][2] See #Train Station  [todo tested in?]

Возможности DirectX

Warning.pngПредупреждение:Начиная с Source 2006 Source 2006 отсутствует поддержка DirectX 6.

Начиная с Source 2007 Source 2007 и Source 2009 Source 2009 отсутствует поддержка DirectX 7.
Начиная с Версия платформы Left 4 Dead Версия платформы Left 4 Dead и новых игр Source отсутствует поддержка всех версий DirectX 8.
In Portal with RTX Portal with RTX and in other RTX Remix Source games, the game will run on DirectX 7 or 8 mode in order to make RTX Remix RTX Remix work. Also, when using Vulkan renderer on non-RTX Remix games, using dxlevel lower than 90, such as 80/81 for DirectX 8 will cause the game to not render properly.

DirectX 6 / уровень совместимости D3D9 с DX6

Представлена в августе 1998, под названием "DirectX 6.0", код вызова "dxlevel 60".

Графические карты класса DirectX 6, это Nvidia TNT2 и Matrox G400.

DirectX 7 / уровень совместимости D3D9 с DX7

Представлена в сентябре 1999, под названием "DirectX 7.0", код вызова "dxlevel 70".

Графические карты класса DirectX 7, это Nvidia GeForce 256, 2, 2MX и 4MX, а так же ATI Radeon серии 7xxx.

Note.pngПримечание:RTX Remix games such as Portal with RTX Portal with RTX and the upcoming Half-Life 2 RTX Half-Life 2 RTX 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(en) after converting D3D9 to Vulkan.

Особенности

  • Капельные тени
  • Перемещение смешанных текстур

DirectX 8.0 / уровень совместимости D3D9 с DX8

Представлена в ноябре 2000, под названием "DirectX 8.0", код вызова "dxlevel 80".

Графические карты класса DirectX 8, это Nvidia GeForce4 Ti и большинство из серии GeForce FX 5x00 (хотя технически - это карты класса DirectX 9, но они испытывают большие проблемы при использовании DX9).

Note.pngПримечание:Due to a bug in some Source 2013 Source 2013 games, when the game is launched for the first time, it may default to DirectX 8.0, even if you have a newer GPU.
A bug report can be found here: Issue 540 on GitHub
Note.pngПримечание:RTX Remix games such as Portal with RTX Portal with RTX and the upcoming Half-Life 2 RTX Half-Life 2 RTX 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(en) after converting D3D9 to Vulkan.

Особенности

  • Эффект преломления с использованием du/dv карты
  • Динамические тени
  • Направленное освещение на элементы карты с помощью карт нормалей
  • Зеркальный эффект кубической текстуры
  • Кубическая текстура воды
  • Низко-качественные водные отражения (использовать с осторожностью)

DirectX 8.1 / уровень совместимости D3D9 с DX8.1

Referred to as "DirectX 8.1", код вызова "dxlevel 81".

Included in Windows Windows XP or later, also available on Windows Windows 98/98SE/ME, 2000.

Графические карты класса DirectX 8.1, это Nvidia GeForce FX 5800 и 5900, а так же ATI Radeon 8500/9100 и 9000/9200.

Особенности

  • Мягкие динамические тени

DirectX 9 / D3D9 (спецификация оттенений 2.0)

Представлена в декабре 2002, под названием "DirectX 9.0", код вызова "dxlevel 90".

Включена в состав Windows XP SP2 и более новые версии, также доступен для Windows 98/98SE/ME, 2000.

Графические карты класса DirectX 9, это серии Nvidia GeForce 6600 и 6800, а так же ATI Radeon 9500/9600, 9700/9800, X300/X600 и X800.

Особенности

  • Эффект преломления с использованием рельефной карты
  • Высоко-качественные водные отражения (часто используется)
  • Более мягкие динамические тени
    • This means that the "High" shadows detail option will be visible and can be selected (except on Intel GPUs by default).
  • Наложение нормалей света на модели
  • Улучшенное качество эффектов отражения

Начиная с Source 2006 Source 2006:

Начиная с Source 2007 Source 2007:

  • Размытие в движении
"dxlevel 92"

Это эквивалент dxlevel 95, но с использованием транслятора ToGL(en) для преобразования обращений к DirectX на OpenGL(en). Применятеся для macOS macOS и Linux Linux, а также других платформ/систем не поддерживающих Direct3D и DirectX.

DirectX 9 / D3D9.0c - Спецификация оттенений 3.0 (Во всех играх начиная с Source 2006 Source 2006)

Называется "DirectX 9.0+", код вызова "dxlevel 95". Последняя версия поддерживается во всех версиях Windows 98/98SE/ME/2000 и XP. Более старые игры Source 2, такие как Dota 2 Dota 2, ранее поддерживали Direct3D 9, до прекращения поддержки в 2021 году.

Особенности

DX9.8/DX9.0c для Xbox 360

Код вызова "dxlevel 98". Сделано специально для Xbox 360 Xbox 360.

Warning.pngПредупреждение:Не работает или ничего не делает в сборках любой игры для ПК (после изменения видео настроек игра переключается на dxlevel 95). Работает только на Xbox 360, где это необходимо.
Особенности
  • Процессорная обработка физики частиц(en)

Различия в dxlevel 95 (DX9 SM 3.0) и 98 (DX9.0c on X360) (в соответствии с "dxsupport.cfg" для Half-Life 2 Half-Life 2):

  • Размер экрана по умолчанию изменён с 1024x768 (dxlevel 95) на 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)
Расширения DX9Ex / Windows Aero DirectX

(только в Source 2013 Counter-Strike: Global Offensive) DX9Ex may improve/reduce performance on certain hardware, depending on graphics driver. Works the same as "dxlevel 95".

In Source 2013 Source 2013, DX9Ex can be disabled/enabled by toggling the "Windows Aero extensions" in Video Options > Advanced, or through mat_disable_d3d9ex console command.

In Counter-Strike: Global Offensive Counter-Strike: Global Offensive, DX9Ex can be disabled using the -disable_d3d9ex command line.

DirectX 10 / D3D10 (DXGI)

Представлена в ноябре 2006 вместе с выходом Windows Windows Vista, поддреживает только указанную операционную систему, DX10 не поддреживается в Windows XP. Код вызова "dxlevel 100".

DirectX 10-class graphics cards include the Nvidia Nvidia GeForce 8 series, Intel GMA X3100, X3500, GMA 4500, Intel HD Graphics (2010) and the Radeon ATI Radeon HD 2000/3000 series cards.

Игры с поддержкой Direct3D 10 (DX10)

There are currently no Source engine branch which actually render in Direct3D 10 (aka DX10 mode) despite being mentioned in this GDC 2008 PDF which shows some differences.
All of the DX10 features shown in that PDF file were already available in "dxlevel 95" (DirectX 9 SM 3.0) and Xbox 360 Xbox 360 (which uses "dxlevel 98").

DX9/D3D9 renderer with DX10 feature level (только в Source Filmmaker SFM, Dota 2 Dota 2 (pre-Reborn))

Note.pngПримечание:This version is only used in Source FilmmakerSource Filmmaker by default, aswell as the original release of Dota 2 Dota 2,[3] and does nothing on other Source games. This will NOT enable Direct3D 10 at all unless the engine is modified.

DirectX 11 / D3D11 (DXGI)

For more DX11 features (which may or may not used in third-party Source Source or Source 2 Source 2 engine), see Wikipedia's DirectX 11 page.

Представлена в 2009 вместе с выходом Windows Windows 7, DirectX 11 требуется Windows Vista (с SP2 и обновлением платформы Platform Update) и более новые версии, для некоторых более новых версий DX11 требуется Windows 7, 8 или новее. Код вызова "dxlevel 110".

DirectX 11-class graphics cards include the Nvidia Nvidia GeForce 400 (except GeForce 405) series, Intel HD Graphics 2500, HD 4000 (2012), and the Radeon ATI Radeon HD 5000 series.

Source 2 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 Dota 2 since 2021 update). Prior to Source 2 (and other Source third-party branch) releases, Titanfall engine branch Titanfall engine branch was the only Source Source branch that supported DX11.

Особенности

  • Спецификация оттенений 5.0
  • Многопоточная обработка отображения

Игры с поддержкой Direct3D 11 (DX11)

DirectX 12 / D3D12 (DXGI)

Представлена в 2015 вместе с выходом Windows Windows 10, позднее в 2019 пененесена на Windows Windows 7. DX12 и D3D12 не поддерживается на Windows 8 или 8.1. Код вызова"dxlevel 120".

DirectX 12-class graphics cards include the Nvidia Nvidia GeForce 900 series, Intel HD Graphics (from 2015-2016), and the Radeon AMD Radeon 200 (GCN 2.0), Radeon 300 series cards.

Note.pngПримечание:This is only available in Apex Legends Apex Legends. It can be enabled using -eac_launcher_settings SettingsDX12.json launch options.
There are currently no Source 2 games that use DirectX 12 (or the D3D12 renderer).

Особенности

For more DX12/D3D12 features (which may or may not used in third-party Source Source or Source 2 Source 2 engine), see Wikipedia's Direct3D 12 page.
  • Low-level rendering API, similar to Vulkan(en)
  • Спецификация оттенений 5.1
  • Raytracing (начиная с обновления Windows октября 2018)
    • Note.pngПримечание:This ray tracing feature is also available in Portal RTX, but it's uses a different renderer (Vulkan(en)) with DirectX 8 feature level.
  • Динамическая частота кадров (начиная с Windows 11)

Примеры кадров с экрана

Note.pngПримечание:All Half-Life 2 Half-Life 2 screenshots shown here (except the one from Train Station section) applies to older versions of the Source engine. Starting with Source 2007 Source 2007 or Source 2009 Source 2009, 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.
Additionally, all screenshots appeared to be based off the default settings (with the exception of Train Station screenshots with maximum settings and MSAA 8X), with no anti-aliasing and little to no anisotropic filtering (or bilinear/trilinear texture filtering).

Каналы

На этих кадрах показано перемещение смешанной текстуры, направленный свет и эффект отражения от кубической текстуры воды.

Предшествующая платформа Новая платформа (Source 2013)
DirectX 6.0 Предшествующая платформа - DirectX 6.0 (dxlevel 60) Не поддерживается с Source 2006
DirectX 7.0 Предшествующая платформа - DirectX 7.0 (dxlevel 70) Не поддерживается с Source 2007
DirectX 8.0 Предшествующая платформа - DirectX 8.0 (dxlevel 80) Новая платформа - DirectX 8.0 (dxlevel 80)
DirectX 8.1 Предшествующая платформа - DirectX 8.1 (dxlevel 81) Новая платформа - DirectX 8.1 (dxlevel 81)
DirectX 9.0+ Предшествующая платформа - DirectX 9.0+ (dxlevel 90) Новая платформа - DirectX 9.0+ (dxlevel 95)

Dropship

На этих кадрах показан разный уровень качества теней, начиная с нуля, заканчивая мягкими динамичными тенями.

Предшествующая платформа Новая платформа (Source 2013)
DirectX 6.0 Предшествующая платформа - DirectX 6.0 (dxlevel 60) Не поддерживается с Source 2006
DirectX 7.0 Предшествующая платформа - DirectX 7.0 (dxlevel 70) Не поддерживается с Source 2007
DirectX 8.0 Предшествующая платформа - DirectX 8.0 (dxlevel 80) Новая платформа - DirectX 8.0 (dxlevel 80)
DirectX 8.1 Предшествующая платформа - DirectX 8.1 (dxlevel 81) Новая платформа - DirectX 8.1 (dxlevel 81)
DirectX 9.0+ Предшествующая платформа - DirectX 9.0+ (dxlevel 90) Новая платформа - DirectX 9.0+ (dxlevel 95)

Приливные воды

На этих кадрах показано направленное освещение и эффект отражения от кубической текстуры.

DirectX 6.0 Предшествующая платформа - DirectX 6.0 (dxlevel 60)
DirectX 7.0 Предшествующая платформа - DirectX 7.0 (dxlevel 70)
DirectX 8.0 Предшествующая платформа - DirectX 8.0 (dxlevel 80)
DirectX 8.1 Предшествующая платформа - DirectX 8.1 (dxlevel 81)
DirectX 9.0+ Предшествующая платформа - DirectX 9.0+ (dxlevel 90)

Зомби

На этих кадрах показано использование карты нормалей на моделях. Последний кадр с полной картей нормалей с освещением.

DirectX 6.0 Предшествующая платформа - DirectX 6.0+ (dxlevel 60)
DirectX 7.0 Предшествующая платформа - DirectX 7.0+ (dxlevel 70)
DirectX 8.0 Предшествующая платформа - DirectX 8.0+ (dxlevel 80)
DirectX 8.1 Предшествующая платформа - DirectX 8.1+ (dxlevel 81)
DirectX 9.0+ Предшествующая платформа - DirectX 9.0+ (dxlevel 90)

Half-Life 2 Train Station (fake volumetric lighting)

На этих кадрах показано различие между DirectX 8 и 9 с поддельным объёмным освещением(en). The volumetric lighting was less visible with some effects missing on DX9, compared to DX8,[1][2] likely because of a bug introduced since Source 2007 Source 2007/Source 2009 Source 2009.[подтвердить]

Note.pngПримечание:This screenshot was taken from the latest version of Half-Life 2 Half-Life 2, which runs on Source 2013 Source 2013, on maximum possible settings, so there might be differences in older versions of Half-Life 2 Half-Life 2.
DirectX 8.0 Новая платформа - DirectX 8.0 (dxlevel 80)
DirectX 8.1 Новая платформа - DirectX 8.1 (dxlevel 81)
DirectX 9.0+ Новая платформа - DirectX 9.0+ (dxlevel 90)
DirectX 9.0+ (after reloading the map) Новая платформа - DirectX 9.0+, after reloading the map (dxlevel 90)

Portal Portals

На этих кадрах показано сравнение качества текстур и частиц на порталах.

DirectX 7.0 and earlier Unsupported and non-functional. Screenshot identical to DirectX 8.0.
DirectX 8.0 Portals on DirectX 8.0 (dxlevel 80)
DirectX 8.1 Portals on DirectX 8.1 (dxlevel 81)
DirectX 9.0+ Portals on DirectX 9.0+ (dxlevel 95)


См. также