Directx за что отвечает

Directx за что отвечает


При просмотре характеристик видеокарты мы сталкиваемся с таким понятием, как «Поддержка DirectX». Давайте разберемся, что это такое и для чего нужен DX.

Что такое DirectX

DirectX – совокупность средств (библиотек), которые позволяют программам, в основном компьютерным играм, получать прямой доступ к аппаратным возможностям видеокарты. Это значит, что вся мощь графического чипа может быть использована максимально эффективно, с минимальными задержками и потерями. Такой подход позволяет отрисовывать очень красивую картинку, а значит, разработчики могут создавать более сложную графику. Особенно заметна работа DirectX при добавлении в сцену реалистичных эффектов, таких как дым или туман, взрывы, брызги воды, отражения объектов на различных поверхностях.

Версии DirectX

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

Отличия заметны, хоть и не кардинальные. Если игрушка была написана под DX9, то изменения с переходом на новую версию будут минимальными.

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

Файлы

Файлы DirectX представляют собой документы с расширением dll и располагаются в подпапке «SysWOW64» («System32» для 32-битных систем) системной директории «Windows». Например, d3dx9_36.dll.

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

Поддержка DirectX графическими адаптерами и ОС

Максимальная поддерживаемая версия компонентов DX зависит от поколения видеокарты — чем новее модель, тем моложе редакция.

Во всех операционных системах Windows уже встроены необходимые библиотеки, и их версия зависит от того, какая ОС используется. В Windows XP может быть установлен DirectX не новее 9.0с, в семерке – 11 и неполная редакция 11.1, в восьмерке – 11.1, в Windows 8.1 – 11.2, в десятке – 11.3 и 12.

Заключение

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

Отблагодарите автора, поделитесь статьей в социальных сетях.

Немного о DirectX

Пока в природе не существовало DirectX, большинство игровых программ для персональных компьютеров работали под управлением Ms Dos.
Чтобы запустить такие игры, пользователям приходилось бороться, в прямом смысле этого слова, с конфигурационными файлами системы, такими, как AUTOEXEC.BAT, CONFIG.SYS, и с настройками драйверов типа EMM386.EXE и т.д. лишь ради того, чтобы получить несколько дополнительных свободных байт из доступных 640Кб базовой памяти, даже если на компьютере установлено 16Мб оперативной памяти.

Жизнь разработчиков программного обеспечения была не сахар, потому что для преодоления ограничения в 640Кб приходилось использовать различные драйверы для каждой разновидности видеоадаптеров и звуковых карт.

С выходом в свет технологии компании Microsoft DirectX для Windows 95 все указанные выше проблемы становятся историей.

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

Но разработка игр с использованием DirectX остается все еще непростой задачей. Иногда все еще достаточно трудно найти грамотную документацию, и начинающие разработчики тратят много времени на поиск знаний о том, как использовать такие новшества, как DirectDraw, Z-буферы или DirectSound, а также многие другие сложные, но полезные инструменты.

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

Что такое DirectX ?

DirectX представляет собой набор из нескольких API (application programming interface — интерфейс программирования приложений), позволяющих разработчикам игр и других интерактивных приложений получать доступ к специфическим функциям аппаратного обеспечения без необходимости написания аппаратнозависимого программного кода. DirectX основан на наборе интерфейсов COM или классов. COM расшифровывается, как Component Object Model (Компонентная Модель Объектов), и представляет собой спецификацию интерфейса, в котором функции вызываются через указатели. Таким образом, объекты COM могут описываться такими языками программирования, как C/C++, Delphi или даже Basic. Все примеры, ссылка на которые была выше, написаны на C++, т.к. я пользуюсь именно этим языком. Интерфейс COM используется не только в DirectX, но и на уровне операционной системы в качестве модели объектов и является сердцем одной из самой широко применяемой технологии — OLE (Objects Linking and Embedding — связывание и встраивание объектов).

Читайте также:  Как перемещать чертеж в автокаде

Последняя версия DirectX имеет порядковый номер 5.0 и включает в себя следующие API:

  • DirectDraw — обеспечивает доступ к аппаратным средствам, отвечающим за изображение. Предлагается возможность работать с двумерной графикой и напрямую управлять видеопамятью, оверлеями и сменой видеостраниц.
  • DirectSound — как видно из названия, этот компонент обеспечивает аппаратнонезависимый интерфейс воспроизведения звука. DirectSound позволяет приложениям полностью использовать возможности аппаратных компонентов, обеспечивающих работу со звуком, например, микширование без временных задержек.
  • DirectInput — Обеспечивает аппаратнонезависимый ввод данных в систему в режиме реального времени. События, обрабатываемые DirectInput, формируются клавиатурой, мышкой и джойстиком.
  • DirectPlay — представляет собой независимый протокол для осуществления связи между компьютерами. Может применяться для многопользовательских игр, связь в которых осуществляется через Интернет, локальную сеть или прямое последовательное соединение с помощью кабеля. Интерфейс, именуемый DirectPlay Lobby, позволяет создавать онлайновые места встреч в интернете, попадая в которые множество людей могут объединяться и совместно участвовать в играх.
  • Direct3D — это подсистема создания трехмерных графических изображений. Состоит из API низкого уровня, который обеспечивает несколько базовых возможностей создания изображения, и API высокого уровня, который осуществляет комплекс операций, образующих изображение.

DirectX 5.0 SDK (Software Development Kit — Набор разработчика программ), доступен для загрузки с сайта Microsoft.

Справочник по DirectX для начинающих

Если Вы не являетесь разработчиком игровых программ, но Вам нравиться играть на персональном компьютере, Вы точно должны были слышать о DirectX. Почему?

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

В тоже время если какая-то из таких современных игр установленна на Вашем компьютере, значит, DirectX тоже установлен, и Вы можете узнать об этом, обратив внимание на несколько новых файлов, которые появились в директории WindowsSystem, например DDRAW.DLL или DPLAY.DLL. Это компоненты DirectX, которые используются всеми играми, установленными в Вашей системе и работающими через интерфейс DirectX.

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

С появлением все большего и большего числа игр, использующих DirectX, пользователи замечают некоторые отличия, например:

  • Улучшенные многопользовательские игры
    Причина, почему хороших многопользовательских игр не так много, в том, что они очень сложны в создании. DirectPlay делает создание таких игр менее болезненной проблемой и упрощает их установку. Вот почему мы вправе ожидать увеличения количества новых классных многопользовательских игр.
  • Завораживающие 3D-игры
    Вы знаете, почему трехмерные игры идут на Вашем компьютере так медленно? Причина в том, что изображение 3D-объектов на плоском экране требует огромного количества математических вычислений. Если эти вычисления осуществляются центральным процессором системы, то такие процессы обсчитываются слишком медленно, так как процессор выполняет еще и другие системные операции. Одним из решением этой проблемы является возложение задач по обработке трехмерных процессов на специальные 3D-видеоакселераторы.

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

Кроме этого, Direct3D эмулирует программную реализацию 3D для компьютеров, не оснащенных аппаратной поддержкой обработки трехмерной графики.
Упрощенная установка программ
Игры, соответствующие спецификации DirectX, полностью используют возможности, предоставляемые интерфейсом Windows 95, и их установка также проста, как инсталляция Вашего любимого текстового процессора.

Это означает, что система больше не будет спрашивать Вас о том, какое прерывание использует звуковая карта или кто является изготовителем видеоадаптера.
Конечно, существует вероятность несовместимости вашего аппаратного обеспечения с драйверами DirectX, однако со временем этих проблем не станет, так как все современные компоненты компьютера поступают в продажу уже сертифицированными на соответствие стандарту DirectX.
Изображение в играх стало гораздо лучше
Большинство игр, написанных для DOS, используют низкое разрешение изображения, обычно 320×240. Это объясняется тем, что такое разрешение максимально для стандартных VGA-видеокарт, поддерживающих отображение только 256 цветов.
Для того, чтобы использовать более высокое, а следовательно, более качественное разрешение, такое, как 640×480 или 800×600, разработчикам необходимо писать игры, работающие с видеокартами стандарта Super VGA, а это означает увеличение объема работ.

Читайте также:  Гриль steakmaster redmond rcm m800

DirectX поддерживает VGA и SVGA видеорежимы при 64К цветов (Hi-color) без дополнительных затрат ресурсов. С каждым днем производительность видеоадаптеров возрастает, следовательно, DirectX игры будут выглядеть все более реалистично и привлекательно.

Microsoft DirectX
Тип Среда для приложений
Разработчик Microsoft
Операционная система Microsoft Windows
Последняя версия 12 (2015)
Лицензия Microsoft EULA
Сайт DirectX
Медиафайлы на Викискладе

DirectX (от англ. direct — прямой, непосредственный, произносится как «ДиректЭкс») — это набор API, разработанных для решения задач, связанных с программированием под Microsoft Windows. Наиболее широко используется при написании компьютерных игр. Пакет средств разработки DirectX под Microsoft Windows бесплатно доступен на сайте Microsoft. Зачастую обновлённые версии DirectX поставляются вместе с игровыми приложениями.

Содержание

Компоненты 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: интерфейс вывода двухмерной графики
    • История [ править | править код ]

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

      В 1994 году Microsoft была практически готова выпустить следующую версию Windows — Windows 95. Главным фактором, определяющим, насколько популярна будет новая ОС, являлся набор программ, которые можно будет запускать под её управлением. В Microsoft пришли к выводу, что, пока разработчики видят DOS более подходящей для написания игровых приложений, коммерческий успех новой ОС весьма сомнителен.

      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 является базой для Xbox API. Xbox API схож с DirectX 8.1, но обновление версии, как и на других консолях того времени, невозможно.

      В 2002 году Microsoft выпустила DirectX 9 с улучшенной и расширенной поддержкой шейдеров. С 2002 года DirectX неоднократно обновлялся. В августе 2004 года в DirectX была добавлена поддержка шейдеров версии 3.0 (DirectX 9.0c).

      В апреле 2005 интерфейс DirectShow был перемещён в Microsoft Platform SDK.

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

      Версия DirectX Логотип Номер версии Операционная система Дата релиза
      DirectX 1.0 4.02.0095 Windows 95a 30 сентября 1995
      DirectX 2.0 / 2.0a 4.03.00.1096 Windows 95 OSR 2 и Windows NT младше 4.0 5 июня 1996
      DirectX 3.0 / 3.0a 4.04.0068 / 69 Windows 95 OSR 2.5 и Windows NT 4.0 SP3
      последняя официально поддерживаемая версия DirectX для Windows NT 4.0
      15 сентября 1996
      DirectX 4.0 4.05.00.0155 (RC55) Доступен как бета для Windows NT 4.0 16 июля 1997
      DirectX 5.0 4.05.01.1721 / 1998 Windows 98 5 мая 1998
      DirectX 6.0 4.06.00.0318 (RC3) Windows 98 SE
      последняя поддерживаемая версия DirectX Media для Windows NT 4.0, а также данная версия DirectX была в Dreamcast
      7 августа 1998
      DirectX 6.1 4.06.02.0436 (RC0) Windows 95/98/98SE 3 февраля 1999
      DirectX 6.2 5.00.2516.1900 (unofficial patch) Windows NT/98SE/98/2000/ME 21 августа 1999
      DirectX 7.0 4.07.00.0700 (RC1) Windows 2000 и Windows ME 22 сентября 1999
      DirectX 7.0a 4.07.00.0716 (RC1) Windows 95/98/98SE/2000 17 декабря 1999
      DirectX 8.0 4.08.00.0400 (RC10) Windows 95/98/98SE/2000/ME 12 ноября 2000
      DirectX 8.0a 4.08.00.0400 (RC14) Последняя поддерживаемая версия DirectX для Windows 95 5 февраля 2001
      DirectX 8.1 4.08.01.0810 Windows XP/XP SP1 25 октября 2001
      4.08.01.0881 (RC7) Windows 98/98SE/2000/ME 8 ноября 2001
      DirectX 8.1b 4.08.01.0901 25 июня 2002
      DirectX 8.2 4.08.02.0134 (4.09.00.0134) 27 сентября 2002
      DirectX 9.0 4.09.0000.0900 Windows Server 2003 24 декабря 2002
      DirectX 9.0a 4.09.0000.0901 26 марта 2003
      DirectX 9.0b 4.09.0000.0902 (RC2) 13 августа 2003
      DirectX 9.0c 4.09.0000.0904 (RC0) Windows XP SP2
      последняя поддерживаемая версия DirectX для Windows 98SE и Windows Me
      9 августа 2004
      DirectX 9.0L 4.09.0000.0905 (?) Предоставляет дополнительные интерфейсы IDirect3D9Ex и IDirect3DDevice9Ex с функциональностью, доступной лишь через LDDM-драйверы ОС Windows Vista.
      DirectX 10 (включён в состав Windows Vista) 6.0.6000.16386 Первая версия для Windows Vista. Информация по Direct3D10 10 ноября 2006
      DirectX 10.1 6.00.6001.18000 Service Pack 1 для Windows Vista, Windows Server 2008 4 февраля 2008
      DirectX 11 (включён в состав Windows 7) 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 [1] 27 октября 2009
      6.01.7601.17514 Windows 7 SP1, Windows Server 2008 R2 SP1 16 февраля 2011
      DirectX 11.1 (включён в состав Windows 8) [2] 6.02.9200.16384 Windows 7 SP1, Windows 8, Windows RT, Windows Server 2012 1 августа 2012
      DirectX 11.2 (включён в состав Windows 8.1) 6.03.9600.16384 Windows 8.1, Windows RT, Windows Server 2012 R2 18 октября 2013
      DirectX 11.3 (включён в состав Windows 10) Windows 10 29 июля 2015
      DirectX 12 (включён в состав Windows 10) 10.00.10240.16384 Windows 10, Xbox One, Xbox Series X 29 июля 2015
      Читайте также:  Беспроводной микрофон для караоке отзывы

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

      • DirectX 6.0 — мультитекстурирование
      • DirectX 7.0 — аппаратная поддержка преобразований, обрезания и освещения
      • DirectX 8.0 — шейдерная модель 1.1
      • 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 — шейдерная модель 4.0 (только Windows Vista, Windows 7, Windows 8)
      • DirectX 10.1 — шейдерная модель 4.1 (только Windows Vista, Windows 7, Windows 8)
      • DirectX 11 — шейдерная модель 5.0 (только Windows Vista, Windows 7, Windows 8/8.1)
      • DirectX 11.3 / DirectX 12 — шейдерная модель 5.1 (только Windows 10).

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

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

      Поддерживаемые операционные системы:

      • Windows 95/98/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.

      Библиотеки обёртки [ править | править код ]

      В случае возникновения различных проблем при использовании устаревших приложений и игр, можно воспользоваться специальной библиотекой обёрткой (Wrapper).

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

      • dgVoodoo2 — враппер для запуска устаревших игр на основе DirectX 1-7 и так же 8-9 в DirectX 11 с уровнем функций 10/10.1 или через WARP. В первую очередь использовался для запуска Glide игр, но позже была добавлена поддержка DirectX. [3]
      • dxwrapper — обертка для запуска DirectX 1-8 в DirectX 9. [4]
      • D9VK — обертка для использования DirectX 9 игр и приложений под Vulkan без необходимости их переписывать. [5]
      Ссылка на основную публикацию
      Brother dcp 7030 сброс счетчика тонера
      У меня дома довольно старенькое МФУ Brother DCP-7032R. Печатаем мы на нем мало и до сих порт используем стартовый картридж,...
      Adblock detector