Что такое DirectX?

Что
такое
DirectX?


Antiloop, Уголок DirectX.


Эта статья предназначена для тех, кто хотел бы изучить основы программирования DirectX на Visual Basic, но знает только, что DirectX - это какая-то ускорительная фича, а в чем здесь собственно суть представляет себе не очень.


DirectX представляет собой набор технологий и инструментов, которые позволяют создавать разработчику игры и мультимедиа приложения с неслыханным во времена MS-DOS качеством графики и звука. Кроме этого, DirectX служит для обработки клавиатуры, мыши, джойстика, а также для сетевого сообщения.


DirectX подразделяется на несколько частей, каждая из которых отвечает за что-то свое:


DirectDraw - служит для ускорения отображения и обработки двумерной графики


Direct3D - для ускорения трехмерной графики


DirectSound - работает со звуком - микширование и 3D звук


DirectInput - для обработки клавиатуры, мыши, джойстика и так далее


DirectPlay - служит в основном для сетевой игры


Эти разделы освещаются здесь, в Уголке. Кроме этого существуют и другие разделы:


DirectAnimation - для создания анимационных эффектов в WEB-стриницах


DirectShow - для применения мультимедиа в WEB


DirectMusic - новый раздел. Служит для применения музыки в играх


И это еще не все.


DirectX разрабатывался специально, чтобы превратить платформу Windows как в основную для разработки игр. До этого разработчики использовали только MS-DOS и лишь совсем незначительная часть игр делалась для Windows 3.xx Одной из более ранних попыток Microsoft был выпуск WinG, который позволял разработчикам не писать бесконечные поддержки для различных типов аудио-видеоадаптеров, однако появление DirectX полностью изменило дело в пользу Windows. Теперь, разработчики могли почти не отвлекаться на подержки различных карт, потому что если у карты была поддержка DirectX, то несовместимость больше не была проблемой.


К слову сказать, Direct3D был попыткой Microsoft как всегда все подгрести под себя. В их стратегии стояло создать универсальный интерфейс для программрования ускорителей трехмерной графики, однако среди преимуществ Direct3D было и много недостатков, поэтому не все производители трехмерных игр используют D3D, предпочитая или интерфейс OpenGL производства Silicon Graphics или пишут игры под Glide интерфейс, который поддерживается только видеокартами н

а чипсете 3DFX. Так, в знаменитом Quake используется OpenGL, а в первых частях Tomb Raider - DosGlide.


DirectX - это интефейс довольно низкого уровня. С помощью своих API он предоставляет программисту прямой доступ к памяти адаптеров, где программист может создавать изображение, хранить графические образы, звуки и т. д. За счет непосредственной работы с памятью достигается ускорение, то есть теоретически частота, с которой программист сможет заставить прорисоваваться экран будет зависеть только от частоты, поддерживаемой монитором. Реально же, человек уже слабо воспринимает различия в частоте обновления, если она более 33 FPS (Frame Per Second - кадров в секунду), поэтому будет очень хорошо, если Вы сможете подвести Вашу частоту к этой.


Современные графические адаптеры позволяют доводить FPS двумерной графики до всех разумных пределов, поэтому все задержки с ее отображением от того, что компьютер не успел подготовить новое изображение, а это уже зависит от чатоты процессора и объема оперативной памяти. В трехмерной же графике все сложнее. Здесь скорость отображения зависит как и от мощности компьютера, так и от качества и способности ускорения графической карты. Разработчики видеоускорителей применяют все более и более навороченные технологии ускорения и все для того, чтобы увеличить FPS еще на десяток кадров, а также улучшить качетво картинки (устранить пикселизацию, сгладить цвета...)


Direct3D позволяет вам программировать для всех распространенных типов видеоускорителей, и вы можете делать это с помощью Visual Basic.


C выходом седьмой версии, DirectX теперь официально поддерживает Visual Basic. Однако и до этого было возможно использовать DirectX из VB с помощью библиотек типов (c) Patrice Scribe.


Но все же, скорость работы и количество поддерживаемых функций DirectX из VB оставляют желать лучшего. Основная часть внимания DirectX легла конечно же на C++. DirectX работает с VB примерно так:


Команда VB -> DirectX Type Library - > DirectX -> DirectX что-нибудь делает


DirectX что нибудь делает -> DirectX сообщает TL -> TL сообщает VB -> VB возвращает значение


Сами видите, что цепочка чересчур длинна. Но что поделаешь, Visual Basic не был изначально инструемнтом для создания игр. Но с другой стороны, именно поэтому, программирование DirectX становится таким простым.


Дерзайте, экспериментируйте, и кто знает, может быть у вас получится нечто такое!.. А то, что хоть то-нибудь получится, так это точно.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Что такое DirectX?

Слов:699
Символов:5176
Размер:10.11 Кб.