Gerçeğe doğru: DirectX 10

Windows Vista ile DirectX sistemi de güncelleniyor ve beklenen DirectX 10 hayatımıza giriyor.

DirectX 10 dünyamızda

DirectX Nedir?

DirectX, Windows ortamında uygulama geliştirenlerin kullanabileceği bir programlama arayüzü. Bu arayüz, örneğin oyun geliştiren bir programcının ekran kartı, ses kartı, joystick, ağ bağlantısı gibi kaynaklara kolayca erişimi için bir standart sağlıyor. Normalde Windows işletim sistemleriyle birlikte yüklenen DirectX, güncelleme amacıyla sisteme sonradan da eklenebiliyor. İlk olarak sadece oyunlardaki grafikleri yönetmekle görevlendirilen DirectX zamanla joystick, klavye gibi oyun kontrol araçlarının ve oyunların İnternet bağlantısının da yönetimini üstlenmiş durumda.

En son olarak video görüntülemeyi hızlandırma özellikleriyle donatılan DirectX, Windows Vista ile İşletim sisteminin yardımcı bir parçası olmaktan çıkıp, işletim sisteminin ana parçalarından biri haline geliyor. DirectX son yıllarda sadece oyunlar değil, profesyonel 3 boyutlu tasarım uygulamalarında da kullanılıyor.

Windows işletim sisteminde, oyunların kullandığı ses, grafik, kontrol, ağ iletişimi gibi özelliklerin tümü, Microsoft tarafından geliştirilen DirectX yazılım kütüphanesi tarafından yönetiliyor. Windows 95 ile hayalımıza giren ve birkaç yılda bir yeni sürümüne güncellenen DirectX'ler içinde en uzun ömürlüsü DirectX 9 oldu. 2002 yılının son aylarında yaşantımıza giren DirectX 9, Windows platformunun gördüğü en görkemli oyunlara ev sahipliği yaptı.

Şimdi, Windows Vista'nın gelişiyle birlikte DirectX 9 emekli oluyor ve yerini oldukça gelişmiş yapıdaki DirectX 10'a bırakıyor. DirectX paketinde grafikleri yönelen bölümün ismi Direct3D. İşle yeni DirectX'de de en büyük değişiklikler bu bölümde yapılmakta. Yapılan değişiklikler oldukça teknik alanda ve daha çok programcıları ilgilendiriyor ama bu yeniliklerin meyvelerini elbette biz kutlamalar toplayacağız. Gelin DirectX 10 ile yaşantımıza girecek yeniliklerin en önemlilerini birer birer gözden geçirelim.

Direct3D artık masaüstünde

Direct3D artık masaüstünde

DIRECTX MASAÜSTÜNDE
Direct3D artık masaüstünde

Windows Vista ve DirectX 10 ile gelen en büyük yeniliklerden biri, DirectX'in artık oyunlarla ilgili bir teknoloji olmaktan çıkıp, Windows masaüstüne yerleşmesi. Windows Vista arlık masa-üslündeki pencereleri çizmek için de Direct3D kullanıyor.

Eski kartlarla maksimum uyum sağlanması için, masaüstü işlemlerinde kullanılan sürüm DirectX 9 olarak belirlenmiş. İleride, tüm masaüstü işlemlerinin DirectX 10'a aktarılacağı belirtiliyor.

PERFORMANS KATLANACAK
Shader Model 4.0

Direct3D bölümünün, ekran kartının işlemcisine erişerek bu işlemci üzerinde çalışan özel programlar hazırlama yeteneği Shader Model ifadesiyle özetleniyor. Her yeni ekran kartı nesli ve DirectX sürümüyle geliştirilen Shader Model teknolojisi, oyunların kullandığı bazı efekt ve özelliklerin doğrudan ekran kartının işlemcisince yürütülmesini sağlamakta.

Kullanabileceğiniz Shader Model düzeyi, ekran kartınızın donanımsal yeteneklerince belirlenmekle. Yani eğer ekran kartınız Shader Model 2.0 sürümünü destekliyorsa, siz sisteminize Shader Model 3.0 destekli DirectX 9 kursanız da en fazla Shader Model 2.0 kullanabiliyorsunuz.

Shader Model terimiyle ilk önemli karşılaşmamız GeForce 4 ve ATI Radeon 8500 serisi ekran kartlarıyla olmuştu ama açıkçası bu kartların desteklediği ilk nesil efektler çok bir şey ifade etmedi. ATI Radeon 9700 ile yaşantımıza giren Shader Model 2.0 kavramıysa, gerçeklen etkileyici görsel efektler yaratarak ciddiye alınması gereken bir teknoloji olduğunu gösterdi. GeForce 6 serisi ekran kartları sayesinde Shader Model 3.0'a eriştik, şu anda da en gösterişli oyunların çoğu bu teknolojiyi kullanıyor.

DirectX 10 ile Shader Model 4.0 standardı yaşantımıza giriyor ama tabii bunun için Shader Model 4.0 destekli ekran kartlarının gerekeceğini de tekrar hatırlatmamız lâzım. Yeni sistemin en büyük özelliği, eski geleneksel yapıdaki grafik işlemcilerinin geometri işleme birimi ve piksel işleme birimi kavramlarını birleştirmesi.

Yeni kartlarda her iki işlevi de görebilen genel işlem birimleri bulunacak. Bu durum, performans açısından çok ciddi artışlar sağlayabiliyor.

Shader Model 4.0 nasıl çalışacak?

Shader Model 4.0 nasıl çalışacak?

YÜK AZALIYOR
Shader Model 4.0 nasıl çalışacak?

Konuyu daha iyi anlayabilmek için basit örnekler geliştirelim. Birçok doku işleme birimine sahip, dolayısıyla da doku zengini oyunlarda performans kralı olan bir ekran kartı, doku değil de karmaşık geometri içeren bir uygulamada tıkanıp kalabilir. Oysa bu durumda, ekran kartının geometri işleme birimleri iş yetiştiremezken, doku işleme birimleri boş boş oturmakladırlar.

Tabii bu durumun tersi de geçerli, doku birimleri deliler gibi çalışırken geometri birimlerinin tatil yaptığı da olabilir. İşte DirectX 10 ve beraberinde gelen unified shader, yani birleştirilmiş kaplama birimi kavramı, bu duruma son veriyor.

Artık birbirinden ayrı geometri işleme, doku işleme birimleri yok. Sadece genel amaçlı kaplama birimleri var. Grafik işlemcinin içindeki bir iş yöneticisi, işlemciye o anda yüklenen işin durumuna göre birimlere görev alıyor, örneğin, elimizde 16 kaplama birimi var diyelim.

Çok basit geometrik şekillerle ama bir sürü renkli doku ve efektle dolu bir oyun sahnesinin işlenmesi gerekliğinde, iş yöneticisi tek bir birime geometri işleme görevi verip, kalan 15 birime doku işlemleriyle uğraşmalarını emredebiliyor. Benzer şekilde, bir 3B modelleme uygulamasında hiç doku kullanmadan milyonlarca poligondan oluşan bir obje tasarlıyorsanız, o zaman da kartın 16 birimi de geometri işlemleri yürütmeye atanabiliyor.

Kurduğumuz basit senaryolarda gördüğünüz gibi, yeni mimari sayesinde kartın işlem birimleri hiç boş kalmıyor, verimlilik her zaman %100'e yakın düzeyde. Tabii bu da performans açısından ciddi bir artış demek. Kartların artan işlem gücü, oyun geliştiricilerin daha karmaşık ve gelişmiş grafiklere yönelebileceklerinin müjdecisi.

Nesnelere hükmetme zamanı

Nesnelere hükmetme zamanı

3B DEVRİMİ
Nesnelere hükmetme zamanı

Bugüne kadar grafik işlemcilerinin nesneler üzerindeki işlem güçleri hep kısıtlı katmıştı, işlemcilerin, nesneleri kaplayan dokular üzerindeki işlem güçleri alabildiğine artsa da, bu objeleri oluşturan poligonlar üzerinde işlem yapma olanakları arka planda kaldı ve bu işlemlere yönelik birçok teknik standartlaşamadı. DirectX 10, bu konuda ileri adımlar alıyor.

Bilindiği gibi, ekranda görüntülenen 3 boyutlu grafikler aslında üçgenlerden oluşuyor. Bu zamana katlar grafik işlemcileri sadece bu üçgenlerin "vertex" denen köşe noktaları üzerinde işlem yapabiliyordu.

Geliştirilen yeni teknolojiyle oyun geliştiricilere sadece bu köşeler değil, nesneyi oluşturan tüm geometri üzerinde işlem yapma gücü sağlanıyor. Dolayısıyla, cisimlerin şekil değiştirmesini de içeren, daha Önce görülmemiş efektlerin önü açılıyor.

Karakterlerin konuşmaları sırasındaki yüz hareketleri arlık eskisinden daha gerçekçi canlandırılabiliyor. Displacement Mapping gibi, çok basit objelere müthiş derece detay kalabilen ve yıllardır bir kenarda sırasını bekleyen efektler sonunda haya la geçebiliyor.

Gecikmeler ortadan kalkıyor

Gecikmeler ortadan kalkıyor

ZAMAN KAYBI VAR MI?
Gecikmeler ortadan kalkıyor

ATI ve nVidia'nın DirectX 10 konusunda sunduğu dokümanlar, daha önceki DirectX sürümlerindeki ciddi bir kusurun allını çiziyor. Bu sürümlerde, ekran kartına gönderilen her iş paketiyle, DirectX sisteminin kendi işlevleri için gereken belli bir zaman kaybı (overhead) yaşanıyor.

Her paketlen sonra aynı kayıp süreç tekrarlandığından, toplamda ciddi oranda performans bu görünmeyen işlevlerde kaybolup gidiyor. Bu sorunun, en güçlü ekran kartlarını bile bir sahnede 500 civarı nesne görüntülemekle sınırladığı belirtilmekle.

Yeni DirectX'leyse bu zaman kayıpları en aza indirilmiş ve görüntüleme süreci ana işlemciye bağlı kalmadan, çok daha hızlı işliyor. Sonuç, oyunların her ekranında daha çok nesne, daha çok düşman, havada uçuşan daha çok mermi ve boşa çıkan işlemci gücü sayesinde daha iyi yapay zeka, daha iyi ses ve fizik efektleri anlamına geliyor.

Görsel hayal kırıklığına son

Görsel hayal kırıklığına son

KART STANDARTI
Görsel hayal kırıklığına son

Aslında Microsoft'un verdiği kararların oyun geliştiricilere yönelik birçok getirişi var, biz oyuncular da uzun vadede bunların yararını göreceğiz, örneğin, yeni DirectX'le Direct3D 10 destekli tüm donanımların, gerekli tüm temel özellikleri desteklediği varsayılıyor.

Eskiden, bir ekran kartı Direct3D 9.0 destekli olsa bile başka kartlardaki tüm özellikleri destekliyor olması gerekmiyordu ya da kendine özgü özellikleri olabiliyordu. En bilinen örnek olarak, her ikisi de DirectX 9 desteklediği halde birisi Shader Model 2.0, diğeriyse Shader Model 3.0 destekleyen ATI X800serisiyle, nVidia 6600 serisini düşünebilirsiniz. Bu durumda oyunun çalıştığı zaman ekran kartına "sende şu özellik var mı, bu işlev var mı?" diye sorular sorması ve aldığı yanıtlara yöre bazı özelliklerini açıp, bazılarını kapayarak kendini ayarlaması gerekiyordu.

DirectX 10 ile kartların özelliklerine bir standart getirilmekle. Bunun özellikle programcılar açısından müthiş bir rahatlama sağlayacağı belirtiliyor. Çünkü programcı oyunu yazarken birçok farklı kartın özelliklerini düşünmek zorunda kalmayacak.

Kullanıcılarsa, satın alacakları oyunun ellerindeki ekran kartıyla sunacağı görüntü kalitesi ve efektler konusunda daha kesin bilgilere sahip olabilecekler.

DirectX 10 destekli bir ekran kartınız varsa, satın aldığınız DirectX 10 kullanan oyunun tüm görsel ihtişamını yaşayabileceğinizden emin olabileceksiniz.

Profesyonellere özel iyileştirmeler

Profesyonellere özel iyileştirmeler

SINIRSIZ KAYNAK
Profesyonellere özel iyileştirmeler

DirectX 10 teknolojisinin getirdiği bazı yenilikler, kullanıcıların doğrudan yararlanmayacağı ama uygulama geliştiricilere çok şey kalacak özellikler içeriyor. Tabii uygulama geliştirenlerin hayatlarının kolaylaşması, sonuçla yine biz kullanıcıların yararına olacak.

Yeniliklerden biri, oyunlardaki görsel efektleri oluşturan programlan derleyen uygulamada gizli. Yeni efekt derleyicisi, hem eskisinden daha kısa ve hızlı efekt rutinleri oluşturuyor, hem de efektlerin birbirleriyle iletişim kurabilmesi ve birbirlerini tetikleyebilmesi gibi çok ilginç açılımları olacak özellikler sağlıyor.

Bu özelliğin programcılar tarafından en çok talep edilen özelliklerden biri olduğu belirtiliyor. Birbirleriyle iletişim kurabilen efektler sayesinde örneğin bir odaya el bombası atıldığında ortaya çıkan yangın, duman, savrulan parçacıklar birbirleriyle etkileşimli olarak çalışabilecek. DirectX 10'da programcıların en çok işine yarayacak yeniliklerden biri, ekran kartının belleği yi e ilgili. Yeni DirectX, ekran kartı belleğinin programcı tarafından aynı sistem belleği gibi, düz bir adresleme yöntemiyle kullanılmasına izin veriyor.

Eskiden ekran kartının bellek büyüklüğü, tampon bellekler, AGP üzerinden erişilen sistem belleği miktarı gibi parametreler arasında bunalan programcı, arlık bunların hiç birine kafa yormak zorunda değil. Bunlar ekran kartı sürücüsünün uğraşacağı şeyler. Tabii bu durumda programcı zamanını yaratmak istediği görüntü ve efektleri geliştirmeye yönlendirebiliyor. Ayrıca bu yöntem, oyunların sistem belleğini de daha etkin kullanmasını sağlıyor. Oyunun kullandığı dokuları ve objeleri sistemin ana belleğinde tutmak artık eskisi kadar çok performans düşüşü yaratmıyor, işte bu yüzden, Microsoft'un DirectX 10'u tanıtırken kullandığı sloganlardan biri "Sınırsız Kaynak".

Ses meraklılarına kötü haber

Ses meraklılarına kötü haber

SESTE AZALMA
Ses meraklılarına kötü haber

Vista ile gelen DirectX 10, grafik konusunda alabildiğine esnek ama "oyunlarda güçlü ses efektleri olmadan olmaz" diyenler için bazı keyifsiz haberlerimiz var. Windows Vista'da değişen cihaz sürücü mimarisi sonucu, ses kartları için bir donanım ara yüzü yok. Yani donanımdan ses işlemleri yapabilen, seslere efekt uygulayıp 3 boyutlu uzayda konumlandırabilen gelişmiş kartların bu güçlerini oyunlarda kullanabilmeleri olanaksız. Bu tür efektlerin arlık yazılım üstünden, işlemciye hesaplatılması gerekiyor.

Bunun sonucunda da, DirectSound 3D sistemini donanım destekli kullanan ya da Creative'in özel EAX ses efektlerini kullanan oyunlarda artık sadece yazılım destekli ses seçeneklerini kullanabiliyoruz. Birçok oyun, çevresel ses efektlerini kaybediyor, EAX ile sağlanan yankı efektleri tümden yok oluyor. Bunun tek istisnası, hızla gelişen OpenAL sistemini kullanan oyunlar.

OpenGL grafik kütüphanesine benzer ama sadece ses üzerine bir programlama kütüphanesi olan OpenAL, Vista'da sorunsuz çalışıyor. Quake 4, Battlefield 2, Prey gibi güncel ve gelişmiş oyunlar OpenAL kullandıkları için Vista altında bu oyunları oynarken kullanıcılar bir eksiklik hissetmeyecekler.

Anakarta entegre ses çözümlerini kullananlar için de pek bir şey değişmeyecek, çünkü bu çözümlerin zaten EAX ve donanımsal DirectSound 3D destekleri olabilecek en düşük düzeydeydiler. En zararlı çıkacak olanlar, Creative Audigy ve X-Fi serisi kartlara sahip kullanıcılar gibi gözüküyor. DirectSound3D, DirectX 10 ile oldukça büyük bir hasar alsa da, oyunlarda pek fazla kullanılmayan DirectMusic sisteminde hiçbir değişiklik yok.

DirectX 10 ile gelen değişikliklerin en büyük kısmı 3 boyutlu grafikleri yaratan Direct3D bolümü üzerinde ama aslında sistemin diğer bölümlerinde de ulak değişiklikler var. örneğin, joystick türü oyun kontrol araçlarını denetleyen DirectInput bölümü, Xbox360'dan aktarılmış Xinput bölümüyle değiştirilmiş. Sonuç, Xbox360 için üretilmiş bütün oyun kontrol araçlarının PC'de de kullanılabilecek olması.

Böylece oyun meraklıları, Xbox başında otururken alıştıkları ve ustalaştıkları oyun kontrolcülerini aynen PC'lerinde de kullanabilecekler.

Creative'in özel EAX çözümü

Windows Vista'da DirectSound 3D ve EAX efektlerinin donanım destekli olarak çalışmayacağından bahsetmiştik. Son günlerde konuşulmaya başlanan bir haber, bu konuya değişik bir açılım sağlıyor. Ses kartı üreticisi Creative'den gelen haberlere bakılırsa, firma yazdığı özel bir sürücüyle bu soruna biraz da olsa çözüm getirecek.

Creative'in özel sürücüsü, oyunlardaki DirectSound 3D ve EAX komutlarını algılayıp, bunları OpenAL işlemleri haline getirecek. OpenAL sistemiyse Vista'da sorunsuz çalıştığı için kullanıcı eski oyunlarında bile sorunsuz ses elde edebilecek. Tek can sıkıcı nokta, bu özel sürücünün Creative'in en son ses kartı serisi X-Fi için üretilecek olması. Firma, geliştirdiği bu güzel çözümü Live ve Audigy serisi eski kartlarına aktarmayı planlamıyor.

Windows XP ne olacak?

Windows XP ne olacak?

XP'YE VEDA
Windows XP ne olacak?

Kafalardaki en büyük sorulardan birisi, Windows XP için DirectX 10 çıkıp çıkmayacağı. Windows XP ile daha yıllarca devam etmeyi umanlara kötü haberimiz var, çünkü DirectX 10 Windows Vista'dan önceki işletim sistemlerine aktarılmayacak. Vista, DirectX 10 ile temiz bir başlangıç yapacak ve Windows XP, DirectX 9 düzeyinde sabitlenecek. Tabii bu kısa vadede kullanıcılar için büyük bir sorun değil, çünkü sadece DirectX 10 ile çalışan, DirectX 10'a özel oyunlar hemen çıkmayacak. Çoğu oyun aslen DirectX 9 için yazılacak, DirectX 10 ile kullanıldığındaysa birkaç özel efekt daha sunacak. Elbette ilerleyen yıllarda bu durum değişecek ve DirectX 10 öne geçecek.

DirectX 10'un sonrasındakiler

DirectX 10'un sonrasındakiler

DAHA FAZLASI DA VAR
DirectX 10'un sonrasındakiler

DirectX 10, Windows platformu için önemli bir adım olacak ve oyunların hazırlanma, kurulum ve oynanış şekillerini etkileyecek. Tabii ki teknoloji bir an olsun yerinde durmuyor; biz DirectX 10'a merhaba derken daha yeni sürümler konuşulmaya başlandı bile. Grafik teknolojilerindeki yenilikler, DirectX serisine ufak güncellemelerle eklenecek.

Seri DirectX 10.1, 10.2 gibi ufak adımlarla ilerleyecek. DirectX 10'un hemen ardından 10.1 sürümünün geleceği biliniyor. Bu yeni sürüm özellikle çift çekirdek desteğini geliştirecek. Oyun içindeki cisimlerin gölgelerinin daha kaliteli görüntülenmesini sağlayacak ve görüntülenen sahneye özel kırık giderme (antialiasing) yöntemlerine izin verecek bazı iyileştirmeler ve görüntü hesaplamalarda artan matematik hassaslık da DirectX 10.Tin kapsamına giriyor.

DirectX 1.0 destekli grafik işlemcilerinin en az 4X olarak ifade edilen kırık giderme yöntemini desteklemeleri şart olacak. Yeni DirectX sürümü için henüz belirtilmiş kesin bir tarih yok ama Windows Vista'nın ardından, fazla gecikmeden kullanıma sunulacağı bilinmekle.

Vista'da eski oyunlar çalışacak mı?

Windows Vista, içinde DirectX 10 yüklü olarak geliyor ama merak etmeyin, ekran kartınızın sürücüsünü yükledikten sonra tüm eski oyunlarınızı Vista'da sorunsuzca oynayabilirsiniz. Dikkat etmeniz gereken tek şey, DirectX 9 paketindeki bazı dosyaların Vista'da bulunmaması sonucu hata mesajı alabilecek olmanız.

Eğer bir hata mesajıyla karşılaşırsanız, sisteminize en son tarihli bir DirectX 9 paketini kurun. Merak etmeyin, DirectX 10 üzerine DirectX 9 kurulması sistemde yüklü olan DirectX 10'u bozmuyor, sadece eksik olan DirectX 9 dosyalarını tamamlıyor. Bu kurulumu yaptıktan sonra tüm DirectX 9 oyunlarınız hata mesajı vermeden çalışacaktır.

Okuyucu Yorumları