Поделиться через


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

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

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

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

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

Технология или инструмент Описание
Компоненты графики Windows
Заголовки и библиотеки для Direct3D и других графических API Windows, например Direct2D, доступны в пакете SDK для Windows.
Примечание. устаревшие библиотеки служебной программы D3DX9/D3DX10/D3DX11 доступны через NuGet, но существуют также ряд альтернативных версий с открытым исходным кодом. Библиотека служебной программы DirectCompute D3DCSX и распространяемая библиотека DLL доступны в пакете SDK для Windows. D3DX12 доступен на GitHub.
Компилятор HLSL (FXC.EXE)
Компилятор HLSL — это средство в соответствующем подкаталоге архитектуры в папке bin в пакете SDK для Windows.
Примечание. API D3DCompiler и распространяемая библиотека DLL доступна в пакете SDK для Windows.
Для разработки DirectX 12 используйте DXCompiler в пакете SDK для Windows и размещенном на GitHub.
PIX для Windows
Замена средства PIX для Windows теперь является функцией в Microsoft Visual Studio, называемой Отладчиком графики Visual Studio. Эта функция значительно улучшила удобство использования, поддержку Windows 8 и Direct3D 11.1 и интеграцию с традиционными функциями Microsoft Visual Studio, такими как стеки вызовов и окна отладки для отладки HLSL. Дополнительную информацию об этой новой функции см. в разделе Отладка графики DirectX.

Для разработки DirectX 12 обратитесь к последнему поколению PIX на Windows
XAudio2 для Windows
API XAudio2 теперь является системным компонентом в Windows 11, Windows 10 и Windows 8.x. Заголовки и библиотеки для XAudio2 доступны в пакете SDK для Windows. Сведения о поддержке Windows 7 см. в XAudio2Redist.
XInput для Windows
API XInput 1.4 теперь является системным компонентом в Windows 11, Windows 10 и Windows 8.x. Заголовки и библиотеки для XInput доступны в пакете SDK для Windows.
Примечание. Устаревшая версия XInput 9.1.0 также доступна в составе Windows 7 или более поздней версии.
XNAMATH
Последняя версия XNAMATH, которая обновляется для новых наборов инструкций, а также ARM/ARM64, теперь DirectXMath. Заголовки DirectXMath доступны в пакете SDK для Windows и на GitHub.
панели управления DirectX и средства просмотра возможностей DirectX
Утилиты "Панель управления DirectX" и "Средство просмотра возможностей DirectX" включены в соответствующий подкаталог архитектуры в папке bin в составе Windows SDK. Средство просмотра возможностей DirectX также доступно на GitHub.
XACT
Кроссплатформенное средство Xbox Audio (XACT) больше не поддерживается для использования в Windows.
Games Explorer и GDFMAKER
API Games Explorer представляет игры пользователям Windows. API Обозревателя игр поддерживается только в Windows Vista и Windows 7. Используйте средство GDFMAKER.EXE для задания рейтингов игр для приложений Microsoft Store.
Средство создания файлов определения игры (GDFMaker.exe) входит в подкаталог x86 в папку bin в пакете SDK для Windows и поддерживает как приложения Магазина Windows, так и классические приложения Win32.

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

 

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

Заметка

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

 

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

Примеры DirectX SDK за июнь 2010 г. поддерживаются премиум-выпусками Visual Studio (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 в пакет SDK для Windows необходимы изменения параметров проекта для правильной сборки этих примеров с использованием пакета SDK для Windows 8 и более поздних версий с помощью номеров SKU Visual Studio уровня "Премиум".

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

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

    Заметка

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

     

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

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

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

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

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

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

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

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

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

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

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

    5. Помните, что технологии замены для текущих использования D3DX11 включают DirectXTex, DirectXTK, DirectXMeshи UVAtlas. D3DXMath заменяется DirectXMath.

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

    1. Изменение исполняемого каталога на шаге 5 приведет к тому, что сборки проекта будут использовать FXC из установки пакета SDK для Windows. Помните, что файлы 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 Kits\8.1\Redist\D3D\<арх>, где <арх> — это x86 и x64.

      D3DCOMPILER_46.DLL или D3DCOMPILER_47.DLL из пакета SDK для Windows не является системным компонентом и не следует копировать в системный каталог Windows. Эту DLL можно распространять на другие компьютеры вместе с вашим приложением в виде DLL, используемой совместно.

  7. Любой проект, использующий API XInput и предназначенный для запуска в Windows 7 или более старых версиях Windows, должен использовать устаревшую версию (9.1.0) или явно включить заголовки и библиотеки для этого компонента из пакета SDK DirectX. Заголовок XInput и XINPUT. LIB, включенные в пакет SDK для Windows, предназначены только для версии (1.4), которая отправляется в составе Windows 8 и более поздних версий. Тот же заголовок можно использовать с XINPUT9_1_0.LIB для использования устаревшей версии, которая входит в состав более старых версий Windows. Устаревшая версия XInput не обнаруживает полные возможности или поддерживает интегрированный с контроллером звук, поэтому если требуется поддержка этих функций, необходимо использовать версию пакета SDK DirectX (1.3).

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

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

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

    %DXSDK_DIR%Include\<arch>\xinput.lib

    Двоичный файл XINPUT1_3.DLL устанавливается в системные каталоги 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>

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

    %DXSDK_DIR%Include\<arch>\xaudio2.lib

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

  9. Если вы использовали пакет SDK DirectX с прошлыми версиями Visual Studio, обновление Visual Studio 2010 может перенести путь пакета SDK DirectX в параметры проекта по умолчанию. Рекомендуется удалить эти параметры, чтобы предотвратить будущие ошибки сборки. В каталоге %USERPROFILE%\AppData\Local\Microsoft\MSBuild\v4.0 измените файлы Microsoft.Cpp.Win32.user и Microsoft.Cpp.x64.user, чтобы удалить все ссылки на пути DXSDK_DIR. Кроме того, можно удалить весь узел <PropertyGroup>, содержащий пути, такие как <ExecutablePath> и <IncludePath>, чтобы вернуться к стандартным настройкам по умолчанию. Если в этих файлах нет ссылок на DXSDK_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