http://s3.uploads.ru/t/XTwaH.png
DirectX (от англ. direct — прямой, непосредственный) — это набор API, разработанных для решения задач, связанных с программированием под Microsoft Windows. Наиболее широко используется при написании компьютерных игр. Пакет средств разработки DirectX под Microsoft Windows бесплатно доступен на сайте Microsoft. Зачастую обновленные версии DirectX поставляются вместе с игровыми приложениями.

http://s2.uploads.ru/t/kC2BG.jpg

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

http://s2.uploads.ru/t/TOBU2.png

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

При использовании DirectX вы обращаетесь к заранее подготовленым функциям, классам, структурам и задаёте им необходимые вам настройка/параметры.

На время написания данной статьи самой свежей версией является DirectX 11.