Що b> b> таке b> DirectX? b> p>
Antiloop, Куточок DirectX. p>
Ця
стаття призначена для тих, хто хотів би вивчити основи програмування
DirectX на Visual Basic, але знає тільки, що DirectX - це якась
прискорювальна фича, а в чому тут власне суть уявляє собі не дуже. p>
DirectX
являє собою набір технологій та інструментів, які дозволяють створювати
розробнику ігор і мультимедіа програми з нечуваним за часів MS-DOS
якістю графіки та звуку. Крім цього, DirectX служить для обробки
клавіатури, миші, джойстика, а також для мережного повідомлення. p>
DirectX
поділяється на кілька частин, кожна з яких відповідає за щось своє: p>
DirectDraw
- Служить для прискорення відображення та обробки двовимірної графіки p>
Direct3D
- Для прискорення тривимірної графіки p>
DirectSound
- Працює зі звуком - мікшування і 3D звук p>
DirectInput
- Для обробки клавіатури, миші, джойстика і так далі p>
DirectPlay
- Служить в основному для мережевої гри p>
Ці
розділи висвітлюються тут, в Куточку. Крім цього існують і інші розділи: p>
DirectAnimation
- Для створення анімаційних ефектів у WEB-стрініцах p>
DirectShow
- Для застосування мультимедіа в WEB p>
DirectMusic
- Новий розділ. Служить для застосування музики в іграх p>
І
це ще не все. p>
DirectX
розроблявся спеціально, щоб перетворити платформу Windows як в основну
для розробки ігор. До цього розробники використовували тільки MS-DOS і лише
зовсім незначна частина ігор робилася для Windows 3.xx Однією з більш ранніх
спроб Microsoft був випуск WinG, який дозволяв розробникам не писати
нескінченні підтримки для різних типів аудіо-відеоадаптерів, однак
поява DirectX повністю змінило справу на користь Windows. Тепер,
розробники могли майже не відволікатися на Підтримка різних карт, тому що
якщо в карти була підтримка DirectX, то несумісність більше не була
проблемою. p>
До
Доречно зауважити, Direct3D був спробою Microsoft як завжди все підгребти під
себе. У їх стратегії стояло створити універсальний інтерфейс для программрованія
прискорювачів тривимірної графіки, проте серед переваг Direct3D було і багато
недоліків, тому не всі виробники тривимірних ігор використовують D3D,
вважаючи за краще або інтерфейс OpenGL виробництва Silicon Graphics або пишуть ігри
під Glide інтерфейс, який підтримується тільки відеокартами на чіпсеті
3DFX. Так, у знаменитому Quake використовується OpenGL, а в перших частинах Tomb
Raider - DosGlide. p>
DirectX
- Це інтефейс досить низького рівня. За допомогою своїх API він надає
програмісту прямий доступ до пам'яті адаптерів, де програміст може створювати
зображення, зберігати графічні образи, звуки і т. д. За рахунок безпосередньої
роботи з пам'яттю досягається прискорення, тобто теоретично частота, з якою
програміст зможе змусити прорісоваваться екран буде залежати тільки від
частоти, що підтримується монітором. Реально ж, людина вже слабко сприймає
відмінності в частоті оновлення, якщо вона більше 33 FPS (Frame Per Second - кадрів
за секунду), тому буде дуже добре, якщо Ви зможете підвести Вашу частоту до
цієї. p>
Сучасні
графічні адаптери дозволяють доводити FPS двовимірної графіки до всіх розумних
меж, тому всі затримки з її відображенням від того, що комп'ютер не
встиг підготувати нове зображення, а це вже залежить від чатоти процесора і
обсягу оперативної пам'яті. У тривимірної ж графіку все складніше. Тут швидкість
відображення залежить як і від потужності комп'ютера, так і від якості і
здатності прискорення графічної карти. Розробники відеоприскорювачів
застосовують все більш і більш наворочені технології прискорення і все для того,
щоб збільшити FPS ще на десяток кадрів, а також поліпшити качетво картинки
(усунути пікселізация, згладити кольору ...) p>
Direct3D
дозволяє вам програмувати для всіх поширених типів відеоприскорювачів,
і ви можете робити це за допомогою Visual Basic. p>
C
виходом сьомої версії, DirectX тепер офіційно підтримує Visual Basic.
Однак і до цього було можливо використовувати DirectX з VB за допомогою бібліотек
типів (c) Patrice Scribe. p>
Але
все ж, швидкість роботи і кількість підтримуваних функцій DirectX з VB
залишають бажати кращого. Основна частина уваги DirectX лягла звичайно ж на
C + +. DirectX працює з VB приблизно так: p>
Команда VB -> DirectX Type Library --
> DirectX -> DirectX що-небудь робить p>
DirectX
що небудь робить -> DirectX повідомляє TL -> TL повідомляє VB -> VB
повертає значення p>
Самі
бачите, що ланцюжок надто довга. Але що поробиш, Visual Basic не був
спочатку інструемнтом для створення ігор. Але з іншого боку, саме тому,
програмування DirectX стає таким простим. p>
Дерзайте,
експериментуйте, і хто знає, може у вас вийде щось таке! .. А те,
що хоч те-небудь вийде, то це точно. p>
Список літератури h2>
Для
підготовки даної роботи були використані матеріали з сайту http://www.citforum.ru/
p>