что такое directx sdk
DirectX SDK
Директ Икс СДК представляет собой набор необходимого программного обеспечения для разработчиков, предназначенный для создания софта с использованием тех или иных возможностей библиотеки DirectX. То есть этот комплект будет полезным исключительно для интересующихся в подобного рода вещах людей, например, разработчиков компьютерных игр и т. д. Для рядовых пользователей он совсем не нужен. В данной статье мы разберемся с его особенностями. В конце будет размещена инструкция, как и где скачать DirectX SDK.
Подробности
Три английские буквы в названии – сокращение от Software Development Kit. Дословный перевод здесь – «набор средств разработки». То есть он нужен не для банального запуска игр, а для их создания, а также других программ на базе библиотеки Директ Икс от компании Microsoft. Разумеется, совместимость у него только с операционной системой Windows.
Это основные моменты, которые стоит знать, остальная информация будет иметь сугубо технический характер. Так что мы переходим к основной части статьи – непосредственно инсталляции.
Инсталляция
Мы постарались вкратце объяснить, что это такое – DirectX SDK. Загрузить данный набор выйдет с официального сайта Microsoft. Процедура довольно простая:
В меню «Пуск» появится новый раздел с именем «Microsoft 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 в общую папку и запустите программу установки без вмешательства пользователя из общей папки. мост для классических приложений приложенияgames maker Все о создании игр и не только17 июля 2011 в 21:26 Установка DirectX SDK и directx end-user runtimesСсылки на программы: Для того чтобы писать программы, в которых используется DirectX, нужно установить Directx sdk. Для запуска программ написанных с использованием DirectX, необходимо установить directx end-user runtimes. В данном уроке мы рассмотрим установку обоих компонентов. Установка DirectX End-User Runtimes (directx для запуска игр) Для запуска игр и программ, написанных с использованием библиотеки Directx нужно установить directx end-user runtimes. На вашем компьютере уже установлена одна из версий DirecX end-user runtimes. Для программ, которые мы будем создавать, вполне достаточно и старых версий, и если вам не нужна последняя версия DirectX end-user runtimes, можете переходить к следующему пункту. Последняя на данный момент (январь 2010) версия directx end-user runtimes вышла в августе 2009г. Найти последнюю версию можно на диске с какой-нибудь недавно вышедшей игрой или скачать по ссылке в начале урока. После того как вы скачали и запустили файл directx_aug2009_redist.exe, появится окно с лицензионным соглашением: После нажатия на кнопку Yes, нужно будет ввести путь к временной папке, куда будет распакован архив: После того как архив распаковался, нужно перейти в указанную вами временную папку и запустить файл DXSETUP.exe. Откроется вот такое окно: Теперь нужно нажать два раза Далее и начнётся установка. Всё. С установкой DirectX end-user runtimes мы закончили. Теперь, для того чтобы создавать программы, использующие возможности directx, нужно установить directx sdk. Но сначала небольшой урок истории: Немного истории directx sdk Прежде чем приступать к чтению уроков из данного раздела (DirectX), вы должны были изучить большую часть материалов из раздела C++. Скорее всего у вас возник ряд вопросов. И самый главный из них: как используя изученный материал, начать создавать свою игру? Ниже я попытаюсь ответить на него. По крайней мере, вы узнаете теорию. Практикой же мы займёмся позже. До сих пор наши программы работали в досовской консоли. При этом мы использовали язык C++. Сейчас я расскажу вам очень важную вещь. Она простая, и возможно вы её уже знаете. По крайней мере, если бы кто-нибудь объяснил мне это лет десять назад, возможно вся моя жизнь сложилась бы по-другому. Итак: «у компьютеров есть слои» (С) Шрек. 🙂 Извините, не сдержался. Когда мы начинаем выполнение программы, команды на языке C++ переводятся на более низкие уровни. На самом нижнем уровне эти команды выполняются непосредственно электрическим сигналом. Одна команда более высокого уровня может состоять из нескольких команд более низкого. Тут что надо заметить! Большинство языков программирования высокого уровня обладают примерно равными возможностями. Будь то Pascal, Java или С++. Понятно, что у некоторых этих возможностей побольше, у других поменьше. Но у них много общего: у всех есть циклы и ветвления, функции, переменные. Ходят слухи, что изучить C++ намного сложнее, чем Pascal или другие языки программирования. Надеюсь, что изучая материал из раздела C++, вы убедились, что это не так. Когда появились видеоускорители, программистам приходилось писать отдельный код для каждого. Зайдите в любой интернет-магазин торгующий видеокартами и представьте, что Вам пришлось бы писать отдельный код для каждой видеокарты. В общем, перед программистами появилась серьёзная проблема. И тогда Microsoft создаёт DirectX. Первая версия была полным отстоем. Но время шло, и DirectX становился всё более надёжным. В новой операционной системе Windows 7 уже будет доступна одиннадцатая версия. Мы будем разбирать примеры для девятой версии. Отличия между девятой и десятой существенные. Возможно, в будущем мы рассмотрим и десятую, хотя скорее всего, сразу перейдём на одиннадцатую. Для того чтобы запускать программы, написанные с использованием DirectX, вам необходим DirectX End-User Runtimes (мы его установили в предыдущем пункте). У Вас на выбор два варианта установки directx sdk: Установка directx sdk с сайта Microsoft Заходим на домашнюю страницу DirectX. Итак, на следующей странице нажимаете на кнопку Download. Появится диалог сохранения файла и начнётся скачивание directx sdk:
После скачивания установочного файла, запускаем его. Дальнейший процесс щёлканья на кнопку «Next» я проиллюстрирую картинками:
Скачать и установить DirectX SDK с сайта Тут всё намного проще и быстрее. Щёлкаете по ссылке, расположенной в начале урока. Или в разделе Листинги и программы ищете «DirectX SDK», загружаете файл на свой компьютер и распаковываете. У себя я распаковал архив в корневой каталог диска D. В итоге установочная папка выглядит так: D:\directx\ Небольшое замечание: я много чего вырезал, чтобы уменьшить архив. В будущем, Вам нужно будет скачать ещё несколько файлов, о чём будет сообщено дополнительно. Они тоже будут небольшими. После установки directx sdk Напоследок давайте посмотрим, как оно работает. В данный момент IDE не знает о существовании DirectX. Нам нужно сообщить, где IDE Visual C++ 2008 должна искать заголовочные и библиотечные файлы. В правой части в выпадающем списке Show directories for (Показать директории для:) выберите Include files (Включаемых файлов, за точное имя пункта на русском не ручаюсь, он там второй). Затем из панели инструментов выберите New Line (Новая строка) или щёлкните Ctrl+Ins. Для более наглядной иллюстрации смотрите картинку. Появится новая строка. Щёлкните на кнопку с тремя точками в конце строки Откроется окно выбора директории. Перейдите в папку, где у вас установлен DirectX. И выберите папку Include. Теперь в выпадающем списке (где вы выбирали Include files) выберите Library files (библиотечные файлы) и повторите операцию добавления строки. Только теперь выберите папку Lib/x86 если у Вас 32-ух разрядная операционная система или Lib/x64 если 64-ёх разрядная. Нажимаем OK. Теперь IDE знает, где искать заголовочные и библиотечные файлы. В папке лежат два решения: для Visual C++ 2005 и для Visual C++ 2008. Выберите решение, соответствующее вашей версии Visual C++. Теперь нажимаем Ctrl+Alt+F7 и F5. Вот она. Первая программа использующая DirectX. Прежде чем закрывать IDE, давайте взглянем на код. В обозревателе решений выберите файл CreateDevice.cpp. Если вы бегло просмотрите весь файл, то скорее всего ничего не поймёте. Как это ни удивительно :), но структура программы очень похожа на то, что мы уже создавали: директивы #include, функции InitD3D(), CleanUp(), Render(), MsgProc(). В строках объявления переменных: Да, здесь используется много новых типов, много новых функций, но всё же за всей этой мишурой можно угадать уже привычный (надеюсь, что это действительно так) для нас C++.
|