Лучшие вопросы
Таймлайн
Чат
Перспективы

DirectX

Набор API, разработанных для решения задач, связанных с программированием под Microsoft Windows Из Википедии, свободной энциклопедии

DirectX
Remove ads

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

Краткие факты Microsoft DirectX, Тип ...
Remove ads

Компоненты 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: интерфейс вывода двухмерной графики
Remove ads

История

Суммиров вкратце
Перспектива

Изначально нацеленный на разработку видеоигр, 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

Подробнее Логотип, Номер версии ...

Ключевые особенности

Remove ads

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

Суммиров вкратце
Перспектива

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

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

Библиотеки обёртки

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

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

  • dgVoodoo2 — враппер для запуска устаревших игр на основе DirectX 1-7 и так же 8-9 в DirectX 11 с уровнем функций 10/10.1 или через WARP. В первую очередь использовался для запуска Glide игр, но позже была добавлена поддержка DirectX.[4]
  • dxwrapper — обертка для запуска DirectX 1-8 в DirectX 9.[5]
  • D9VK — обертка для использования DirectX 9 игр и приложений под Vulkan без необходимости их переписывать.[6]

См. также

Примечания

Литература

Ссылки

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads