Что такое directx sdk
DirectX SDK
Директ Икс СДК представляет собой набор необходимого программного обеспечения для разработчиков, предназначенный для создания софта с использованием тех или иных возможностей библиотеки DirectX. То есть этот комплект будет полезным исключительно для интересующихся в подобного рода вещах людей, например, разработчиков компьютерных игр и т. д. Для рядовых пользователей он совсем не нужен. В данной статье мы разберемся с его особенностями. В конце будет размещена инструкция, как и где скачать DirectX SDK.
Подробности
Три английские буквы в названии – сокращение от Software Development Kit. Дословный перевод здесь – «набор средств разработки». То есть он нужен не для банального запуска игр, а для их создания, а также других программ на базе библиотеки Директ Икс от компании Microsoft. Разумеется, совместимость у него только с операционной системой Windows.
Это основные моменты, которые стоит знать, остальная информация будет иметь сугубо технический характер. Так что мы переходим к основной части статьи – непосредственно инсталляции.
Инсталляция
Мы постарались вкратце объяснить, что это такое – DirectX SDK. Загрузить данный набор выйдет с официального сайта Microsoft. Процедура довольно простая:
В меню «Пуск» появится новый раздел с именем «Microsoft DirectX SDK…», в котором и будут все требуемые ярлыки.
Что такое directx sdk
Пакет DirectX SDK
Для успешного запуска компьютерной игры, написанной с использованием библиотеки Direct3D, достаточно будит установить пакет DirectX Runtime, содержащий набор динамических библиотек, драйверов устройств и конфигурационных файлов. Обычно установочный файл DirectX поставляется с играми, а так же его можно найти на дисках с драйверами. Этот набор библиотек в полном составе приблизительно занимает около 40 мегабайт. Но для самостоятельного создания игр или других графических приложений, использующих DirectX одним пакетом DirectX Runtime не обойтись. Для этого нам понадобиться пакет DirectX SDK который можно скачать совершенно бесплатно на сайте Microsoft. Для сравнения – установочный пакет DirectX SDK занимает 230 мегабайт.
Так как создание игр требует доступ к аппаратному обеспечению, то есть связь программной части игры с устройствами ввода и вывода. Например, чтобы увидеть какое-либо передвижение персонажи или объекта, нужно на него взаимодействовать. Обычно в играх, написанных для ПК, манипуляторами являются клавиатура и мышь, мышью мы можем изменить угол обзора или вектор направления движений, а при помощи клавиатуры мы можем изменить скорость, направление и даже стиль движения персонажа или объекта – это классика. Так же к устройствам ввода относятся геймпады, джойстики, рули – этим тебя уже не удивишь. А как на счёт таких девайсов как планшет, микрофон и вэб-камера – по сколько они тоже являются устройствами ввода – управлять игровыми персонажами или объектами можно даже при помощи сканера, вопрос лишь в целесообразности таких нестандартных решений.
Когда мы будим писать код для события «при нажатии на клавишу вперёд» нам потребуется задействовать библиотеку, которая отвечает за клавиатуру. В DirectX SDK есть компонент DirectInput, который как раз решит нашу задачу. Так же DirectX содержит все, необходимые для создания игры, наборы компонентов. Использование набора компонентов библиотеки DirectX сильно упрощает процесс программирование игр для Windows. Вам не придётся писать тысячи страниц кода для обработки событий клавиатуры или иного устройства ввода, так же в DirectX SDK есть наборы библиотек для работы с сетью, с медиа-файлами и с выводом изображения на монитор. Хотя DirectX SDK не является игровым движком, он упрощает сам процесс создания игр. А игровые движки – по большому счёту являются надстройками графических библиотек DirectX и OpenGL. Но даже игровой движок на DirectX проще написать, нежели игровой движок на OpenGL, так как OpenGL включает в себя исключительно библиотеки для работы с графикой и для полноценного игрового движка придётся писать самому или интегрировать сторонние библиотеки. В то время, как в DirectX есть всё, а сейчас мы рассмотрим что именно.
Из каких библиотек состоит DirectX SDK:
1. DirectXGraphics, набор интерфейсов для работы с графической частью игры. До версии 8.0 DirectX Graphics делился на:
1.1. DirectDraw: интерфейс вывода растровой графики (его разработка давно прекращена).
1.2. Direct3D (D3D): интерфейс вывода трёхмерных примитивов.
2. DirectInput: интерфейс, для обработки событий, связанных с использованием джойстика, клавиатуры, мыши, и других игровых контроллеров.
3. DirectPlay: интерфейс сетевой коммуникации игр, содержит средства для создания сетевых приложений.
4. DirectSound: интерфейс низкоуровневой работы со звуком (формата Wave)
5. DirectSound, DirectMusic и DirectX Media Objects (эти компоненты в версии 9.0 объединены под названием DirectX Audio): предоставляют средства программирования звука и MIDI-музыки.
6. DirectShow: интерфейс, используемый для ввода/вывода аудио и/или видео данных. Содержит средства для захвата и воспроизведения мультимедийных потоков. Начиная с версии 9.0, впервые появился набор библиотек, упрощающих создание программ для нелинейного монтажа или проигрывателей аудио и видео с применением real-time эффектов и красивых переходов между роликами – это DES, расшифровывается как DirectShow Editing Services.
7. DirectX Instruments — технология, позволяющая на основе мультимедийного API DirectX создавать и использовать программные синтезаторы. В отличие от DX-плагинов, такие программы могут полностью управляться по MIDI и служат главным образом не для обработки, а для синтеза звука. Технология DXi была популярна в 2001—2004 гг., особенно в программных продуктах Cakewalk, но со временем проиграла «войну форматов» технологии VST от Steinberg.
8. DirectSetup: часть, ответственная за установку DirectX. Позволяет настраивать установку DirectX на системах пользователей.
9. DirectX Media Objects: реализует функциональную поддержку потоковых объектов (например, кодировщики/декодировщики)
10. DirectX Sample Browser: оболочка с дружественным интерфейсом, содержащая примеры и туториалы по использованию библиотек DirectX SDK.
11. Direct2D: интерфейс вывода двухмерной графики
12. DirectX Diagnostics: (dxdiag) программный интерфейс для диагностики драйверов и оборудования.
Так выглядит окно оболочки DirectX Sample Browser. Тут все инструкции по DirectX SDK.
Где находится пакет 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 или пакет sdk для Windows 10, см. раздел Windows SDK и emulator archive.
следующие технологии и средства, ранее являющиеся частью пакета SDK для DirectX, теперь являются частью Windows SDK.
Технология или инструмент | Описание | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows Графические компоненты | заголовки и библиотеки для Direct3D и других Windows графических интерфейсов api, таких как Direct2D, доступны в Windows SDK.
| ||||||||||||
Компилятор HLSL (FXC.EXE) | компилятор HLSL — это инструмент в соответствующем подкаталоге архитектуры в папке bin в Windows SDK.
Сведения о разработке 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.
| ||||||||||||
кснамас | Последняя версия КСНАМАС, которая обновляется для новых наборов инструкций, а также 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 Store. средство студии файла определения игр (GDFMaker.exe) включено в подкаталог x86 в папке bin в Windows SDK и поддерживает приложения Windows магазина и классические приложения Win32. Пакет SDK для DirectX не устанавливается, если у вас уже установлена определенная версия распространяемого пакета Visual C++ 2010. Дополнительные сведения о и решении для устранения этой проблемы см. в разделе об ошибке «S1023» при установке пакета SDK DirectX (июнь 2010). Использование проектов DirectX SDK с Visual Studioпримеры из пакета SDK DirectX за июнь 2010 поддерживаются с номерами sku premium 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 в Windows SDK изменения параметров проекта необходимы для правильной сборки этих примеров с учетом того, как пакет SDK Windows 8 и более поздних версий упакован с номерами sku premium Visual Studio. Эти действия также применяются к собственным проектам, которые зависят от пакета SDK DirectX. Пакет SDK для DirectX не устанавливается, если у вас уже установлена определенная версия распространяемого пакета Visual C++ 2010. Дополнительные сведения о и решении для устранения этой проблемы см. в разделе об ошибке «S1023» при установке пакета SDK DirectX (июнь 2010). убедитесь, что используется один из номеров sku premium Visual Studio. Microsoft Visual Studio Express 2012 для Windows 8 или Microsoft Visual Studio Express 2013 для Windows не будет создавать Windows 8 и более поздние настольные приложения, такие как примеры пакета SDK для DirectX. чтобы установить один из sku Visual Studio premium, перейдите по ссылке: Visual Studio downloads и следуйте инструкциям. Используйте пример браузера DirectX SDK для установки файлов проекта для требуемого примера. откройте файл решения, совместимого с Microsoft Visual Studio 2010 (с суффиксом _ 2010). при открытии образца в системе, в которой установлены только Microsoft Visual Studio 2012 или Microsoft Visual Studio 2013, появляется следующее сообщение: «это решение содержит один или несколько проектов, использующих более раннюю версию VC++ компилятора и библиотек. каждый проект можно обновить для использования VC++ компилятора и библиотек (v110). Выберите параметр Обновить в этом диалоговом окне, чтобы обновить его перед открытием проекта. в противном случае можно обновить компилятор и библиотеки Visual Studio 2012 или Visual Studio 2013 C++ 11 после загрузки, щелкнув решение правой кнопкой мыши и выбрав пункт обновить VC++ проекты. D3DX не считается каноническим API для использования Direct3D в Windows 8 и более поздних версий и, следовательно, не входит в соответствующие Windows SDK. Изучите альтернативные решения для работы с API Direct3D. для проектов предыдущих версий, таких как примеры sdk для directx Windows 7 (и более ранних версий), необходимо выполнить следующие действия для создания приложений с помощью D3DX с использованием пакета sdk directx: измените каталоги VC++ проекта следующим образом, чтобы использовать правильный порядок для заголовков и библиотек пакета SDK. iv. Щелкните Применить. Удалите все ссылки на Дксгитипе. h в проекте. этот заголовок не существует в Windows SDK, и версия пакета SDK для DirectX конфликтует с новым winerror. h. Все библиотеки DLL D3DX устанавливаются на компьютер разработчика при установке пакета SDK для DirectX. Убедитесь, что необходимые зависимости D3DX перераспределяются с любым примером или с приложением, если оно перемещается на другой компьютер. Имейте в виду, что технологии замены для текущего использования D3DX11 включают директкстекс, директкстк, директксмеши уватлас. D3DXMath заменяется на директксмас. Убедитесь, что вы используете новую версию компилятора шейдеров HLSL, просматривая следующие условия: изменение исполняемого каталога на шаг 5 приведет к тому, что сборки проекта будут использовать FXC из Windows SDK установки. Имейте в виду, что файлы HLSL теперь официально распознаются Visual Studio. Их можно добавить как файлы проекта и задать параметры компилятора с помощью системы проектов. При вызове компиляции во время выполнения с помощью устаревшей библиотеки DLL D3DX будет использоваться неправильная старая версия компилятора HLSL. Замените все ссылки на * API D3DXCompile, D3DX10Compile * и D3DX11Compile * в коде на функцию D3DCompile в D3DCOMPILER _46.DLL или D3DCOMPILER _47.DLL. 47.DLL D3DCOMPILER _46.DLL или D3DCOMPILER _ из Windows SDK не является системным компонентом и не должны копироваться в системный каталог Windows. Эту библиотеку DLL можно распространить на другие компьютеры с помощью приложения в качестве параллельной библиотеки DLL. любой проект, использующий 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: . а в параметрах компоновщика для дополнительных зависимостей выполните прямую ссылку на библиотеку DirectX SDK Ксинпут: % Дкссдк _ dir% include \ \ ксинпут. lib _двоичный3.DLL XINPUT1 устанавливается в каталоги Windows систем с помощью установки пакета SDK DirectX на компьютере разработчика. Вам потребуется повторно распространить этот двоичный файл с помощью приложения, используя установку DirectX из пакета SDK DirectX. любой проект, использующий API XAudio2 и предназначенный для работы в Windows 7 или более ранних версиях Windows должен использовать либо более старую версию (9.1.0), либо явно включать заголовки и библиотеки для этого компонента из пакета SDK DirectX. заголовки XAudio2 и библиотеки, включенные в Windows SDK предназначены только для версии (2,8), которая входит в состав Windows 8. Например, при использовании XAudio2 необходимо #include напрямую заXAudio2 заголовки из пакета SDK DirectX: . а в параметрах компоновщика для дополнительных зависимостей выполните прямую ссылку на библиотеку DirectX SDK XAudio2: % Дкссдк _ dir% include \ \ XAudio2. lib _двоичный7.DLL XAUDIO2 устанавливается в каталоги Windows систем с помощью установки пакета SDK DirectX на компьютере разработчика. Эти библиотеки необходимо распространить вместе с приложением с помощью установки DirectX из пакета SDK DirectX. если полученное приложение поддерживает Windows Vista с пакетом обновления 2 (sp2), а также Windows 7 и Windows 8 и более поздних версий, установите определение препроцессора с именем _ WIN32 _ WINNT в 0x600. если он поддерживает только Windows 7 и Windows 8 и более поздних версий, задайте для него значение 0x601. Связанные темыЗаписи блога, посвященные играм для Windows и DirectX SDK Установка DirectX для разработчиков игрЭта статья предназначена для решения некоторых распространенных вопросов о среде выполнения DirectX и использования Директсетуп для установки DirectX. Устаревший пакет SDK DirectX находится в конце жизни, но он по-прежнему доступен для поддержки старых игр, руководств и проектов. Новые проекты не должны использовать его. Для использования устаревшего пакета SDK DirectX необходимо использовать устаревшие Директсетуп для таких компонентов, как D3DX9, D3DX10, D3DX11, Ксаудио 2,7, Ксинпут 1,3 и транзакции. Дополнительные сведения о текущем состоянии пакета SDK для DirectX см. в разделе где находится пакет SDK DirectX?, а в записи блога нет такой непосредственной настройки. Среда выполнения DirectXСреда выполнения DirectX состоит из основных компонентов и дополнительных компонентов. Дополнительные компоненты выпускаются в обновлениях пакета SDK DirectX и включают в себя D3DX, XAudio2, КСИНПУТ, управляемые DirectX и другие подобные компоненты. Многие из дополнительных компонентов регулярно обновляются для интеграции отзывов клиентов и предоставления новых функций. Номер версии DirectXНомер версии DirectX, например 9.0 c, относится только к версии основных компонентов, например Direct3D, Директинпут или DirectSound. Это число не охватывает версии различных дополнительных компонентов, выпускаемых в пакете SDK DirectX, например D3DX, активной транзакции, КСИНПУТ и т. д. В целом, номер версии DirectX не имеет смысла, за исключением краткого справочника по основным битам времени выполнения. Это число не должно использоваться для проверки того, установлена ли правильная среда выполнения DirectX, так как она не учитывает дополнительные компоненты DirectX. Библиотеки DirectXВ прошлом дополнительные компоненты пакета SDK DirectX, включая D3DX, были выпущены как статические библиотеки. Однако теперь они выпускаются в виде библиотек (DLL) с повышенными требованиями к безопасности. Библиотеки DLL позволяют обслуживать ранее выпущенный код. Если эти компоненты были развернуты как статические библиотеки, корпорация Майкрософт не сможет устранить проблемы безопасности, обнаруженные после выпуска. По мере добавления или изменения компонентов для дополнительных компонентов имена соответствующих библиотек DLL также изменяются, чтобы гарантировать отсутствие регрессий в существующих играх, использующих выпущенные компоненты. Библиотеки DLL для каждого компонента находятся рядом друг с другом, и разработчики игр могут выбрать, какая именно версия DLL используется в игре, путем связывания с соответствующей библиотекой импорта. Хотя обеспечение установки библиотек DLL в системе не так просто, как простое связывание со статическими библиотеками, в пакет SDK для DirectX внесены некоторые изменения, чтобы решить проблему с моделью DLL. Установка DirectX с помощью установщика игрыНиже приведены рекомендации по добавлению установки DirectX в установщик игры.
Небольшие пакеты установкиМожно создать небольшие пакеты установки для DirectX, отменив содержимое папки распространяемого пакета DirectX до минимального набора файлов, необходимых для работы установщика, и оставив все дополнительные компоненты, используемые в игре. В зависимости от минимальных спецификаций может быть даже не обязательно включать в папку распространяемого установочного носителя базовые CAB-файлы DirectX 9.0 c. большая часть установок Windows XP имеет пакет обновления 2 (sp2), который включает основные компоненты directx 9.0 c, поэтому операция установки directx будет выполняться очень быстро, и перезагрузка не потребуется. Самый маленький пакет, который можно создать, составляет около 3 МБ, и его можно сжать до половины этого размера. Пакет, подобный этому, содержит одну версию библиотеки DLL D3DX и требует, чтобы DirectX 9.0 c уже существовал. Добавьте в эти CAB-файлы для компонентов, которые требуется установить. Если требуется, чтобы пользователи вашего приложения уже имели DirectX 9.0 c, не нужно включать DirectX.cab или dxnt.cab, которые составляют большую часть необходимого пространства. DirectX.cab требуется только для Windows 98 и Windows ME; dxnt.cab требуется только для Windows 2000, Windows xp и Windows XP с пакетом обновления 1 (SP1); и дксдллрег _x86.cab требуются только для Windows 2000, Windows xp rtm, Windows XP с пакетом обновления 1 (SP1) и Windows Server 2003 RTM. кроме того, если вы не используете DirectShow или предполагаете, что она уже установлена, можно опустить BDA.cab, BDANT.cab и BDAXP.cab. вы можете предположить, что у пользователей вашего приложения уже есть DirectX 9.0 c, если он был установлен в предыдущей версии приложения, поэтому пользователи вынуждены вручную выполнять обновление через веб-установщик, или предполагается, что у них Windows XP SP2 или более поздней версии. Если продолжить работу с этим примером, то при использовании только 32-разрядной версии D3DX в апреле 2006 можно добавить Apr2006 _ d3dx9 _ 30 _x86.cab. Если вы используете 32-2006 32 разрядную версию КСИНПУТ, то вы добавляете Aug2006 _ ксинпут _x86.cab. При наличии собственного 64-разрядного приложения необходимо добавить _ версии x64. Однако при наличии 32-разрядного приложения, работающего в 64-разрядной ОС, будут работать 32-разрядные версии библиотек DLL. Затем можно распространить этот пакет файлов и запустить Директсетуп в автоматическом режиме или запустить dxsetup.exe в командной оболочке в автоматическом режиме. Не забывайте защищать этот пакет с помощью проверки версий файлов, и убедитесь, что пользователи не могут отказаться от запуска программы установки DirectX. Одно из этих событий создает процесс установки фаллибле. Внутреннее развертывание отладочной среды выполнения DirectXОтладочные среды выполнения компонентов DirectX устанавливаются при установке пакета SDK DirectX, но установка пакета SDK на каждый тестовый компьютер может быть нелегкой. необходимо разработать процесс установки, чтобы скопировать библиотеки dll среды выполнения отладки из программных файлов \ \ архитектура среды выполнения разработчика Microsoft DirectX SDK \ \ в Windows \ system32 \ или в папку игры. Однако настоятельно рекомендуется не просто копировать выпущенные библиотеки времени выполнения, так как это легко забывать, чтобы удалить их для окончательного продукта. Вместо этого вставьте файлы установки DirectX в общую папку и запустите программу установки без вмешательства пользователя из общей папки. мост для классических приложений приложения
|