15 Nisan 2008 Salı

Managed Directx Bölüm - 1

DirectX SDK

DirectX bilindiği üzere, Microsoft tarafından oyun geliştiricilerin hizmetine sunulmuş ileri düzey bir grafik API’sidir(Application Programming Interface). Bu API tamamen ücretsizdir ve Microsoft’un sitesinden indirilebilir. Piyasada  kullanılan tek API DirectX değildir tabii ki. Onun en büyük rakibi yine ücretsiz olarak dağıtılan ve açık kodlu bir API olan OpenGL’dir (Open Graphics Language). OpenGL Silicon Graphics firmasının geliştirdiği bir API’dir. OpenGL ile yazılan oyunlara en güzel örnek olarak Quake serisi verilebilir.

DirectX iki farklı şekilde kullanılabilir. Birinci kullanım, DirectX ile yazılmış bir oyunu oynayabilmek için makineye DirectX Runtime(Debug veya Retail seçenekleri ile) kurulmasıdır. İkinci kullanım ise, ki bizi ilgilendiren kısım da budur zaten, Oyun geliştirirken DirectX API’sinden yararlanabilmek için DirectX SDK’nın makineye kurulmasıdır. DirectX 9.0 sürümü ile birlikte .NET ile kullanımının kolaylaşması için Managed Code sistemine geçti. Yani DirectX SDK’yı makinenize kurduktan sonra .NET içerisinden dll’leri(DirectX, Direct3D, Direct3DX vs.) projenize referans olarak göstermeniz yeterli.

İşe ilk olarak DirectX’in bileşenlerini tanıtmakla başlayalım.

Direct X Bileşenleri

-Direct3D(D3D):3D hızlandırıcı katmanına erişmek için kullanılır.
-Direct3DX(D3DX):Direct3D Extensions, Matrix Multiplications(matrix çarpımları) gibi kod yazma işlemini kolaylaştıran birtakım yardımcı fonksiyonlar sunar.
-DirectDraw:Aslında DirectDraw şu anda kullanılmayan bir teknoloji fakat eski oyunların da yeni DirectX sürümleriyle çalışabilmesi için hala barındırılıyor ve yenileştirme içermiyor. 2D oyunların geliştirilmesinde kullanılıyor.
-Direct Input:Input aygıtlarını denetlemede kullanılan bir directX bileşeni, Force Feedback özellikli joystickleri de destekliyor.
-DirectPlay:MultiPlayer oyunlar geliştirmek için kullanılıyor. Bilgisayarlar arasında hızlı ve güvenilir data transferi sağlıyor. Bilgisayarlar arası bağlantı P to P(Peer To Peer) olabileceği gibi Client Server mimarisi ile de yapılabiliyor. İşlem temeli TCP soketlerine dayanıyor.
-DirectAudio:Eski sürümlerinden gelen DirectMusic ve DirectSound isimli iki interface’i var. Aslında DirectAudio yeni bir arayüz değil sadece bu iki arayüzün birlikte kullanımını sağlıyor. Bununla beraber DirectX9.0’ın Managed kullanımı (.NET ile kullanımı) sadece DirectAudio'yu sunuyor.
-DirectShow:Ses ve videoları yakalama ve oynatma için kullanılan bir DirectX bileşeni. Ancak managed kullanımda sadece belli başlı özelliklerine erişebiliyoruz. Daha fazla detaya girebilmek için directX’i unmanaged kullanmalıyız.
-DirectSetup:DirectX içeren uygulamalarımızı paketlerken yardımcı olan bir bileşen.

Kaynak : Öğretim Görevlisi Murat Güneş

Hiç yorum yok: