DirectX Graphics

DirectX GraphicsDirectX (от англ.   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).

This entry was posted in DirectX and tagged , , , . Bookmark the <a href="http://directxnew.ru/directx-2/" title="Permalink to DirectX Graphics" rel="bookmark">permalink</a>.

Comments are closed.