DirectX

Поделись знанием:
(перенаправлено с «DirectX 9»)
Перейти к: навигация, поиск
Microsoft DirectX
Тип

Среда для приложений

Разработчик

Microsoft

Операционная система

Microsoft Windows

Последняя версия

12 (2015)

Лицензия

Microsoft EULA

Сайт

[www.microsoft.com/ru-ru/download/details.aspx?id=35 DirectX]

DirectXDirectX

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 стал популярен и в других областях разработки программного обеспечения. К примеру, 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).

В апреле 2005 интерфейс DirectShow был перемещён в Microsoft Platform SDK.

Хронология версий DirectX

Версия DirectX Логотип Номер версии Операционная система Дата релиза
DirectX 1.0 4.02.0095 Windows 95a 30 сентября 1995
DirectX 2.0 / 2.0a   4.03.00.1096 Windows 95 OSR 2 и Windows NT младше 4.0 5 июня 1996
DirectX 3.0 / 3.0a   4.04.0068 / 69 Windows 95 OSR 2.5 и Windows NT 4.0 SP3
последняя поддерживаемая версия DirectX для Windows NT 4.0
15 сентября 1996
DirectX 4.0   4.05.00.0155 (RC55) Доступен как бета для Windows NT 4.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, а также данная версия DirectX была в Dreamcast
7 августа 1998
DirectX 6.1   4.06.02.0436 (RC0) Windows 95/98/98SE 3 февраля 1999
DirectX 6.2 5.00.2516.1900(unofficial Path to DX 6.2) Windows NT/98SE/98/2000/ME 21 августа 1999
DirectX 7.0 4.07.00.0700 (RC1) Windows 2000 и Windows ME 22 сентября 1999
DirectX 7.0a   4.07.00.0716 (RC1) Windows 95/98/98SE/2000 1999
DirectX 8.0 4.08.00.0400 (RC10) Windows 95/98/98SE/ME/2000 30 сентября 2000
DirectX 8.0a   4.08.00.0400 (RC14) Последняя поддерживаемая версия DirectX для Windows 95 7 ноября 2000
DirectX 8.1   4.08.01.0810
4.08.01.0881 (RC7)
Windows NT/98SE/98/XP 8 ноября 2001
DirectX 8.1b   4.08.01.0901   ???, 2002
DirectX 8.2   4.08.02.0134 (4.09.0000.0134)   ???, 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.0L   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 (включён в состав Windows 7) 6.01.7600.16385 Windows 7, Windows Server 2008 R2 22 октября 2009
6.00.6002.18107 Windows Vista SP2 и Windows Server 2008 SP2 через [support.microsoft.com/kb/971644/ Platform Update for Windows Vista and Windows Server 2008][1] 27 октября 2009
6.01.7601.17514 Windows 7 SP1, Windows Server 2008 R2 SP1 16 февраля 2011
DirectX 11.1 (включён в состав Windows 8) [2] 6.02.9200.16384 Windows 7 SP1, Windows 8, Windows RT, Windows Server 2012 1 августа 2012
DirectX 11.2 (включён в состав Windows 8.1) 6.03.9600.16384 Windows 8.1, Windows RT, Windows Server 2012 R2 18 октября 2013
DirectX 11.3 (включён в состав Windows 10) Windows 10 29 июля 2015
DirectX 12 (включён в состав Windows 10) 10.00.10240.16384 Windows 10, Xbox One 29 июля 2015

Ключевые особенности

Совместимость

Многие современные устройства имеют DirectX-совместимые драйверы, иными словами, пользователь должен установить DirectX для использования всех возможностей устройства. На данный момент система обновления драйверов Windows Update позволяет загружать только необходимые библиотеки, а не весь драйвер целиком.

Поддерживаемые операционные системы:

Будущее DirectX

</div>

Последней выпущенной версией является 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 для поддержки игр и видео[3].

DirectX 12 включён в состав Windows 10.

См. также

Напишите отзыв о статье "DirectX"

Примечания

  1. [www.pcgameshardware.com/aid,695119/Microsoft-upgrades-Windows-Vista-with-DirectX-11/News/ Microsoft upgrades Windows Vista with DirectX 11]. pcgameshardware.com.
  2. [habrahabr.ru/links/126768/ Новые возможности Direct3D 11.1 / Хабрахабр]
  3. [download.microsoft.com/download/1/E/4/1E455D53-C382-4A39-BA73-55413F183333/Windows_Developer_Preview-Windows8_guide.pdf Windows 8 Developer Preview Guide]

Литература

  • Адамс Д. DirectX: продвинутая анимация. Комплект. — «КУДИЦ-ПРЕСС», 2004. — С. 480. — ISBN 5-9579-0025-7.

Ссылки

  • [www.microsoft.com/en-us/download/details.aspx?id=8109 DirectX End-User Runtimes (June 2010)] (англ.)

Отрывок, характеризующий DirectX

– Коко, ты приехал, поди ко мне, дружок! – сказал голос графини из гостиной. Николай подошел к матери, поцеловал ее руку и, молча подсев к ее столу, стал смотреть на ее руки, раскладывавшие карты. Из залы всё слышались смех и веселые голоса, уговаривавшие Наташу.
– Ну, хорошо, хорошо, – закричал Денисов, – теперь нечего отговариваться, за вами barcarolla, умоляю вас.
Графиня оглянулась на молчаливого сына.
– Что с тобой? – спросила мать у Николая.
– Ах, ничего, – сказал он, как будто ему уже надоел этот всё один и тот же вопрос.
– Папенька скоро приедет?
– Я думаю.
«У них всё то же. Они ничего не знают! Куда мне деваться?», подумал Николай и пошел опять в залу, где стояли клавикорды.
Соня сидела за клавикордами и играла прелюдию той баркароллы, которую особенно любил Денисов. Наташа собиралась петь. Денисов восторженными глазами смотрел на нее.
Николай стал ходить взад и вперед по комнате.
«И вот охота заставлять ее петь? – что она может петь? И ничего тут нет веселого», думал Николай.
Соня взяла первый аккорд прелюдии.
«Боже мой, я погибший, я бесчестный человек. Пулю в лоб, одно, что остается, а не петь, подумал он. Уйти? но куда же? всё равно, пускай поют!»
Николай мрачно, продолжая ходить по комнате, взглядывал на Денисова и девочек, избегая их взглядов.
«Николенька, что с вами?» – спросил взгляд Сони, устремленный на него. Она тотчас увидала, что что нибудь случилось с ним.
Николай отвернулся от нее. Наташа с своею чуткостью тоже мгновенно заметила состояние своего брата. Она заметила его, но ей самой так было весело в ту минуту, так далека она была от горя, грусти, упреков, что она (как это часто бывает с молодыми людьми) нарочно обманула себя. Нет, мне слишком весело теперь, чтобы портить свое веселье сочувствием чужому горю, почувствовала она, и сказала себе:
«Нет, я верно ошибаюсь, он должен быть весел так же, как и я». Ну, Соня, – сказала она и вышла на самую середину залы, где по ее мнению лучше всего был резонанс. Приподняв голову, опустив безжизненно повисшие руки, как это делают танцовщицы, Наташа, энергическим движением переступая с каблучка на цыпочку, прошлась по середине комнаты и остановилась.
«Вот она я!» как будто говорила она, отвечая на восторженный взгляд Денисова, следившего за ней.
«И чему она радуется! – подумал Николай, глядя на сестру. И как ей не скучно и не совестно!» Наташа взяла первую ноту, горло ее расширилось, грудь выпрямилась, глаза приняли серьезное выражение. Она не думала ни о ком, ни о чем в эту минуту, и из в улыбку сложенного рта полились звуки, те звуки, которые может производить в те же промежутки времени и в те же интервалы всякий, но которые тысячу раз оставляют вас холодным, в тысячу первый раз заставляют вас содрогаться и плакать.
Наташа в эту зиму в первый раз начала серьезно петь и в особенности оттого, что Денисов восторгался ее пением. Она пела теперь не по детски, уж не было в ее пеньи этой комической, ребяческой старательности, которая была в ней прежде; но она пела еще не хорошо, как говорили все знатоки судьи, которые ее слушали. «Не обработан, но прекрасный голос, надо обработать», говорили все. Но говорили это обыкновенно уже гораздо после того, как замолкал ее голос. В то же время, когда звучал этот необработанный голос с неправильными придыханиями и с усилиями переходов, даже знатоки судьи ничего не говорили, и только наслаждались этим необработанным голосом и только желали еще раз услыхать его. В голосе ее была та девственная нетронутость, то незнание своих сил и та необработанная еще бархатность, которые так соединялись с недостатками искусства пенья, что, казалось, нельзя было ничего изменить в этом голосе, не испортив его.
«Что ж это такое? – подумал Николай, услыхав ее голос и широко раскрывая глаза. – Что с ней сделалось? Как она поет нынче?» – подумал он. И вдруг весь мир для него сосредоточился в ожидании следующей ноты, следующей фразы, и всё в мире сделалось разделенным на три темпа: «Oh mio crudele affetto… [О моя жестокая любовь…] Раз, два, три… раз, два… три… раз… Oh mio crudele affetto… Раз, два, три… раз. Эх, жизнь наша дурацкая! – думал Николай. Всё это, и несчастье, и деньги, и Долохов, и злоба, и честь – всё это вздор… а вот оно настоящее… Hy, Наташа, ну, голубчик! ну матушка!… как она этот si возьмет? взяла! слава Богу!» – и он, сам не замечая того, что он поет, чтобы усилить этот si, взял втору в терцию высокой ноты. «Боже мой! как хорошо! Неужели это я взял? как счастливо!» подумал он.
О! как задрожала эта терция, и как тронулось что то лучшее, что было в душе Ростова. И это что то было независимо от всего в мире, и выше всего в мире. Какие тут проигрыши, и Долоховы, и честное слово!… Всё вздор! Можно зарезать, украсть и всё таки быть счастливым…


Давно уже Ростов не испытывал такого наслаждения от музыки, как в этот день. Но как только Наташа кончила свою баркароллу, действительность опять вспомнилась ему. Он, ничего не сказав, вышел и пошел вниз в свою комнату. Через четверть часа старый граф, веселый и довольный, приехал из клуба. Николай, услыхав его приезд, пошел к нему.
– Ну что, повеселился? – сказал Илья Андреич, радостно и гордо улыбаясь на своего сына. Николай хотел сказать, что «да», но не мог: он чуть было не зарыдал. Граф раскуривал трубку и не заметил состояния сына.
«Эх, неизбежно!» – подумал Николай в первый и последний раз. И вдруг самым небрежным тоном, таким, что он сам себе гадок казался, как будто он просил экипажа съездить в город, он сказал отцу.
– Папа, а я к вам за делом пришел. Я было и забыл. Мне денег нужно.
– Вот как, – сказал отец, находившийся в особенно веселом духе. – Я тебе говорил, что не достанет. Много ли?
– Очень много, – краснея и с глупой, небрежной улыбкой, которую он долго потом не мог себе простить, сказал Николай. – Я немного проиграл, т. е. много даже, очень много, 43 тысячи.
– Что? Кому?… Шутишь! – крикнул граф, вдруг апоплексически краснея шеей и затылком, как краснеют старые люди.
– Я обещал заплатить завтра, – сказал Николай.
– Ну!… – сказал старый граф, разводя руками и бессильно опустился на диван.
– Что же делать! С кем это не случалось! – сказал сын развязным, смелым тоном, тогда как в душе своей он считал себя негодяем, подлецом, который целой жизнью не мог искупить своего преступления. Ему хотелось бы целовать руки своего отца, на коленях просить его прощения, а он небрежным и даже грубым тоном говорил, что это со всяким случается.
Граф Илья Андреич опустил глаза, услыхав эти слова сына и заторопился, отыскивая что то.
– Да, да, – проговорил он, – трудно, я боюсь, трудно достать…с кем не бывало! да, с кем не бывало… – И граф мельком взглянул в лицо сыну и пошел вон из комнаты… Николай готовился на отпор, но никак не ожидал этого.
– Папенька! па…пенька! – закричал он ему вслед, рыдая; простите меня! – И, схватив руку отца, он прижался к ней губами и заплакал.

В то время, как отец объяснялся с сыном, у матери с дочерью происходило не менее важное объяснение. Наташа взволнованная прибежала к матери.
– Мама!… Мама!… он мне сделал…
– Что сделал?
– Сделал, сделал предложение. Мама! Мама! – кричала она. Графиня не верила своим ушам. Денисов сделал предложение. Кому? Этой крошечной девочке Наташе, которая еще недавно играла в куклы и теперь еще брала уроки.
– Наташа, полно, глупости! – сказала она, еще надеясь, что это была шутка.
– Ну вот, глупости! – Я вам дело говорю, – сердито сказала Наташа. – Я пришла спросить, что делать, а вы мне говорите: «глупости»…
Графиня пожала плечами.
– Ежели правда, что мосьё Денисов сделал тебе предложение, то скажи ему, что он дурак, вот и всё.
– Нет, он не дурак, – обиженно и серьезно сказала Наташа.
– Ну так что ж ты хочешь? Вы нынче ведь все влюблены. Ну, влюблена, так выходи за него замуж! – сердито смеясь, проговорила графиня. – С Богом!
– Нет, мама, я не влюблена в него, должно быть не влюблена в него.
– Ну, так так и скажи ему.
– Мама, вы сердитесь? Вы не сердитесь, голубушка, ну в чем же я виновата?
– Нет, да что же, мой друг? Хочешь, я пойду скажу ему, – сказала графиня, улыбаясь.
– Нет, я сама, только научите. Вам всё легко, – прибавила она, отвечая на ее улыбку. – А коли бы видели вы, как он мне это сказал! Ведь я знаю, что он не хотел этого сказать, да уж нечаянно сказал.
– Ну всё таки надо отказать.
– Нет, не надо. Мне так его жалко! Он такой милый.
– Ну, так прими предложение. И то пора замуж итти, – сердито и насмешливо сказала мать.
– Нет, мама, мне так жалко его. Я не знаю, как я скажу.
– Да тебе и нечего говорить, я сама скажу, – сказала графиня, возмущенная тем, что осмелились смотреть, как на большую, на эту маленькую Наташу.
– Нет, ни за что, я сама, а вы слушайте у двери, – и Наташа побежала через гостиную в залу, где на том же стуле, у клавикорд, закрыв лицо руками, сидел Денисов. Он вскочил на звук ее легких шагов.
– Натали, – сказал он, быстрыми шагами подходя к ней, – решайте мою судьбу. Она в ваших руках!
– Василий Дмитрич, мне вас так жалко!… Нет, но вы такой славный… но не надо… это… а так я вас всегда буду любить.
Денисов нагнулся над ее рукою, и она услыхала странные, непонятные для нее звуки. Она поцеловала его в черную, спутанную, курчавую голову. В это время послышался поспешный шум платья графини. Она подошла к ним.
– Василий Дмитрич, я благодарю вас за честь, – сказала графиня смущенным голосом, но который казался строгим Денисову, – но моя дочь так молода, и я думала, что вы, как друг моего сына, обратитесь прежде ко мне. В таком случае вы не поставили бы меня в необходимость отказа.