DirectX (от англ. direct — прямой, непосредственный) — это набор API, разработанных для решения задач, связанных с программированием под Microsoft Windows. Наиболее широко используется при написании компьютерных игр. Пакет средств разработки DirectX под Microsoft Windows бесплатно доступен на сайте Microsoft. Зачастую обновленные версии DirectX поставляются вместе с игровыми приложениями.
DirectX API
Практически все части 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 - это библиотека которая позволяет программисту работать с видеоаппаратурой не прибегая к низкоуровневому программированию.
При использовании DirectX вы обращаетесь к заранее подготовленым функциям, классам, структурам и задаёте им необходимые вам настройка/параметры.
На время написания данной статьи самой свежей версией является DirectX 11.