Где находится пакет SDK для DirectX?

Начиная с Windows 8, пакет SDK DirectX входит в состав Windows SDK.

Мы первоначально создали пакет SDK DirectX как высокопроизводительную платформу для разработки игр на основе Windows. По мере разработки технологий DirectX они стали важны для более широкого спектра приложений. Сегодня доступность оборудования Direct3D на компьютерах, в том числе традиционных настольных приложений, для использования аппаратного ускорения графики. В параллельном режиме технологии DirectX интегрируются с Windows. Теперь DirectX является основной частью Windows.

Поскольку Windows SDK является основным пакетом SDK для разработчиков для Windows, теперь в него включен DirectX. Теперь вы можете использовать Windows SDK для создания отличных игр для Windows. Чтобы скачать пакет SDK для Windows 8. x или Windows 10, ознакомьтесь с разWindows SDK и архивом эмулятора.

Следующие технологии и средства, ранее являющиеся частью пакета SDK для DirectX, теперь являются частью Windows SDK.

Технология или инструмент Описание
Графические компоненты Windows
Заголовки и библиотеки для Direct3D и других графических интерфейсов API Windows, таких как Direct2D, доступны в Windows SDK.
[!Note]
Устаревшие библиотеки служебной программы D3DX9/D3DX10/D3DX11 доступны через NuGet, но также существует ряд альтернатив с открытым исходным кодом. Библиотека служебной программы D3DCSX DirectCompute и распространяемая библиотека DLL доступны в Windows SDK. D3DX12 доступен на сайте GitHub.

Компилятор HLSL (FXC.EXE)
Компилятор HLSL — это инструмент в соответствующем подкаталоге архитектуры в папке bin в Windows SDK.
[!Note]
API D3DCompiler и распространяемая библиотека DLL доступны в Windows SDK.


Для разработки DirectX 12 используйте Дкскомпилер в Windows SDK и размещается на [GitHub](https://github.com/Microsoft/DirectXShaderCompiler).
PIX для Windows
Замена средства PIX for Windows теперь является функцией в Microsoft Visual Studio, которая называется отладчиком графики Visual Studio. Эта функция значительно улучшила удобство использования, поддержку Windows 8 и Direct3D 11,1 и интегрируется с традиционными Microsoft Visual Studioными функциями, такими как стеки вызовов и отладка Windows для отладки HLSL . Дополнительные сведения об этой новой функции см. в разделе Отладка графики DirectX.

Сведения о разработке DirectX 12 см. в статье новейшее поколение PIX в Windows .
XAudio2 для Windows
API XAudio2 теперь является системным компонентом в Windows 8. x и Windows 10. Заголовки и библиотеки для XAudio2 доступны в Windows SDK. Сведения о поддержке Windows 7 см. в разделе XAudio2Redist.
Ксинпут для Windows
API ксинпут 1,4 теперь является системным компонентом в Windows 8. x и Windows 10. Заголовки и библиотеки для Ксинпут доступны в Windows SDK.
[!Note]
Устаревшие Ксинпут 9.1.0 также доступны в составе Windows 7 или более поздней версии.

кснамас
Последняя версия КСНАМАС, которая обновляется для новых наборов инструкций, а также ARM/ARM64, теперь директксмас. Заголовки для Директксмас доступны в Windows SDK и на GitHub.
Панель управления DirectX и средство просмотра возможностей DirectX
Служебные программы DirectX для панели управления и средства просмотра возможностей DirectX включены в соответствующий подкаталог архитектуры в папке bin в Windows SDK. Средство просмотра возможностей DirectX также доступно на сайте GitHub.
XACT
Инструмент Xbox Audio Cross Platform (активной платформы) больше не поддерживается для использования в Windows.
Обозреватель игр и гдфмакер
API обозревателя игр представляет собой игры для пользователей Windows. API обозревателя игр поддерживается только в Windows Vista и Windows 7. Используйте средство студии файла определения игр (GDFMAKER.EXE), чтобы объявить рейтинги игр для приложений Магазина Windows.
Средство студии файла определения игр (GDFMaker.exe) включено в подкаталог x86 в папке bin в Windows SDK и поддерживает приложения для Магазина Windows и классические приложения Win32.

Примеры
Примеры приложений, которые выделяют технологии DirectX 12 для Windows, можно найти в репозитории примеров DirectX . Большинство примеров для более ранних версий Direct3D также доступны в Интернете. Дополнительные сведения об этих примерах см. в статье Каталог примеров DirectX SDK.
Управляемый DirectX 1,1
Сборки .NET DirectX являются устаревшими и не рекомендуются для использования новыми приложениями. Доступно несколько вариантов. См. раздел DirectX и .NET.

Устаревший пакет SDK DirectX можно скачать из центра загрузки Майкрософт , если это необходимо, но использовать для новых проектов не рекомендуется.

Примечание

Пакет SDK для DirectX не устанавливается, если у вас уже установлена определенная версия распространяемого пакета Visual C++ 2010. Дополнительные сведения о и решении для устранения этой проблемы см. в разделе об ошибке "S1023" при установке пакета SDK DirectX (июнь 2010).

Использование проектов DirectX SDK с Visual Studio

Примеры из пакета SDK DirectX от июня 2010 поддерживаются в версиях SKU Visual Studio Premium (Microsoft Visual Studio Professional 2012, Microsoft Visual Studio Ultimate 2012, Microsoft Visual Studio Professional 2013 или Microsoft Visual Studio Ultimate 2013) в Windows 7 и Windows 8 и более поздних выпусках. Из-за перехода заголовков и библиотек DirectX в Windows SDK изменения параметров проекта необходимы для правильной сборки этих примеров с использованием пакета SDK для Windows 8 и более поздних версий с номерами SKU Visual Studio Premium.

Эти действия также применяются к собственным проектам, которые зависят от пакета SDK DirectX.

  1. Убедитесь, что на компьютере разработчика установлен выпуск пакета SDK для DirectX от июня 2010. При установке на компьютер под Windows 8 и более поздних версий будет предложено включить .NET 3,5 в качестве предварительной установки пакета SDK для DirectX.

    Примечание

    Пакет SDK для DirectX не устанавливается, если у вас уже установлена определенная версия распространяемого пакета Visual C++ 2010. Дополнительные сведения о и решении для устранения этой проблемы см. в разделе об ошибке "S1023" при установке пакета SDK DirectX (июнь 2010).

  2. Убедитесь, что вы используете один из номеров SKU Visual Studio Premium. Microsoft Visual Studio Express 2012 для Windows 8 или Microsoft Visual Studio Express 2013 для Windows не приведет к созданию классических приложений Windows 8 и более поздних версий, таких как примеры пакета SDK для DirectX. Чтобы установить один из SKU Visual Studio Premium, перейдите на страницу загрузки Visual Studio и следуйте инструкциям.

  3. Используйте пример браузера DirectX SDK для установки файлов проекта для требуемого примера. Откройте файл решения, совместимого с Microsoft Visual Studio 2010 (с суффиксом _ 2010).

  4. При открытии образца в системе, в которой установлены только Microsoft Visual Studio 2012 или Microsoft Visual Studio 2013, появляется следующее сообщение: "это решение содержит один или несколько проектов, использующих более раннюю версию компилятора и библиотек VC + +. Каждый проект можно обновить для использования компилятора и библиотек VC + + (V110). Выберите параметр Обновить в этом диалоговом окне, чтобы обновить его перед открытием проекта.

    В противном случае можно обновить компилятор и библиотеки Visual Studio 2012 или Visual Studio 2013 C++ 11 после загрузки, щелкнув решение правой кнопкой мыши и выбрав пункт обновить проекты VC + +.

  5. D3DX не считается каноническим API для использования Direct3D в Windows 8 и более поздних версий и, следовательно, не входит в соответствующие Windows SDK. Изучите альтернативные решения для работы с API Direct3D. Для проектов предыдущих версий, таких как примеры пакетов SDK для Windows 7 (и более ранних версий), необходимо выполнить следующие действия для создания приложений с помощью D3DX с использованием пакета SDK DirectX:

    1. Измените каталоги проекта VC + + следующим образом, чтобы использовать правильный порядок для заголовков и библиотек пакета SDK.

      и. Откройте **Свойства** проекта и выберите страницу **каталоги VC + +** . ii. Выберите **все конфигурации и все платформы**. iii. Задайте следующие каталоги:
      • Каталоги исполняемых файлов: (в раскрывающемся списке справа)
      • Каталоги включаемых каталогов: $ (IncludePath); $ (дкссдк _ dir) include
      • Включить каталоги библиотек: $ (либрарипас); $ (дкссдк _ dir) lib \ x86

      iv. Щелкните Применить.
      v. Выберите платформу x64.
      vi. Задайте Каталог библиотеки следующим образом:

      • Каталоги библиотек: $ (либрарипас); $ (дкссдк _ dir) lib \ x64
    2. Если в проект включены "d3dx9. h", "d3dx10. h" или "d3dx11. h", обязательно явно включите "d3d9. h", "d3d10. h" и "DXGI. h", "D3D11. h" и "DXGI. h", чтобы убедиться, что вы выберете новую версию. При необходимости можно отключить предупреждение C4005 . Однако это предупреждение означает, что вы используете более раннюю версию этих заголовков.

    3. Удалите все ссылки на Дксгитипе. h в проекте. Этот заголовок не существует в Windows SDK, и версия пакета SDK для DirectX конфликтует с новым Winerror. h.

    4. Все библиотеки DLL D3DX устанавливаются на компьютер разработчика при установке пакета SDK для DirectX. Убедитесь, что необходимые зависимости D3DX перераспределяются с любым примером или с приложением, если оно перемещается на другой компьютер.

    5. Имейте в виду, что технологии замены для текущего использования D3DX11 включают директкстекс, директкстк, директксмеши уватлас. D3DXMath заменяется на директксмас.

  6. Убедитесь, что вы используете новую версию компилятора шейдеров HLSL, просматривая следующие условия:

    1. Изменение исполняемого каталога на шаг 5 приведет к тому, что сборки проекта будут использовать FXC из Windows SDK установки. Имейте в виду, что файлы HLSL теперь официально распознаются Visual Studio. Их можно добавить как файлы проекта и задать параметры компилятора с помощью системы проектов.

    2. При вызове компиляции во время выполнения с помощью устаревшей библиотеки DLL D3DX будет использоваться неправильная старая версия компилятора HLSL. Замените все ссылки на * API D3DXCompile, D3DX10Compile * и D3DX11Compile * в коде на функцию D3DCompile в D3DCOMPILER _46.DLL или D3DCOMPILER _47.DLL.

    3. Любой проект, использующий компиляцию шейдера времени выполнения, должен иметь D3DCOMPILER _xx.DLL, скопированный в локальный путь к исполняемому файлу для проекта. Эта библиотека DLL доступна в этом подкаталоге Windows SDK установки в разделе % ProgramFiles (x86)% \ Windows Kits \ 8,0 \ Redist \ D3D \ или % ProgramFiles (x86 \ \ \ \ \ )% Windows Kit 8,1 , где x86 и x64.

      47.DLL D3DCOMPILER _46.DLL или D3DCOMPILER _ из Windows SDK не является системным компонентом и не должны копироваться в системный каталог Windows. Эту библиотеку DLL можно распространить на другие компьютеры с помощью приложения в качестве параллельной библиотеки DLL.

  7. Любой проект, использующий API Ксинпут и предназначенный для работы в Windows 7 или более ранних версиях Windows, должен использовать либо устаревшую версию (9.1.0), либо явно включить в пакет SDK DirectX заголовки и библиотеки для этого компонента. Заголовок Ксинпут и КСИНПУТ. LIB, включенный в Windows SDK, предназначен только для версии (1,4), поставляемой в составе Windows 8 и более поздних версий. Один и тот же заголовок можно использовать с XINPUT9 _ 1 _ 0. lib для использования устаревшей версии, которая входит в состав более старых версий Windows. Устаревшая версия Ксинпут не обнаруживает полные возможности или поддерживает аудио, интегрированную с контроллером, поэтому, если требуется поддержка этих функций, необходимо использовать DirectX SDK версии (1,3).

    Чтобы использовать Полнофункциональный API-интерфейс нижнего уровня Ксинпут, вы должны #include напрямую воспользоваться заголовком ксинпут из пакета SDK DirectX:

    #include <%DXSDK_DIR%Include\xinput.h>

    ... а в параметрах компоновщика для дополнительных зависимостей выполните прямую ссылку на библиотеку DirectX SDK Ксинпут:

    % Дкссдк _ dir% include \ \ ксинпут. lib

    _Двоичный3.DLL XINPUT1 устанавливается в системные каталоги Windows установкой пакета SDK DirectX на компьютере разработчика. Вам потребуется повторно распространить этот двоичный файл с помощью приложения, используя установку DirectX из пакета SDK DirectX.

  8. Любой проект, использующий API XAudio2 и предназначенный для работы в Windows 7 или более ранних версиях Windows, должен использовать либо более старую версию (9.1.0), либо явно включать заголовки и библиотеки для этого компонента из пакета SDK DirectX. Заголовки XAudio2 и библиотеки, входящие в состав Windows SDK, предназначены только для версии (2,8), которая входит в состав Windows 8.

    Например, при использовании XAudio2 необходимо #include напрямую заXAudio2 заголовки из пакета SDK DirectX:

    #include <%DXSDK_DIR%Include\xaudio2.h>

    ... а в параметрах компоновщика для дополнительных зависимостей выполните прямую ссылку на библиотеку DirectX SDK XAudio2:

    % Дкссдк _ dir% include \ \ XAudio2. lib

    _Двоичный7.DLL XAUDIO2 устанавливается в системные каталоги Windows установкой пакета SDK DirectX на компьютере разработчика. Эти библиотеки необходимо распространить вместе с приложением с помощью установки DirectX из пакета SDK DirectX.

  9. Если вы использовали пакет SDK для DirectX с предыдущими версиями Visual Studio, то обновление Visual Studio 2010 могло переносить путь к пакету SDK DirectX в параметры проекта по умолчанию. Рекомендуется удалить эти параметры, чтобы предотвратить возникновение ошибок сборки в будущем. В локальной папке% USERPROFILE% \ AppData \ Local \ Microsoft \ MSBuild \ v 4.0 измените файлы Microsoft. cpp. Win32. User и Microsoft. cpp. x64. User , чтобы удалить все ссылки на пути к дкссдк _ dir. Кроме того, можно удалить весь узел, содержащий записи пути, такие как и, для возврата к стандартным значениям по умолчанию. Если в этих файлах не отображаются ссылки на ДКССДК _ dir, изменения не требуются.

  10. Если полученное приложение поддерживает Windows Vista с пакетом обновления 2 (SP2), а также Windows 7 и Windows 8, и более поздней версии, установите определение препроцессора с именем _ Win32 _ WinNT в 0x600. Если она поддерживает только Windows 7 и Windows 8 и более поздние версии, задайте для нее значение 0x601.

    Пример:

    1. Откройте Свойства проекта и выберите Препроцессор C/C++ > .
    2. Выберите все конфигурации и все платформы.
    3. Перейдите в раздел определений препроцессора и задайте _ Win32 _ WinNT = 0x600.
    4. Щелкните Применить.

Записи блога, посвященные играм для Windows и DirectX SDK

Где находится пакет SDK DirectX (выпуск 2021)?

Пакеты SDK DirectX определенного возраста

Жить без D3DX