Что такое DirectX

Что такое DirectX?

Немного о 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, а это означает увеличение объема работ.

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

Что такое DirectX и как он работает

Что такое 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, скачивали этот файл, устанавливали и обновляли по запросу той или иной программы. Но вопросом зачем он нужен и какие у него функции, задавался далеко не каждый пользователь. Если программа требует эту утилиту, значит нужно ее поставить, без лишних размышлений.

  1. Что это такое?
  2. Что делает программа, как она работает?
  3. Нужна ли?
  4. Какая версия лучше?

Что это такое?

Широко применяется при создании компьютерных игр. Обновлённые версии часто включены в пакеты вместе с игровыми приложениями.

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

Что делает программа, как она работает?

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

При запуске игры появляется ошибка «не найден d3dx9_42.dll», где цифры могут быть разными.

На лицензионной системе Windows минимально необходимый пакет файлов установлен по умолчанию. Различаться он будет по принципу какая операционная система установлена на устройстве.

Из этого следует- чем позже версия, тем более улучшенные и обновленные версии DirectX она поддерживает. Также этот фактор зависит от видеокарты.

Нужна ли?

Для разработчиков игр он просто необходим, потому что позволяет им создавать реалистичную графику. И так как у программы «игровая» специализация, она имеет инструменты, позволяющие обрабатывать данные, получаемые с устройств управления — с клавиатуры, мыши или игрового джойстика.

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

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

Какая версия лучше?

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

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

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

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

Для чего нужен DirectX и что это такое?

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

p, blockquote 1,0,0,0,0 –>

Что такое

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

p, blockquote 2,0,0,0,0 –>

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

p, blockquote 3,0,0,0,0 –>

Особенность этого инструмента в том, что работает он только в среде Windows.

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

p, blockquote 5,0,0,0,0 –>

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

p, blockquote 6,0,0,0,0 –>

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

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

p, blockquote 8,0,0,0,0 –>

Более того, в спецификации указано, как именно эти элементы будут взаимодействовать, что еще больше упрощает их использование.

p, blockquote 9,1,0,0,0 –>

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

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

p, blockquote 10,0,0,0,0 –>

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

p, blockquote 11,0,0,0,0 –>

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

p, blockquote 12,0,0,0,0 –>

Можно ли обойтись без DirectX

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

p, blockquote 13,0,0,0,0 –>

Если на вашем компьютере нет DirectX, интересующая вас игра не запустится. С большой вероятностью это произойдет и в случае отсутствия одной-единственной библиотеки DLL — «кирпичика», из которых состоит инструментарий DirectX.

p, blockquote 14,0,0,1,0 –>

Отдельно хочу отметить, что некоторые игры требуют наличия библиотек, которые не включены в базовый набор Директа. Чаще всего это «созданные на коленке» моды или клиентские части для пиратских серверов онлайн-игр. Серьезные разработчики в такую «ересь» не впадают, стараясь использовать только базовый набор инструментов.

И если вы столкнулись с ошибкой, когда игра не запускается по причине отсутствия определенной библиотеки DLL, такую проблему устранить очень просто. Достаточно скачать эту библиотеку в интернете и поместить ее в корневую папку игрового клиента.

p, blockquote 16,0,0,0,0 –>

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

p, blockquote 17,0,0,0,0 –>

p, blockquote 18,0,0,0,0 –> p, blockquote 19,0,0,0,1 –>

Что такое DirectX, где скачать и зачем нужен

DirectX , – это DirectX , а едят его с кетчупом.. Конец статьи 😀

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

Ну название и название, ну стоит и стоит, а зачем стоит и кто здесь вообще, – понятия не имеем.

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

Общее описание DirectX

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

По сути, DirectX , – это набор функций, разработанных для простого и эффективного решения задач с мультимедиа, игровым и видео-программированием, под операционные системы Windows от Microsoft . Мм, набор функций, набор функций.. Как бы это объяснить доступнее.

Если же говорить метафорически

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

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

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

Что еще и как еще? DirectX наше всё

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

Короче, я всё знаю и готов, собственно, все это собрать сам и всем этим управлять, – ты только скажи че видеть-то хочешь”.

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

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

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

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

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

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

Какая версия DirectX установлена на компьютере?

Делается это достаточно просто. Либо, как это рассказывает Microsoft :

  1. Нажмите кнопку Пуск, в поле поиска введите dxdiag, а затем нажмите клавишу ВВОД ( Enter );
  2. В средстве диагностики DirectX перейдите на вкладку Система и проверьте номер версии DirectX в разделе Сведения о системе.

Собственно, выглядит оно так (кликабельно):

Либо нажмите Win + R на клаавитуре (или ” Пуск – Выполнить “), где, опять же. введите тот же dxdiag:

И нажмите клавишу OK или Enter . В появившемся окне будет версия, установленная на компьютере. И не только.

Послесловие

В двух словах как-то оно вот так.

Как и всегда, если есть какие-то вопросы, мысли, дополнения и всё такое прочее, то добро пожаловать в комментарии к этой статьи.