DirectX

Daha önceki haberlerimizde DirectX 12 nin tanıtılacağını duyurmuştuk.Şimdi de biraz DirectX i genel olarak inceleyelim.

Soracak çok soru var aslında.Nedir bu DirectX? Ne işe yarar? Neden oyunlar için yüklüyoruz? Aslında DirectX gibi bir şeyin hakkını vererek incelememiz için 2 başlık altında incelememiz gerek.Oyuncu gözünden ve oyun yazılımcısı gözünden.Biz bunu her ne kadar 2 başlık altında incelesek bile DirectX in önemi , işlevi 2 taraftan da aynı yere çıkıyor. Bir oyun yazılımcısı gözünden incelersek:Oyuncular oyunları daima yüksek kalite ile oynamak ister.Bir mario ile bir Crysis 3’ü kıyasladığımızda Crysis için uygulanmış milyonlarca efekt var.Mario tarzı bir oyunu günümüzde orta seviye bir yazılım bilgisiyle rahatlıkla yazabilir. Crysis’a bakacak olursak yağan yağmur için , yerdeki su birikintisinin daha canlı olması için , güneş ışığının gerçeğe benzemesi için ve milyonlarca detay için efektler vermek zorundayız.Aslında DirectX burada devreye giriyor.DirectX aslında bir arayüzdür.Microsoft tarafından oyun yazılımcılarının bazı işlerini daha kolay yapabilmek adına Windows’a geçmesini sağlamak için yapılmıştır. Bu arayüzün çeşitli işlevleri vardır.Önce bunu herkesin anlayabileceği bir dilden anlatalım.Oyunlarda ekleyeceğimiz efektleri düşündüğümüzde farklı bir arayüz ile milyonlarca kod yazmamız gerekebilir.Fakat DirectX kullanan biri bu kodların çoğunu  DirectX kütüphanesinden hazır olarak elde edebilir.Bunun yanında yazacağımız bir multiplayer(Çoklu oyuncu) oyunu düşünelim. İlk olarak oyunu yazacağız daha sonra bu oyunun multiplayer oynanması için tekrardan  kodlar yazacağız. Bu şekilde iş gerçekten karmaşık olurdu ve hata payı yüksek olurdu.DirectX arayüzünü kullanarak işimizi kolaylaştırabiliriz.Tabi bu demek değil ki oyunun multiplayer kısmını DirectX kendi başına yapıyor.Ama işimizi kolaylaştırdığı kesin.
DirectX in en çok kullanılan bileşenlerinden bahsedelim.
-Direct3D (veya bir diğer adıyla WGF: Windows Graphics Foundations – Windows Grafik Temelleri) hem iki hem üç boyutlu grafikleri ekrana dökmeye yarar.  Piyasadaki çoğu ekran kartının en modern donanım hızlandırma özelliklerini destekler. En büyük rakibi OpenGL’dir-DirectSound hem iki hem üç boyutlu ses için kullanılır. Windows altında çalışabilen her ses kartı en azından yazılım ile DirectSound ve DirectSound 3D  desteğine sahiptir. Piyasadaki tüm rakipleri göz ardı edebilecek bir popüleriteye sahiptir.-DirectInput, klavye, fare ve oyun çubuğu gibi bileşenlerin giriş ve çıkışlarını basit bir şekilde yönetebilmek için olan arabirimdir. -DirectPlay ise TCP/IP, modem ve Bluetooth gibi birçok protokol üzerinden bağlantı ve mesajlaşma bileşenlerini içerir. TCP/IP üzerinde NAT veya uPnP geçişlerini desteklemesi ve DirectPlay Voice ile saniyede 1.2 kbit’e kadar inebilen ses sıkıştırma codec’leri ile göz doldurur.  Açık kaynak dünyasında en bilinen rakibi HawkNL’dir.

Bir oyuncu gözünden bakacak olursak bir noktada aynı yere çıkacağız.Yukarıda da bahsettiğimiz gibi her oyuncu oyunu en yüksek kalitede oynamak ister. Burada DirectX’in temel bileşenleri devreye giriyor.Bizim oyunu daha akıcı , daha rahat ve daha kaliteli oynamamız için bilgisayarımızda bulunantüm donanımlar arasındaki ilişkiyi kurar.Aslında yukarıda bahsettiğimiz tüm bileşenler oyunu daha iyi oynayabilmemiz için vardır. Klavyede bastığımız anda oyundaki karakterimizin hareket etmesi , suyun yansımasında karakterimizi görebilmemiz bunların hepsini DirectX’e borçluyuz.

 

Metehan Aytaç