Microsoft DirectX | |
Тип | Среда для приложений |
Разработчик | Microsoft |
ОС | Microsoft Windows |
Версия | 10.1 — 8 января 2009 |
Лицензия | собственническое EULA Microsoft |
Сайт | DirectX |
DirectX — это набор API функций, разработанных для решения задач, связанных с игровым и видеопрограммированием под Microsoft Windows. Наиболее широко используется при написании компьютерных игр. Пакет средств разработки DirectX под Microsoft Windows бесплатно доступен на сайте Microsoft. На данный момент самой новой версией является DirectX 11. Зачастую, свежие версии DirectX поставляются вместе с игровыми приложениями, так как DirectX API обновляется достаточно часто, и версия, включённая в ОС Windows зачастую является далеко не самой новой.
DirectX API[]
Практически все части DirectX API представляют собой наборы COM-совместимых объектов.
В целом, DirectX подразделяется на:
- DirectX Graphics, набор интерфейсов, ранее (до версии 8.0) делившихся на:
- DirectDraw: интерфейс вывода растровой графики.
- Direct3D (D3D): интерфейс вывода трёхмерных примитивов.
- DirectInput: интерфейс, используемый для обработки данных, поступающих с клавиатуры, мыши, джойстика и пр. игровых контроллеров.
- DirectPlay: интерфейс сетевой коммуникации игр.
- DirectSound: интерфейс низкоуровневой работы со звуком (формата Wave)
- DirectMusic: интерфейс воспроизведения музыки в форматах Microsoft.
- DirectShow: интерфейс, используемый для ввода/вывода аудио и/или видео данных.
- DirectSetup: часть, ответственная за установку DirectX.
- DirectX Media Objects: реализует функциональную поддержку потоковых объектов (например, энкодеры/декодеры)
История[]
Изначально нацеленный на разработку видеоигр, DirectX стал популярен и в других областях разработки программного обеспечения. К примеру, DirectX, наряду с OpenGL, получил очень широкое распространение в инженерном/математическом ПО.
В 1994 году Microsoft была практически готова выпустить следующую версию Windows — Windows 95. Главным фактором, определяющим, насколько популярна будет новая ОС, являлся набор программ, которые можно будет запускать под её управлением. В Microsoft пришли к выводу, что, пока разработчики видят DOS более подходящей для написания игровых приложений, коммерческий успех новой ОС весьма сомнителен.
DOS позволяла разработчику получить прямой доступ к видеокарте, клавиатуре/мыши/джойстику и прочим частям системы, в то время как Windows 95, с её защищённой моделью памяти, предоставляла более стандартизованный, но в то же время весьма ограниченный доступ к устройствам. Microsoft нуждались в новом способе дать разработчику всё, что ему необходимо. Eisler, St. John, and 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[]
Версия DirectX | Логотип | Номер версии | Операционная система | Дата релиза |
---|---|---|---|---|
DirectX 1.0 | 4.02.0095 | 30 сентября 1995 | ||
DirectX 2.0 / 2.0a | 4.03.00.1096 | Windows 95 OSR2 и Windows NT младше 4.0 | 5 июня 1996 | |
DirectX 3.0 / 3.0a | 4.04.0068 / 69 | Windows NT 4.0 SP3 последняя поддерживаемая версия DirectX для Windows NT 4.0 |
???, 1996 | |
DirectX 4.0< | не выпущен | |||
DirectX 5.0 | 4.05.00.0155 (RC55) | Доступен как бета для Windows NT 5.0 | 16 июля 1997 | |
DirectX 5.0 | 4.05.01.1721 / 1998 | Windows 98 | 5 мая 1998 | |
DirectX 6.0 | 4.06.00.0318 (RC3) | Windows 98 SE последняя поддерживаемая версия DirectX Media для Windows NT 4.0 |
???, 1998 | |
DirectX 6.1 | 4.06.02.0436 (RC0) | 7 августа 1998 | ||
DirectX 7.0 | 4.07.00.0700 (RC1) | Windows 2000 и Windows ME | 22 сентября 1998 | |
DirectX 7.0a | 4.07.00.0716 (RC1) | ???, 1999 | ||
DirectX 8.0 | 4.08.00.0400 (RC10) | 30 сентября 2000 | ||
DirectX 8.0a | 4.08.00.0400 (RC14) | ???, 2000 | ||
DirectX 8.1 | 4.08.01.0810 4.08.01.0881 (RC7) |
Windows XP Возможно, последняя поддерживаемая версия DirectX для Windows 95 |
12 ноября 2001 | |
DirectX 8.1b | 4.08.01.0901 | ???, 2002 | ||
DirectX 9.0 | 4.09.0000.0900 | Windows Server 2003 | 24 декабря 2002 | |
DirectX 9.0a | 4.09.0000.0901 | 26 марта 2003 | ||
DirectX 9.0b | 4.09.0000.0902 (RC2) | 13 августа 2003 | ||
DirectX 9.0c | 4.09.0000.0904 (RC0) | Windows XP SP2 Возможно, последняя поддерживаемая версия DirectX для Windows 98SE и Windows Me |
9 августа 2004 | |
DirectX 9.0c | 4.09.0000.0904 | Xbox 360 Совместим со всеми версиями ОС Windows, с которыми совместим 9.0c(RC0) |
9 декабря 2005 | |
DirectX 9.0L (включен в состав Windows Vista) | 4.09.0000.0905 (?) | Предоставляет дополнительные интерфейсы IDirect3D9Ex и IDirect3DDevice9Ex с функциональностью, доступной лишь через LDDM-драйвера ОС Windows Vista. | ||
DirectX 10 (включен в состав Windows Vista) | 6.0.6000.16386 | Первая версия для Windows Vista. Информация по Direct3D10 |
10 ноября 2006 | |
DirectX 10.1 | 6.00.6001.18000 | Service Pack 1 для Windows Vista, Windows Server 2008 | 4 февраля 2008 | |
DirectX 11 | Service Pack 2 для Windows Vista, Windows 7 Официальный анонс состоялся на Gamefest 2008. Информация по Direct3D11 |
4 февраля 2009 |
Совместимость[]
Многие современные устройства имеют только DirectX-совместимые драйвера, иными словами, пользователь должен установить DirectX для использования всех возможностей устройства. На данный момент система обновления драйверов Windows Update позволяет загружать только необходимые библиотеки, а не весь драйвер целиком.
DirectX обратно совместим с предыдущими версиями. Если приложение/игра использует DirectX 6.0, оно будет работать и при установленном DirectX 9.0. Каждая последующая версия DirectX включает в себя все предыдущие.
Поддерживаемые операционные системы:
- Windows 98, Windows 98 Second Edition;
- 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.
Будущее DirectX[]
Последней текущей версией является DirectX 10.1, до 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-совместимым. В августе 2008 был анонсирован DirectX 11. Были озвучены нововведения, которые войдут в Direct3D11. Предварительная версия будет доступна в конце декабря с обновлением DirectX SDK - будут доступны вся соответствующая документация и примеры.
XNA — другой инструмент разработки от Microsoft, упрощающий разработку игровых и мультимедиа-приложений, предоставляющий удобный путь интеграции с DirectX, HLSL и др. инструментами, собранными в единую систему. Последние 2 года компания Microsoft активно продвигает этот инструмент как средство разработки приложений для XBox 360, PC и Zune.
См. также[]
- GDI
- OpenGL
- Simple DirectMedia Layer
- X (DirectX) — формат файла для хранения 3D объектов, разработанный Microsoft для DirectX
- Direct3D11 — версия которая будет применятся в последующих версиях операционных систем Windows
Ссылки[]
- Загрузка DirectX-драйверов с официального сайта Microsoft
- Знакомимся с DirectX 10 (рус.)
- Microsoft’s DirectX site
- Microsoft’s MSDN documentation & resource center for DirectX (для разработчиков)
- GameDev’s FAQ on DirectX
- FAQ on XNA
Литература[]
- Адамс Д. DirectX: продвинутая анимация. Комплект. — «КУДИЦ-ПРЕСС», 2004. — С. 480. — ISBN 5-9579-0025-7
Ссылки[]
- Gamedev.net’s DirectX Articles section
- DirectX World — C++ DirectX 9 lessons for game programming. Learn how to build a graphic engine.
- Drunken Hyena — уроки, код, утилиты, игры
- Andy Pike’s DirectX8 Tutorials — охватывает 2D, 3D, звук, музыку, ввод
- CodeSampler.com — Примеры и уроки успользования Direct3D в программировании игр на C++ и C#
- Managed Direct3D — Direct3D, уроки на С#, Craig Andera.
- NeXe — Архив уроков NeXe (Direct3D 8), archive.org
- Managed Direct3D — Direct3D, уроки на С#, Pieter Germishuys
- Clootie graphics pages — Clootie graphics pages
Программные интерфейсы и framework Microsoft Windows |
|
---|---|
Графика | Проводник Windows · DirectX · Direct3D · GDI · Windows Presentation Foundation · Windows Color System · Windows Image Acquisition · Windows Imaging Component |
Звук | DirectSound · DirectMusic · XACT · Speech API · MME |
Мультимедиа | DirectShow · Windows Media · Media Foundation |
Веб | MSHTML · MSXML · Платформа RSS для Windows · JScript · ActiveX · XMLHttpRequest · Гаджеты |
Доступ к данным | Компоненты Microsoft Data Access · Extensible Storage Engine · ADO.NET · Sync Framework · Jet механизм |
Сети | Winsock (LSP) · Filtering Platform · NDIS · Windows Rally · Сервис фоновой интеллектуальой передачи данных · P2P API |
Коммуникации | TAPI |
Администрирование | Консоль Win32 · Windows Script Host · Инструментарий управления Windows · PowerShell · Планировщик задач · Offline Files · Теневое копирование · Windows Installer · Диспетчер ошибок Windows · Журнал событий Windows |
Модель компонентов | COM · COM+ · DCOM · .NET Framework |
Библиотеки | Microsoft Foundation Class (MFC) · Active Template Library (ATL) · Windows Template Library (WTL) |
Разработка драйверов | Модель драйверов Windows · Windows Driver Foundation (KMDF, UMDF) |
Безопасность | CryptoAPI (CAPICOM) · Windows CardSpace · Data protection API · Security Support Provider Interface |
.NET | .NET Framework · ASP.NET · ADO.NET · .NET Remoting · Windows Presentation Foundation · Windows Workflow Foundation · Windows Communication Foundation · Windows CardSpace · XNA · Silverlight · Библиотека параллельного программирования |
Межпроцессное взаимодействие | MSRPC · Именованные каналы |
Текст и поддержка языков | Framework Текстовых сервисов · Объектная модель текстов · Редактор метода ввода · Языковые пакеты · Многоязычный интерфейс |
Игры | XNA · DirectX |
Компоненты Microsoft Windows |
|
---|---|
Ядро |
Aero • ClearType • Desktop Window Manager • DirectX • Проводник (Explorer) • Панель задач • Меню "Пуск" • Shell (namespace • Special Folders • File associations) • Search (Saved search • iFilters) • Graphics Device Interface • WIM • Next Generation TCP/IP stack (Server Message Block) • .NET Framework • Audio • Printing (XML Paper Specification) • Active Scripting (WSH • VBScript • JScript) • COM (OLE • OLE Automation • DCOM • ActiveX • ActiveX Document • Structured storage • Transaction Server) • Previous Versions • WDDM • UAA • Win32 console |
Службы управления |
Backup and Restore Center • COMMAND.COM • cmd.exe • Панель управления (Applets) • Диспетчер устройств • Очистка диска • Дефрагментация диска • Event Viewer • Management Console • Netsh • Problem Reports and Solutions • Sysprep • Настройка системы (msconfig.exe) • Диспетчер задач • System File Checker • Восстановление системы • Windows Installer • Windows PowerShell • Windows Update • WinSAT • Windows Easy Transfer |
Приложения |
Калькулятор • Calendar • Таблица символов • Contacts • DVD Maker • Fax and Scan • Internet Explorer • Journal • Outlook Express • Почта Windows • Magnifier • Media Center • Meeting Space • Mobile Device Center • Mobility Center • Movie Maker • Narrator • Notepad • Paint • Фотоальбом • Private Character Editor • Remote Assistance • Sidebar • Snipping Tool • Звукозапись • Windows Media Player • Windows Speech Recognition • WordPad |
Игры |
Chess Titans • Пасьянс «Свободная ячейка» • Червы • Hold 'Em • InkBall • Mahjong Titans • Сапёр • Пинбол • Purble Place • Пасьянс «Косынка» • Пасьянс «Паук» |
Ядро ОС |
Ntoskrnl.exe • hal.dll • System Idle Process • Svchost.exe • Registry (реестр) • Windows service • Service Control Manager • DLL • EXE • NTLDR • Boot Manager • Winlogon • Recovery Console • I/O • WinRE • WinPE • Kernel Patch Protection |
Службы |
Autorun • BITS • Task Scheduler • Wireless Zero Configuration • Shadow Copy • Windows Error Reporting • Multimedia Class Scheduler • CLFS |
Файловые системы |
NTFS (Hard link • Junction point • Mount Point • Reparse point • Symbolic link • TxF • EFS) • FAT • exFAT • CDFS • UDF • DFS • IFS |
Сервер |
Domains • Active Directory • DNS • Групповая политика • Roaming user profiles • Folder redirection • Координатор распределённых транзакций • MSMQ • Windows SharePoint Services • Windows Media Services • Rights Management Services • IIS • Terminal Services • WSUS • Network Access Protection • DFS Replication • Remote Differential Compression • Print Services for UNIX • Remote Installation Services • Windows Deployment Services • Windows System Resource Manager • Hyper-V |
Архитектура |
NT series architecture • Object Manager • Startup process (Vista) • I/O request packets • Kernel Transaction Manager • Logical Disk Manager • Security Accounts Manager • Windows Resource Protection • LSASS • CSRSS • SMSS |
Безопасность |
UAC • BitLocker • Defender • DEP • Protected Media Path • Mandatory Integrity Control • UIPI • Windows Firewall • Security Center |
Совместимость |
Unix subsystem (Interix) • Virtual DOS Machine • Windows on Windows • WOW64 |
Эта страница использует содержимое раздела Википедии на русском языке. Оригинальная статья находится по адресу: DirectX. Список первоначальных авторов статьи можно посмотреть в истории правок. Эта статья так же, как и статья, размещённая в Википедии, доступна на условиях CC-BY-SA .