DirectX (от англ. 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 6.0 — мультитекстурирование DirectX 7.0 — аппаратная поддержка преобразований, обрезания и освещения DirectX 8.0 — шейдерная модель 1.1 DirectX 8.1 — пиксельные шейдеры 1.4 и вершинные шейдеры 1.1 DirectX 9.0 — шейдерная модель 2.0 DirectX 9.0b — пиксельные шейдеры 2.0b и вершинные шейдеры 2.0 DirectX 9.0c — шейдерная модель 3.0 DirectX 9.0L — версия DirectX 9.0 для Windows Vista,Windows XP,Windows 7 DirectX 10 — шейдерная модель 4.0 (только Windows Vista, Windows 7, Windows 8) DirectX 10.1 — шейдерная модель 4.1 (только Windows Vista, Windows 7, Windows 8) DirectX 11 — шейдерная модель 5.0 (только Windows Vista, Windows 7, Windows 8) DirectX 12 — Windows 10
Совместимость Многие современные устройства имеют DirectX-совместимые драйверы, иными словами, пользователь должен установить DirectX для использования всех возможностей устройства. На данный момент система обновления драйверов Windows Update позволяет загружать только необходимые библиотеки, а не весь драйвер целиком.
Поддерживаемые операционные системы:
Windows 95, Windows 98, Windows 98 Second Edition, Windows Millenium Edition; Windows NT 4.0, Windows 2000, Windows 2000 Advanced Server, Windows 2000 Professional Edition, Windows 2000 Server, Windows 2000 Service Pack 2, Windows 2000 Service Pack 3, Windows 2000 Service Pack 4; Windows Server 2003, Windows Server 2003 Service Pack 1, Windows Server 2003 Datacenter x64 Edition, Windows Server 2003 Enterprise x64 Edition, Windows Server 2003 Standard x64 Edition, Windows Small Business Server 2003; Windows XP, Windows XP 64-bit, Windows XP Home Edition, Windows XP Media Center Edition, Windows XP Professional Edition, Windows XP Service Pack 1, Windows XP Service Pack 2, Windows XP Service Pack 3, Windows XP Starter Edition, Windows XP Tablet PC Edition; Windows Vista; Windows 7; Windows Server 2008, Windows Server 2008 R2; Windows 8.
Будущее DirectX Последней выпущенной версией является DirectX 12; до выпуска Service Pack 1 на Windows Vista был установлен DirectX 10, изначально называвшийся «Windows Graphics Foundation», позднее он был переименован. Изменения в DirectX 10.1, в отличие от DirectX 10, касаются графической составляющей — Direct3D. DirectX 10 представляет собой часть ОС Windows Vista и использует отличную от DirectX 9.0 модель видео-драйвера. DirectX 10 выдвигает набор требований к аппаратной части — минимальный стандарт функциональности, необходимой для того, чтобы аппаратное устройство было DirectX-совместимым.
XNA — другой инструмент разработки от Microsoft, упрощающий разработку игровых и мультимедиа-приложений, предоставляющий удобный путь интеграции с DirectX, HLSL и др. инструментами, собранными в единую систему. Последние 2 года компания Microsoft активно продвигает этот инструмент как средство разработки приложений для Xbox 360, Linux ,PC и Zune.
DirectX 11.1 включён в состав Windows 8. Поддерживает WDDM 1.2 для увеличения производительности, с улучшенной интеграцией Direct2D, Direct3D, и DirectCompute, и включает в себя DirectXMath, XAudio2, и XInput библиотеки из XNA framework. Также есть возможность стереоскопического 3D для поддержки игр и видео.
Практически все части 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 6.0 — мультитекстурирование
DirectX 7.0 — аппаратная поддержка преобразований, обрезания и освещения
DirectX 8.0 — шейдерная модель 1.1
DirectX 8.1 — пиксельные шейдеры 1.4 и вершинные шейдеры 1.1
DirectX 9.0 — шейдерная модель 2.0
DirectX 9.0b — пиксельные шейдеры 2.0b и вершинные шейдеры 2.0
DirectX 9.0c — шейдерная модель 3.0
DirectX 9.0L — версия DirectX 9.0 для Windows Vista,Windows XP,Windows 7
DirectX 10 — шейдерная модель 4.0 (только Windows Vista, Windows 7, Windows 8)
DirectX 10.1 — шейдерная модель 4.1 (только Windows Vista, Windows 7, Windows 8)
DirectX 11 — шейдерная модель 5.0 (только Windows Vista, Windows 7, Windows 8)
DirectX 12 — Windows 10
Многие современные устройства имеют DirectX-совместимые драйверы, иными словами, пользователь должен установить DirectX для использования всех возможностей устройства. На данный момент система обновления драйверов Windows Update позволяет загружать только необходимые библиотеки, а не весь драйвер целиком.
Поддерживаемые операционные системы:
Windows 95, Windows 98, Windows 98 Second Edition, Windows Millenium Edition;
Windows NT 4.0, Windows 2000, Windows 2000 Advanced Server, Windows 2000 Professional Edition, Windows 2000 Server, Windows 2000 Service Pack 2, Windows 2000 Service Pack 3, Windows 2000 Service Pack 4;
Windows Server 2003, Windows Server 2003 Service Pack 1, Windows Server 2003 Datacenter x64 Edition, Windows Server 2003 Enterprise x64 Edition, Windows Server 2003 Standard x64 Edition, Windows Small Business Server 2003;
Windows XP, Windows XP 64-bit, Windows XP Home Edition, Windows XP Media Center Edition, Windows XP Professional Edition, Windows XP Service Pack 1, Windows XP Service Pack 2, Windows XP Service Pack 3, Windows XP Starter Edition, Windows XP Tablet PC Edition;
Windows Vista;
Windows 7;
Windows Server 2008, Windows Server 2008 R2;
Windows 8.
Последней выпущенной версией является DirectX 12; до выпуска Service Pack 1 на Windows Vista был установлен DirectX 10, изначально называвшийся «Windows Graphics Foundation», позднее он был переименован. Изменения в DirectX 10.1, в отличие от DirectX 10, касаются графической составляющей — Direct3D. DirectX 10 представляет собой часть ОС Windows Vista и использует отличную от DirectX 9.0 модель видео-драйвера. DirectX 10 выдвигает набор требований к аппаратной части — минимальный стандарт функциональности, необходимой для того, чтобы аппаратное устройство было DirectX-совместимым.
XNA — другой инструмент разработки от Microsoft, упрощающий разработку игровых и мультимедиа-приложений, предоставляющий удобный путь интеграции с DirectX, HLSL и др. инструментами, собранными в единую систему. Последние 2 года компания Microsoft активно продвигает этот инструмент как средство разработки приложений для Xbox 360, Linux ,PC и Zune.
DirectX 11.1 включён в состав Windows 8. Поддерживает WDDM 1.2 для увеличения производительности, с улучшенной интеграцией Direct2D, Direct3D, и DirectCompute, и включает в себя DirectXMath, XAudio2, и XInput библиотеки из XNA framework. Также есть возможность стереоскопического 3D для поддержки игр и видео.
DirectX 12 включён в состав Windows 10.