Etiketler
API, DirectX, directX birimleri, directX gecmis, directX nedir?, directX yapisi, DOS
Evet arkadaslar sitemde directX ile kodlar yayinladim fakat oncelikle directX’in iyice anlasilmasi gerektigini dusundum. Bunun icin bu yazimda enine boyuna directX ile ilgili bilgilerden bahsedecegim.
—directX nedir?—
Windows isletim sistemi ile calisan bilgisayarlarin donanimina dusuk seviyede arayuz ile ulasmamizi saglayan Microsoft’un API koleksiyounudur.
directX 9.0 versiyonundan itibaren API coklu bolumlere ayrilmistir.
Bunlar :
–> directXGraphics : Grafik ile ilgilenen kisimdir.
–> directInput : Klavye, mouse, joystick vs. gibi girisleri kapsar.
–> directPlay : Network uzerinden oynanan oyunlar icin.
–> directSound : Arka fon muzikleri vs. koymamizi saglar.
–> directMusic : Kendi yarattiginiz dinamik muzikler icin.
–> directShow : Oyun icine koydugunuz videolar’i eklemek icin.
–> directSetup : Kodladiginiz oyunun her bilgisayarda calisabilmesi icin setup.
**Yukarida ki birimlerin hepsi birbirinden bagimsiz olarak calisabilir.
—directX’ten once?—
directX’ten once oyun programcilari oyunlari DOS’ta yaziyorlardi. Bunun hem iyi hem de kotu yonleri vardi. Iyi yonleri programci dogrudan bilgisayarin donanimi ile islem yaptigi icin butun kontrol programcidaydi ayrica hiz olarakta oldukca iyiydi. Fakat programcilar kodlari tek tek makine diline cevirmek zorundaydi ayrica bilgisayarlarin ozellikleri farklilik gosterince oyunlar calismamaktaydi. Ornegin programci oyunu 640*480 ekran cozunurlugune gore yapiyordu eger bilgisayariniz 320*240 ekran cozunurlugundeyse bu oyunu oynama sansiniz yoktu.
Windows 3.1 yayinlandiginda DOS ile benzer ozellikler gosterdi ve oyunlarin genel olarak butun bilgisayarlarda oynanabilmesine olanak verdi bunun icin oyun sektorunde gunumuze kadar uzanan Windows egemenligi baslamis oldu.
Windows kendini gelistirmekte kararliydi bunun icin programcilara WinG adini verdigi bir kutuphane sundu fakat bu kutuphane cok az fonksiyon iceriyordu. Bunun icin kullanicilar alistiklari eski sistemden yani DOS’tan vazgecmediler.
Microsoft bir adim daha atarak directX 1’i yayinladi ve buna SDK (Softare Development Kit) adini verdi. directX oyunlar ile donanim arasina bir katman koyarak grafikleri ekrana cizdirmeyi cok kolay bir hale getirdi ve uzun zamanlar harcatan makine koduna cevirme isini tamamen rafa kaldirdi. Boylece gunumuze kadar uzanan directX cilginligi baslamis oldu.
directX COM (Component Object Model) ile calisir. COM’lar normal olarak DLL halindedir. DLL’ler normalde Windows ile bilgisayariniza yuklenir fakat directX COM’lari extra olarak setup esnasinda bilgisayariniza aktarir boylece directX 5 ile yazilmis bir oyunu directX 11 ile oynayabilirsiniz.
—directX yapisi?—
Burada ki en onemli yapi HAL (HARDWARE ABSTRACTION LAYER) dir. HAL ekran karti ile direk iletisim kurabilmekte bu da onu oldukca hizli yapmaktadir. HAL’in asil gorevi directX’ten gelen komutlari ekran kartinin anlayacagi dile cevirmektir.
HEL ise HAL’in ceviremedigi komutlarda devreye girer ve bu komutlari islemciye yaptirir. Cok yavas olsada hata vermeyi engeller yinede yavas oldugu icin artik kullanilmamaktadir.
directX’in yapisi kisaca boyle artik umarim ney’i ne icin yazdiginizi daha iyi anlarsiniz…