Directx для windows 7

Содержание:

Совместимость[править | править код]

  • Windows NT 4.0, Windows 2000, Windows 2000 Advanced Server, Windows 2000 Professional Edition, Windows 2000 Server, Windows 2000 Service Pack 2, Windows 2000 Service Pack 3, Windows 2000 Service Pack 4;
  • Windows Server 2003, Windows Server 2003 Service Pack 1, Windows Server 2003 Datacenter x64 Edition, Windows Server 2003 Enterprise x64 Edition, Windows Server 2003 Standard x64 Edition, Windows Small Business Server 2003;
  • Windows XP, Windows XP 64-bit, Windows XP Home Edition, Windows XP Media Center Edition, Windows XP Professional Edition, Windows XP Service Pack 1, Windows XP Service Pack 2, Windows XP Service Pack 3, Windows XP Starter Edition, Windows XP Tablet PC Edition;
  • Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10;
  • Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2016.

Тогда зачем игра устанавливает свой DirectX?

Игра, которую вы устанавливаете, не опирается лишь на общий набор файлов в библиотеке Direct3D версии DirectX: здесь как нигде важна конкретика. И даже более современная версия библиотеки не спасёт ситуацию. Так что пропущенное во время установки окно DirectX, казалось бы, старой доброй игры на более новую версию Windows, сразу после запуска повлечёт за собой ошибку отсутствия какого-нибудь d37dgxxx_79.dll. И начинаем искать в сети… Да, если игре нужен файл в составе Direct-a с версией d3dxdx10_40.dll, его более молодой собрат версии d3dxdx10_41.dll уже не прокатит. Но здесь есть один момент, о котором я всегда упоминаю: если вы устанавливаете игру с более “древней” версией DirectX-a и пропускаете установку из-за боязни “откатить” версию до более поздней, вы можете столкнуться с ошибкой. Не волнуйтесь: DirectX 9 не затрёт DirectX 12, цифра “9” означает лишь то, что эта игра запустится и в предыдущих версиях Windows. И не более того.

Поддержка видеокартой DirectX разных версий

Чем новее видеокарта, тем более высокую версию DirectX она поддерживает. Все предыдущие версии также будут поддерживаться. То есть старые игры, использующие ДиректХ 7/8/9 теоретически должны работать нормально. На практике ограничением становится поддержка операционной системы. Игры, разработанные для Windows 95/98/ME зачастую вылетают на более новых ОС, видеокарта тут совершенно не при чём.

При этом нужно понимать, что от Windows тоже зависит, какой DX будет работать. Игры, которым требуется 12-й Директ, не запустятся в Win7/8 и тем более XP. Сама видеокарта работать в древних системах будет, просто современные API функции будут недоступны. Таким образом, с видеокартой, поддерживающей DirectX 12, в Windows XP вы не поиграете в современные игры — запустятся только работающие через девятый DirectX и ниже.

Конвейер по обработке графики и звука

Справедливости ради стоит отметить, что DirectX действительно оказался прекрасно работающим решением. Это был настоящий Директор, который имел в своем распоряжении:

  • оборудование – компьютерное железо, включающее все его ресурсы (CPU, RAM, GPU, звуковую карту);
  • технологии – алгоритмы обработки данных;
  • материалы – базы данных, библиотеки текстур, готовые эффекты;
  • существующую инфраструктуру – действующую ОС;
  • аппарат управления и инженерную службу – в лице основного модуля API, обеспечивающего взаимодействие.

Разработчику оставалось дать Директору «Х» четко сформулированное задание и предоставить исходные параметры. Например, в определенной сцене игры должен идти дождь, по небу плыть тучи, освещение пасмурное. А на мокрой дороге требовалось изобразить отражения и брызги. Разрешение экрана VGA, HD, FullHD и такие-то параметры сглаживания. Вот и все. Дальше DirectX сам просчитывал все детали и наносил их на исходный кадр, соответствующий сухой погоде. Видеорядом процесс не ограничивался, и к нему добавлялось соответствующее звуковое сопровождение.

Базовые модули DX

По сути Microsoft бесплатно сделало за разработчиков ту работу, для которой требовались немалые кадровые и финансовые ресурсы. А так, используется слаженное взаимодействие реальных компонентов DirectX, обеспечивающих нужный результат:

  • за объемную и двумерную графику соответственно отвечают «3D» и «2D» компоненты;
  • с музыкой и звуком работают модули «Sound» и «Music», а «X Instruments» позволяет программировать музыкальные инструменты;
  • «Play» необходим для синхронизации объектов сетевых игр;
  • обработка команд пользователя, поступающих с контроллеров, мыши или клавиатуры выполняется блоком «Input», а потоковые медиа сигналы обрабатываются «X Media Objects» и транслируются модулем «Show»;

Я преднамеренно сократил обозначения компонентов. Но все их полные наименования включают слово Direct, например «DirectSetup» или «Direct 2D».

Вы можете сказать, ну и что здесь нового, ведь и до появления ДиректХ компьютер мог с помощью графических и звуковых плат обрабатывать медиаконтент. Так-то, оно так. Но только прогресс не стоит на месте. И задача разработчиков ПО и железа постоянно сводилась к тому чтобы успевать предлагать современные решения, поспевая друг за другом.

Вместо разработки ОС проще совершенствовать ее отдельные компоненты. Так DirectX обновлялся почти каждый год. Некоторые его последние версии были просто оптимизацией предыдущих. А другие предоставили совершенно новые возможности, например в 8.0 впервые появилась работа с шейдерами.

Совместимость DirectX и видеокарты – слабое звено любо го ПК

Вполне понятно желание пользователей иметь самый новый DirectX. Но здесь стоит четко понимать, что его разработчики также ориентируются на наиболее актуальные компоненты. Поэтому, чтобы любой Директ Икс работал как положено, он должен поддерживаться тремя «китами»:

  • интегрированной или дискретной видеокартой;
  • операционной системой;
  • устанавливаемым программным обеспечением (игрой);

Новую ОС и вместе с ней медийную API можно установить. Последняя Windows 10 вообще сама предлагает актуальные обновления, среди которых и библиотеки Директ Х. Они так же идут и с играми.

А вот на поддержку DirectX в характеристиках видеокарты никак повлиять нельзя. Можно только уточнить версию, для которой предназначен графический адаптер, посмотрев паспортные характеристики или вызвав «Средство диагностики» с помощью функции «dxdiag» в командной строке. Если вас ситуация не устраивает – видеокарту придется менять.

Я надеюсь что рассказал вам кое-что полезное и заставил по-новому взглянуть на DirectX. Теперь это для вас не просто графическая прослойка между ПК и игрушкой. А неотъемлемый компонент современной операционной системы. Возможно, при покупке или сборке нового компьютера вы уделите ему больше внимания. А пока стоит с огромным уважением относиться к выполняемой им работе.

На этом я говорю вам: «До новых встреч!» и желаю удачи.

Но почему каждая ПК-игра переустанавливает их?

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

Неверно. Не существует способа, с помощью которого игры бы легко проверяли, установлены ли необходимые библиотеки DirectX в системе или нет. На сайте поддержки Steam указали, что официальный установщик DirectX от Майкрософт – это единственный способ проверить наличие необходимых библиотек DirectX. Игры запускают установщик DirectX, зачастую на заднем фоне, который устанавливает необходимые библиотеки, а также исправляет любые проблемы в системе, связанные с ними.

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

Конечно же, не все игры в действительности должны запускать установщик DirectX, когда те впервые запускаются. Играм, которые используют OpenGL или Vulkan, нет нужды использовать библиотеки DirectX. Некоторые игры также полагаются только на главные версии DirectX 9, DirectX 10 и DirectX 11 и им нет нужды запускать установщик DirectX, так как им не требуются вспомогательные библиотеки.

Если DirectX уже включен в Windows, то почему игры устанавливают его?

Что же, если DirectX уже является частью Windows, то почему игры устанавливают и требуют его? Если кратко, то установка DirectX – это настоящий бардак.

В природе не существует какой-то одной определенной библиотеки DirectX Direct3D, на которую опираются все игры. Игровым разработчикам приходится нацеливаться на определенную версию вспомогательной библиотеки Direct3D. Нельзя просто использовать самые последние библиотеки и надеяться, что игра запуститься. Для примера, если разработчик игры нацелил ее на библиотеку d3ddx10_40.dll, то игра не может использовать библиотеку d3ddx10_41.dll. Ей потребуется 40-я версия и только она.

Вы можете найти эти библиотеки DirectX в своем компьютере по адресу C:\Windows\System32. На 64-битных системах, 64-битные библиотеки расположены по адресу C:\Windows\System32, а 32-битные в C:\Windows\SysWOW64.

Даже если вы запустите самый свежий установщик DirectX, то нет никакой гарантии, что он установит все ранее выпущенные вспомогательные библиотеки DirectX на вашу систему. Майкрософт также решила, что не станет аккумулировать все эти библиотеки Direct3D в самой Windows. Даже библиотеки Direct3D, созданные до выхода операционной системы Windows 10, не были включены в нее. Их нужно устанавливать с приложениями, которые в них нуждаются. Как Майкрософт заметили в документации, предназначенной для разработчиков игр, «Обновления Windows и Сервисные пакеты не предоставляют никаких опциональных компонентов DirectX».

Однако, все еще сложнее, чем кажется. 32-битные игры требуют библиотеки 32-битной разрядности, а 64-битные, соответственно, 64-битной разрядности. Похожая ситуация сложилась и с библиотеками Microsoft Visual Studio C++. Различные приложения полагаются на различные версии библиотек и вам нужно устанавливать их всех.

История[править | править код]

DOS позволяла разработчику получить прямой доступ к видеокарте, клавиатуре/мыши/джойстику и прочим частям системы, в то время как Windows 95, с её защищённой моделью памяти, предоставляла более стандартизованный, но в то же время весьма ограниченный и накладный доступ к устройствам. Microsoft нуждалась в новом способе дать разработчику всё, что ему необходимо. Айслер (Eisler), Сэйнт Джон (St. John) и Энгстром (Engstrom) решили эту проблему, назвав само решение DirectX.

Первый релиз DirectX был выпущен в сентябре 1995 года, под названием «Windows Game SDK».

Ещё до появления DirectX, Microsoft включила OpenGL в ОС Windows NT. Direct3D позиционировался как замена OpenGL в игровой сфере. Отсюда берёт своё начало «священная война» между сторонниками кросс-платформенной OpenGL и доступной лишь в Windows (в том числе Windows NT) Direct3D. Так или иначе, остальные части DirectX очень часто комбинируются с OpenGL в компьютерных играх, так как OpenGL как таковой не подразумевает функциональность уровня DirectX (например, доступ к клавиатуре/джойстику/мыши, поддержка звука, игры по сети и т. д.).

Хронология версий DirectXправить | править код

Версия DirectX Логотип Номер версии Операционная система Дата релиза
DirectX 1.0 4.02.0095 Windows 95a
DirectX 2.0 / 2.0a   4.03.00.1096 Windows 95 OSR 2 и Windows NT младше 4.0
DirectX 3.0 / 3.0a   4.04.0068 / 69 Windows 95 OSR 2.5 и Windows NT 4.0 SP3 последняя поддерживаемая версия DirectX для Windows NT 4.0
DirectX 4.0   4.05.00.0155 (RC55) Доступен как бета для Windows NT 4.0
DirectX 5.0   4.05.01.1721 / 1998 Windows 98
DirectX 6.0   4.06.00.0318 (RC3) Windows 98 SE
DirectX 6.1   4.06.02.0436 (RC0) Windows 95/98/98SE
DirectX 6.2 5.00.2516.1900(unofficial Path to DX 6.2) Windows NT/98SE/98/2000/ME
DirectX 7.0 4.07.00.0700 (RC1) Windows 2000 и Windows ME
DirectX 7.0a   4.07.00.0716 (RC1) Windows 95/98/98SE/2000
DirectX 8.0 4.08.00.0400 (RC10) Windows 95/98/98SE/ME/2000
DirectX 8.0a   4.08.00.0400 (RC14) Последняя поддерживаемая версия DirectX для Windows 95
DirectX 8.1   4.08.01.08104.08.01.0881 (RC7) Windows NT/98SE/98/XP
DirectX 8.1b   4.08.01.0901   ???,
DirectX 8.2   4.08.02.0134 (4.09.0000.0134)   ???,
DirectX 9.0 4.09.0000.0900 Windows Server 2003
DirectX 9.0a   4.09.0000.0901  
DirectX 9.0b   4.09.0000.0902 (RC2)  
DirectX 9.0c   4.09.0000.0904 (RC0) Windows XP SP2последняя поддерживаемая версия DirectX для Windows 98SE и Windows Me
DirectX 9.0L   4.09.0000.0905 (?)
DirectX 10 (включён в состав Windows Vista) 100px 6.0.6000.16386 Первая версия для Windows Vista.
DirectX 10.1   6.00.6001.18000 Service Pack 1 для Windows Vista, Windows Server 2008
DirectX 11 (включён в состав Windows 7) 100px 6.01.7600.16385 Windows 7, Windows Server 2008 R2 22 октября 2009
6.00.6002.18107 Windows Vista SP2 и Windows Server 2008 SP2 через Platform Update for Windows Vista and Windows Server 2008 27 октября 2009
6.01.7601.17514 Windows 7 SP1, 16 февраля 2011
DirectX 11.1 (включён в состав Windows 8) 6.02.9200.16384 Windows 7 SP1, Windows 8, Windows RT, Windows Server 2012
DirectX 11.2 (включён в состав Windows 8.1) 6.03.9600.16384 Windows 8.1, Windows RT, Windows Server 2012 R2
DirectX 11.3 (включён в состав Windows 10) Windows 10
DirectX 12 (включён в состав Windows 10) 10.00.10240.16384

Ключевые особенностиправить | править код

  • DirectX 6.0 — мультитекстурирование
  • DirectX 7.0 — аппаратная поддержка преобразований, обрезания и освещения
  • DirectX 8.1 — пиксельные шейдеры 1.4 и вершинные шейдеры 1.1
  • DirectX 9.0 — шейдерная модель 2.0
  • DirectX 9.0b — пиксельные шейдеры 2.0b и вершинные шейдеры 2.0
  • DirectX 9.0c — шейдерная модель 3.0
  • DirectX 9.0L — версия DirectX 9.0 для Windows Vista и выше
  • DirectX 10.1 — шейдерная модель 4.1 (только Windows Vista, Windows 7, Windows 8)
  •  — шейдерная модель 5.0 (только Windows Vista, Windows 7, Windows 8)
  •  — шейдерная модель 5.1 (только Windows 10).

Описание

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

DirectX-for-pc.ru рекомендует InstallPack, с его помощью вы сможете быстро установить программы на компьютер, подробнее на сайте.

DCP существует только на английском языке. Интерфейс состоит из восьми вкладок. Вкратце рассмотрим каждую из них:

  • DirectX — заглавное окно утилиты. Здесь содержатся сведения о текущей версии библиотеки (отображается не выше 9) и кнопка вызова информации о ПК DxDiag.
  • Direct3D — настройки 3D-графики. Наибольший интерес здесь представляет опция Allow Hardware Acceleration.Нередко именно ее настройка позволяет решить проблемы с совместимостью.
  • DirectDraw — параметры отрисовки. Здесь есть аналогичный тумблер — Use Hardware Acceleration, который тоже окажется полезным. Если нажать Advanced Settings, то отобразится расширенный набор опций.
  • DirectInput — установки по части устройств ввода. Здесь ничего интересного нет.
  • DirectShow — вкладка, актуальная для разработчиков с режимом отладки.
  • DirectSound — звуковые установки. Здесь получится выбрать устройство вывода звука и его захвата (микрофон).
  • DirectPlay и DirectMusic — нефункционирующие вкладки.

Почему без него было бы туго?

А вот не будь у Вас этого самого DirectX, – пришлось бы Вам самим думать где этот файл, где то окно, почему, кто, как, зачем, куда и все это выполнять вручную, что физически невозможно.

Возможно вас заинтересует: Wifi шифрование — какое бывает и как выбрать

Наиболее чаще DirectX используется для написания игр. Кроме функций, связанных с обработкой графики, DirectX управляет звуковым потоком, а так же занимается обработкой данных, поступающих с устройств ввода (клавиатур, мышей, джойстиков и тд). Для исполнения некоторых функций требуется аппаратная поддержка со стороны устройства.

Например, видеокарты в случае с DX10 должны поддерживать Shader Model 4.0. Ну нельзя заставить стул быть стулом, если у него нет сиденья, – функции вроде известны, что мол, на стуле сидеть надо, – но воплотить их в жизнь никак, – попа будет проваливаться хоть ты тресни.

Главные преимущества и недостатки

Говоря о том, что лучше — OpenGL или DirectX 11 (12), отдельно стоит отметить, что первая платформа предназначена только для графики, а вторая может использоваться вообще для всего того, что относится к мультимедиа (за графику в данном случае отвечает компонент Direct3D).

Кроме того, многим экспертами отмечается, что в очень высокой степени выбор в пользу того или иного моста может зависеть и от типа графической карты. Но, если подходить к сравнению непредвзято, считается, что в плане охвата платформ лучше выглядит OpenGL, но DirectX выигрывает в плане того, что является готовым программным продуктом вроде класса Plug&Play. Однако не стоит забывать и том, что инструментальный набор DirectX последних версий и так доступен в OpenGL, а вот обратной поддержки нет.

Настройка DirectX в Windows

В современных ОС, таких, как Windows 7 – 10, отсутствует возможность настройки непосредственно самих компонентов DirectX, так как они уже не являются отдельным программным обеспечением, в отличие от XP. Повысить производительность видеокарты в некоторых играх (если требуется) можно, настроив параметры в специальном ПО, которое поставляется вместе с драйверами. У «зеленых» это Панель управления NVIDIA, а у AMD – Catalyst Control Center.

Подробнее:Оптимальные настройки видеокарты Nvidia для игрНастройка видеокарты AMD для игр

Для старичка «Хрюши» (Win XP) компания Microsoft разработала вспомогательную программу, которая также может работать, как апплет «Панели управления». Называется софт «Microsoft DirectX Control Panel 9.0c». Поскольку официальная поддержка XP закончилась, то эту панель настроек DirectX на официальном сайте отыскать довольно проблематично. Благо, есть сторонние сайты, на которых ее еще можно скачать. Для поиска просто наберите в Яндексе или Гугле название, которое приведено выше.

  1. После скачивания мы получим архив с двумя файлами: для х64 и х86 систем. Выбираем один, соответствующий разрядности нашей ОС, и копируем его в подпапку «system32», находящуюся в директории «Windows». Архив распаковывать не обязательно (по желанию).

  2. Дальнейшие действия будут зависеть от полученного результата. Если при переходе в «Панель управления» мы видим соответствующий значок (см. скриншот выше), то запускаем программу оттуда, в противном случае можно открыть Панель прямо из архива или из папки, куда он был распакован.

    На самом деле, подавляющее большинство настроек практически не влияют на игровой процесс. Здесь есть только один параметр, который необходимо поменять. Переходим на вкладку «DirectDraw», находим пункт «Use Hardware Acceleration» («Использовать аппаратное ускорение»), снимаем галку напротив и жмем «Применить».

Заключение

После прочтения данной статьи Вы должны уяснить следующее: DirectX, как компонент операционной системы, не имеет изменяемых параметров (в Windows 7 – 10), так как не нуждается в настройке. Если необходимо повысить производительность в играх, то воспользуйтесь настройкой видеодрайвера. В том случае, если результат Вас не устроит, то самым правильным решением будет покупка новой, более мощной, видеокарты.

Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.

Какой лучше установить на ПК?

Внимание. Все зависит от того, какая версия Windows у вас есть на устройстве

От той или оной версии сборки зависит способность вашего компьютера воспроизводить музыкальный контент, обрабатывать графические объекты и реагировать на ваши команды в игровом приложении.

Современные приложения и игры используют библиотеки и интерфейсы разных поколений.

Частичное или полное их отсутствие приводит к ошибкам в играх и приложениях, часто не позволяя их даже запустить.

Последние вышедшие сборки:

  • DirectX 9.0c — самая последняя версия для ОС Windows XP SP2 и Windows Server 2003 с обновлениями SP1. Её можно использовать, как дополнение к 7, 8, Vista.
  • DirectX 10 — полностью подходят Windows Vista, Server 2008. А также есть все компоненты предыдущих версий.
  • DirectX 11 — есть все компоненты 11 поколения, а также все необходимые списки библиотек DirectX 9.0c и 10. Лучший выбор для операционных систем Windows 7, 8, Server 2008.2.
  • DirectX 12— последнее обновление утилиты на 2019 год. С ним графический процессор может выполнять много задач сразу, поэтому рендеринг просто летает. Походит любую версию виндовс, но не под каждую видеокарту.

Следите за обновлениями, чтобы всегда, когда пора скачать актуальное обновление. От этого зависит производительность вашего ПК во время игр и других приложений, нагружающих процессор. Каждая новая версия поддерживает все старые, но в то же время содержит необходимые улучшения.

ЗАЧЕМ НУЖЕН DIRECTX?

Предназначение DirectX для разработчиков программ было описано выше. Обычным пользователям DirectX необходим для запуска приложений, использующих данные библиотеки. И это далеко не только компьютерные игры. Многие инженерные программы (например,AutoCAD) также используют DirectX. Видеопроигрыватели, аудио- и видеоредакторы, программы для создания музыки и многие другие приложения не могут работать без этих библиотек.

В это же время, многие программы могут обходиться и без DirectX. До 10-ой версии этот компонент вообще не входил в состав операционных систем Windows — его нужно было устанавливать вручную. Многие пользователи, кто еще застал времена Windows XP, спокойно работали на компьютере без DirectX, пока речь не заходила о запуске игр.

Версии DirectX и принцип наследования

Самая старая версия, которая сегодня еще используется — 9. Речь идет о старых «теплых и ламповых» играх, которые перепроходят ностальгирующие геймеры — какие-нибудь «Морровинд» или «Герои 3» никогда не утратят популярности, даже несмотря на откровенно устаревшую графику.

почитать тут

SDK, то есть набор инструментов, каждой новой версии включает в себя библиотеки и из предыдущих, и обеспечивает их нормальную работу. Если у вас на компе установлен 12‑й Директ, то будут запускаться и игры, использующие 9‑й.

Разработку и поддержку библиотек осуществляет компания Microsoft. Скачать установщик можно на их официальном сайте. После запуска программа загрузит на ваш ПК все недостающие компоненты.

Компоненты DirectX

Практически все части DirectX API представляют собой наборы COM-совместимых объектов.

В целом, DirectX подразделяется на:

  • DirectX Graphics, набор интерфейсов, ранее (до версии 8.0) делившихся на:

    • DirectDraw: интерфейс вывода растровой графики (его разработка давно прекращена);
    • Direct3D (D3D): интерфейс вывода трёхмерных примитивов.
  • DirectInput: интерфейс, используемый для обработки данных, поступающих с клавиатуры, мыши, джойстика и прочих игровых контроллеров.
  • DirectPlay: интерфейс сетевой коммуникации игр.
  • DirectSound: интерфейс низкоуровневой работы со звуком (формата Wave)
  • DirectMusic: интерфейс воспроизведения музыки в форматах Microsoft.
  • DirectShow

    DirectX Instruments — технология, позволяющая на основе мультимедийного API DirectX создавать и использовать программные синтезаторы. В отличие от DX-плагинов, такие программы могут полностью управляться по MIDI и служат главным образом не для обработки, а для синтеза звука. Технология DXi была популярна в 2001—2004 гг., особенно в программных продуктах Cakewalk, но со временем проиграла «войну форматов» технологии VST от Steinberg.

    : интерфейс, используемый для ввода/вывода аудио и/или видео данных.

  • DirectSetup: часть, ответственная за установку DirectX.
  • DirectX Media Objects: реализует функциональную поддержку потоковых объектов (например, кодировщики/декодировщики)
  • Direct2D: интерфейс вывода двухмерной графики

История

В середине 90-ых годов считалось, что ПК может стать самой популярной платформой для игр. Различные производители начали выпускать множество видеоадаптеров, звуковых карт и прочих компьютерных компонентов. Создателям игр стало намного сложнее подстраиваться под всё это многообразие. И тогда в Microsoft решили ограничить доступ разработчиков к «железу». Вместо этого был создан набор COM-совместимых объектов. Или попросту библиотек. Именно этот набор, получивший наименование DirectX 1.0, мог работать с драйверами комплектующих. Ну а игры (первое время — не все) отныне должны были подстраиваться лишь под этот самый DirectX.

Пакетом библиотек DirectX 1.0 смогли воспользоваться все владельцы компьютеров с установленной операционной системой Windows 95a, релиз состоялся 30 сентября 1995 года. Это был упрощенный набор, который в основном отвечал за вывод двухмерной графики, звуков, а также обрабатывал данные, поступающие с манипуляторов. Лишь намного позже появилась поддержка трехмерной графики и разнообразных графических эффектов.

Первые годы о DirectX многие компьютерные пользователи даже не подозревали. Как ни странно, сначала наиболее полезен этот пакет библиотек оказался не для геймеров, а для математиков и инженеров. DirectX оказался способен систематизировать различные вычисления, благодаря чему процесс стал занимать при тех же имеющихся ресурсах меньшее количество времени.

Долгое время геймеры с разработчиками игр не признавали DirectX и из-за склонности использовать вместо него OpenGL. Однако постепенно эта технология влилась в состав пакета библиотек. И уже совсем скоро его стали устанавливать практически все владельцы компьютеров, которые хотя бы иногда запускали игры.

Набор библиотек обновляется очень часто. 7 августа 1998 года состоялся релиз DirectX 6.0. Эта версия в первую очередь предназначалась для операционной системы Windows 98 SE. Но теперь это стал кроссплатформенный продукт. Данная версия была замечена в игровой консоли SEGA Dreamcast. Но там он был лишь вспомогательным средством отображения графики.

Знаковым для пакета библиотек стал 1999 год. В Microsoft смогли его максимально оптимизировать, благодаря чему стала возможной установка DirectX 6.1 на разные операционные системы — в то время это были Windows 95, 98 и 98SE. Позже от этой практики отказались. Затем к ней вернулись, а потом снова отказались. В конце выход новых версий DirectX начал заставлять пользователей переходить на новую операционную систему, даже если они этого не хотели.

Пакет библиотек напрямую работает с ресурсами видеокарт. Само собой, чем новее версия DirectX — тем меньшее количество старых видеокарт может с ней работать. Однако создатели графических адаптеров стараются сотрудничать с Microsoft, благодаря чему сейчас в продаже очень сложно найти видеокарту, которая не поддерживала бы новейший DirectX 11.

В роли догоняющего. DirectX 2.0 и далее

Следующее поколение API DirectX было представлено в середине 1996 года. Наконец-то в состав программного интерфейса были включены пакеты Direct3D и DirectPlay. С тех пор API состоял из следующих компонентов:

  • DirectDraw. Использовался для отрисовки двухмерной графики.
  • Direct3D (D3D). Использовался для отрисовки трехмерной картинки.
  • DirectPlay. Представлял собой сетевой программный интерфейс.
  • DirectInput. Использовался для обработки данных, поступающих с различных манипуляторов.
  • DirectX Media. Представлял собой набор API для работы с мультимедиа.
  • DirectMusic. Использовался для проигрывания музыки.
  • DirectSound. Использовался для записи и воспроизведения звука.
  • DirectSound3D. Предназначен для работы с пространственным звуком.
  • DirectX Media Objects. Потоковые объекты, такие как энкодеры, декодеры и эффекты.
  • DirectSetup. Отвечал за установку всех компонентов DirectX.

DirectX 2.0 предназначался для операционных систем Windows 95 и Windows NT 4.0. С момента выпуска первой ОС прошло совсем мало времени, поэтому для этой версии было выпущено очень мало игр. Microsoft воспользовалась моментом и начала активно продвигать API среди разработчиков. Ради этого во время конференции GDC в 1996 году Microsoft даже устроила специальное мероприятие, где представила некоторые новые возможности DirectX.

Совместимость

Многие современные устройства имеют DirectX-совместимые драйверы, иными словами, пользователь должен установить DirectX для использования всех возможностей устройства. На данный момент система обновления драйверов Windows Update позволяет загружать только необходимые библиотеки, а не весь драйвер целиком.

  • Windows 95//98 SE/ME;
  • Windows NT 4.0, Windows 2000, Windows 2000 Advanced Server, Windows 2000 Professional Edition, Windows 2000 Server, Windows 2000 Service Pack 2, Windows 2000 Service Pack 3, Windows 2000 Service Pack 4;
  • Windows Server 2003, Windows Server 2003 Service Pack 1, Windows Server 2003 Datacenter x64 Edition, Windows Server 2003 Enterprise x64 Edition, Windows Server 2003 Standard x64 Edition, Windows Small Business Server 2003;
  • Windows XP, Windows XP 64-bit, Windows XP Home Edition, Windows XP Media Center Edition, Windows XP Professional Edition, Windows XP Service Pack 1, Windows XP Service Pack 2, Windows XP Service Pack 3, Windows XP Starter Edition, Windows XP Tablet PC Edition;
  • Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10;
  • Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2016.

Подготовка[править | править код]

Что нужно знатьправить | править код

Вы должны знать С++, чуть выше написания хеловорда. Будет хорошо, если вы до этого писали какие-то проекты. Если вы не знаете С++ или начали его изучать в прошлом месяце — продолжайте изучать С++, вам еще рано изучать голый GAPI. Вы спешите и хотите сделать игру завтра? Unity вам в помощь, знать DX для этого вам не нужно — там уже все за вас сделали. Вы уникум умеющий все изучать за неделю? Чтож, я вас предупредил, большинство возникших проблем у читателей было связано как раз с незнанием программирования или IDE. Хотя не волнуйтесь, я пытаюсь помочь даже начинающим, ведь сам был когда-то таким же и тоже DX (тогда DX9) решил изучать на вторую неделю обучения программированию:)

Нужно хоть как-то читать по английски, я конечно статьи пишу на русском, но ведь не одну же эту вики вы будете читать:) Как минимум придется читать хелп из DirectX SDK. Если с английским проблемы, советую тогда скачать программу-переводчик (я использую PROMT).

Что нужно скачатьправить | править код

Вам, нужна IDE, если вы достаточно опытны, то любая к которой можно подключить DirectX SDK. Если вы не опытны, то Visual Studio 2010. Не Visual studio 2008 (из-за того что я использую новый стандарт С++). И не Visual Studio 2012 (там возможно есть какие-то заморочки, хотя можете попробовать, вдруг не будет проблем). Постарайтесь понять как создается статическая библиотека, как библиотеки подключаются к проекту, что такое RELEASE и что такое DEBUG. А в случае проблем вам нужно понимать, как сделать пошаговое выполнение приложения, и вообще иметь общие представления об дебаге приложения.

Скачать VS 2010 совершенно бесплатно и легально можно здесь. Но это урезанная версия, могут возникнуть проблемы (все они давно вылечены — гугл вам в помощь:)) На свой страх и риск можете скачать VS 2012 оттуда же, но я не гарантирую вам работоспособность уроков. Ну и еще вы можете скачать полную версию IDE с торрентов, например с рутреккера (у меня ultimate).:)

Кроме того вам нужно скачать DirectX 11 SDK. Это дело лежит здесь

Обратите внимание — это версия за июль 2010 года. Сейчас есть более новая версия (DX 11.1) которая идет в Windows SDK, но я ее пока не буду рассматривать, из-за не слишком важных изменений, и вам не советую начинать с нее — нет ни примеров, ни документации (точнее они есть, на сайте Microsoft, но их там еще найти надо:) ).. Документация лежит в Microsoft DirectX SDK (June 2010)\Documentation\DirectX9:

Документация лежит в Microsoft DirectX SDK (June 2010)\Documentation\DirectX9:

directx_sdk.chm

windows_graphics.chm

С нею вам придется часто работать. Все что я не описываю (например параметры методов), описано там простым английским языком. Хотя документация должна встроится в IDE (но почему-то это не всегда получается)

В папке Microsoft DirectX SDK (June 2010)\Samples\C++ лежат примеры (в том числе и скомпилированные). Вас должны интересовать папки Direct3D10 и Direct3D11 (в них есть папка Bin, в ней уже собранные примеры для запуска)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector