DirectX

Материал из Machinepedia
(перенаправлено с «Direct3D»)
Перейти к: навигация, поиск
Microsoft-DirectX-Logo-wordmark.png

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

История

Изначально нацеленный на разработку видеоигр, 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).

Будущее DirectX

Последней выпущенной версией является DirectX 11; до выпуска 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, PC и Zune.

DirectX 11.1 включен в состав Windows 8. Поддерживает WDDM 1.2 для увеличения производительности, с улучшенной интеграцией Direct2D, Direct3D, и DirectCompute, и включает в себя DirectXMath, XAudio2, и XInput библиотеки из XNA framework. Также есть возможность стереоскопического 3D для поддержки игр и видео.

Личные инструменты
Пространства имён

Варианты
Действия
Присоединиться сейчас к бесплатной торговой площадке №1 для промышленников в России machinebook
Навигация
Навигация
Рекламодателям
Инструменты
Яндекс.Метрика