Oyun dünyası DirectX 11 ile tanışıyor



Ekleyen
deniznegis
Güncelleme Zamanı
02.08.2010

DirectX 11 desteğine sahip ekran kartları piyasada boy göstermeye başladı. Peki DirectX 11 görsel olarak oyunculara neler sunuyor?

Oyun dünyası Directx 11 ile tanışıyor.Ekran kartları oyunseverlerin belki de en sık değiştirdiği bilgisayar bileşenlerinden biridir..Sürekli olarak farklı performanslarda, farklı fiyat aralığında ekran kartları piyasa çıkıyor ve bunları takip etmek güç. Ancak çoğunlukla ana değişimler grafik API'si olan DirectX sürümleri ile oluyor. Daha çok oyun yeni DirectX sürümünü kullanmaya başladıkça oyuncular da bu sürümü destekleyen ekran kartlarına yöneliyorlar.

DirectX 11'i destekleyen ekran kartları da raflardaki yerini almaya başladı. Özellikle AMD her fiyat kategorisinden DirectX 11 destekli grafik kartı işlemcisi sunuyor. Nvidia'nın yeni GTX 40 ve GTX 480 DX 11 kartları DirectX 11 desteğine sahip.

Directx 10 çıktığında grafik kalitesinde büyük gelişme oldu ama oyuncular ciddi performans sorunları ile karşılaştı. Ancak Directx 11 oyunların görsel şovlar sunmasına olanak sağlayacak geliştirmelerin yanında DirectX 11 destekli grafik işlemcisine sahip olmayanlara dahi iyi bir performans vadediyor.

Mozaikleme
Mozaikleme için az şeyden çok fazla şey yaratma denilebilir. DirectX 11 için gerekli olan "donanım destekli mozaikleme" işlevi; grafik çipinin donanım mozaikleme alanının kullanılarak, GPU'nun (ekran kartının işlemcisi) var olan geometrik alandan daha çok üçgen oluşturmasıdır. Düz bir yüzey için daha çok üçgen oluşturmak anlamsızdır sonuçta düz bir alan gene düz gözükecektir. Burada asıl ilginç olan gerçek bir 3D boyutlu model için daha çok üçgen oluşturulmasıdır.

Microsoft'un DirectX geliştirici kitinden alınan aşağıdaki örneğe bakacak olursanız DirectX 11 mozaikleme motorunun var olan geometrik şekilden pek çok üçgen oluşturduğunu görebilirsiniz.

Oyun dünyası Directx 11 ile tanışıyor.

Sağ üst resimde bump mapping (düz yüzeylerin girintili çıkıntılıymış gibi gözüken bir doku ile kaplanarak daha gerçekçi görünmesini sağlama) uygulanarak gerçekçi bir görünüm kazandırılmış kaldırım taşları görülüyor. Ancak bu görünüm sahte; bakış açısını değiştirirseniz bu yüzeyin aslında tamamıyla düz olduğunu görebilirsiniz. Bu yüzeye mozaikleme uygulandığında ise sağ altta görüldüğü gibi kaldırım taşları gerçek girinti ve çıkıntılara sahip 3 boyutlu objeler haline geliyor.

Peki gerçek bir oyunda mozaiklemenin farkı nedir? Yeni çıkan Metro 2033'de mozaiklemeye örnek bulmak mümkün. Soldaki resimde mozaikleme kapalı iken sağdakinde açık. Sağdaki resimde obje kıvrımlı bir kenara sahip. Çok detay bir örnek ama bu gelişme henüz çok yeni bu yüzden şu an için oyunlarda kullanımı pek yaygın değil. Bu teknoloji, köşebent kafalı oyun karakterlerinin sonunu getirecek. Artık oyunlardaki insanlar tümüyle yuvarlak başlara sahip olabilecekler.

Oyun dünyası Directx 11 ile tanışıyor.

Mozaiklemenin diğer kullanım alanları
Mozaikleme yuvarlak objeler oluşturmada çok başarılı ama tek faydası bu değil. Örneğin gerçekçi bir su görünümü elde etmek için piksel gölgelendirme (pixel shader) tekniği yerine daha çok üçgen ekleme yoluyla yapılabilir. Aşağıdaki resimlerden sağdaki mozaikleme ile gerçekleştirilmiş ve çok daha gerçekçi bir görünüme sahip.

Oyun dünyası Directx 11 ile tanışıyor.

Yeni araba yarışı oyunu Dirt 2'nin DirectX 11 versiyonunda sudan geçen arabalar, suda dalga oluşturuyor. Bu efekti sağlamak için donanım mozaikleme motoru yüzlerce üçgen oluşturuyor. Aşağıda, DirectX11 kullanılan sağdaki resimde dalgalar görülebiliyor, DirectX 9 kullanılan soldaki resimde ise suyun sıçraması görülebilirken herhangi bir dalga efekti bulunmuyor.

Oyun dünyası Directx 11 ile tanışıyor.

Mozaiklemenin geleceği
Çok daha gerçekçi görünen 3D objeler oluşturmaya olanak sağlayan mozaikleme, çok şey vadediyor ama mucizevi bir gelişme de değil. Her yeni teknikte olduğu gibi geliştiricilerin mozaiklemeyi akılcı kullanmaları gerekiyor. Mozaikleme ile kötü gözüken objeler oluşturma ihtimalinin ötesinde performans sorunları tehlikesi bulunuyor. Modern DirectX 11 grafik işlemcileri donanım mozaikleme motorlarına sahip olsalar da , sistem kaynakları sınırsız değil. Oyun geliştiricileri büyük ihtimallebu özelliği, detay derecelendirmesi ile kullanacaklardır: Yakındaki objelerde ya da karakterler üzerinde daha çok mozaikleme kullanılırken, daha önemsiz objelerde az kullanılabilir.

Şeffaf antialising eskisi kadar etkileyici değil
Geçtiğimiz yıllarda Nvidia ve Amd, şeffaf dokulu yüksek kalitede antialising özelliğini özellikle vurguluyordu. Bu özelliğe Nvidia şeffaf antialising derken, Amd adapte olabilen antialising adını veriyordu. Zamanında görüntü kalitesini artıran bu özelliğin artık pek de bir etkisi kalmadı.

Problem oyunların şeffalığı uygulama biçimiyle alakalı. Şeffaf objeler, dokusunun bir kısmı şeffaf olan poligonlar aslında. Örneğin tel örgüler, yapraksız ağaç dalları, elektrik telleri bu şekilde oluşturuluyor.

Şeffaf antialising (AA), şeffaf alanların kenarlarını yumuşatıyor. Eğer oyun "şeffaf antialising"i destekliyorsa güzel sonuçlar alınabiliyor. Aşağıdaki resimlerden sağdakinde şeffaf antialising bulunuyor.

Oyun dünyası Directx 11 ile tanışıyor.

Şeffaf AA'nın çalışması için oyunun alpha blend denilen bir tekniğin aynı hem test edilmesi (şeffaf bölüm) hem de kapatılması gerekiyor. Örneğin Valve'nin Source oyun motoru bunu gerçekleştiriyor. Ekran kartı kontrol panelinde "adaptive antialiasing" (AMD) ya da "transparent antialiasing" (Nvidia) özelliğini açarsanız Left 4 Dead, Half-Life 2 oyunlarında bu efekti görebilirsiniz. Ancak alpha blending ve diğer başka teknikler şeffaf AA'nın düzgün çalışmasına engel oluyor. Unreal oyun motorunu kullanan çoğu oyunda bu özelliği açmanın hiçbir faydası olmuyor.

Mozikleme teknolojisi, şeffaf AA'nın pabucunu dama atabilir. Resimdeki örnek olduğu gibi ağaç dalları poligonlarla yapılabilirse bu poligonlara standart multisampling AA uygulanabilir ve şeffaf AA ile uğraşılmasına gerek kalmaz.

Gerçekçilik için ışık ve gölgelerin kullanımı
3d oyunlarda ışık, matematiksel hileler ve gerçek hayatta ışığın davranışının mümkün olduğu kadar taklit edilmesi ile gerçekleştiriliyor. Oyunlardaki en ilginç ışık efektlerinin bir çoğu ise aslında ışın yokluğu ile yani karanlık ve gölge kullanımı ile gerçekleştiriliyor.

Eskiden oyunlardaki gölge kullanımı oldukça basitti; gölgeler hangi açıdan bakılırsa bakılsın aynıydı. Günümüzde ise oyunlar da çok daha karmaşık ışık ve gölge efektleri kullanılıyor. Örneğin ambiyans oklüzyonu adı verilen bir sistem modern oyunlarda oldukça popüler. Ambiyans oklüzyonu sisteminde, gölgelerin yaratılması için objelere ne kadar ışık geldiği ve mesafeye göre ışık ile gölgelerin özellikleri hesaplanıyor. Crysis, bir tür ambiyans oklüzyonu olan SSAO'yu (Ekran alanı ambiyans oklüzyonu) kullanan ilk oyunlardan biri. SSAO tekniğinde ekrandaki bir noktanın diğer noktalara göre konumu tespit ediliyor ve obje üzerine gelen ışık buna göre hesaplanıyor. Objelerin ışığı yansıtması da dikkate alınıyor ayni objeye gelen ışık bir noktadan kesilse bile ilgili diğer noktalardan gelen ışık hesaplanabiliyor.

Gerçek dünyada objelerin doğrudan ışık almayan çatlakları, pürüzleri, girintileri vardır ama tümüyle de karanlık değillerdir. Diğer nesnelerden yansıyan ışığı alırlar. Eski oyunlar bu gerçeği görmezden geliyordu yani çatlaklar, oyuklar ya diğer nesneler kadar parlak ya da tümüyle karanlık oluyordu.

Yeni oyunlarda bulunan diğer ambiyans oklüzyonları ise yüksek çözünürlüklü ( HDAO) ve ufuk temelli (HBAO) teknikler. Bu teknikler aynı temele dayanıyor yani piksellerin diğer piksellere göre konumlarının ışığı etkilemesi. Aşağıdaki resimlerden sağdakinde HDAO tekniği kullanılmış. Sağdaki resimde daire içindeki alanlar daha keskin, detaylı ve derinlik hissi daha iyi.

Oyun dünyası Directx 11 ile tanışıyor.

DirectX 11'in kullanımı ile temas keskinleştirme adı verilen yeni bir teknik de oluştu. Gerçek hayatta gölgeleri incelerseniz, gölgenin objeye yakın kısımda hatlarının daha keskin olduğunu görebilirsiniz. Objeden uzaklaşıldıkça ışık, gölgelik alana sızar. Temas keskinleştirme tekniği ile bu görüntü oluşturulabiliyor. Şu an bu tekniği kullanan tek oyun STALKER: Call of Pripyat

Oyun dünyası Directx 11 ile tanışıyor.

İşlem sonrası efektler
İşlem sonrası denilen aşamada, kareler işlendikten sonra 3D imaja özel efektler eklenir. Bu aşamada özellikle gölgelendirme programları kullanılarak pek çok efekt eklenir.

İşlenmiş karelere efekt eklemek DirectX 9 oyunları ile başladı. DirectX 10 ve DirectX 11 destekli oyunlarda kullanımı arttı. Derinlik hissi, sıcaklık ve ıslaklıkla ilgili değişimler, bokeh (Bokeh fotoğraflarda fokus dışında kalan bölgenin görüntü kalitesini ifade eder. Diğer bir ifadeyle objektifin, net olmayan kısımlarda yarattığı bulanıklığa bokeh, denir.), dinamik fluluk vb. pek çok efekt uygulanabilir. Bunlardan bazıları sahnelere gerçekçilik katabilir. Ateş üzerinde ya da bir çölde havanın değişmesi buna iyi bir örnektir.

Bu tarz efektlerle sinemada ve televizyonda sıkça karşılaşırız. Oyun geliştiricileri bu efektleri ekleyerek oyunları ,sinema filmlerine yaklaştırmaktalar. Örneğin 2009 yılının bol ödüllü oyunu Just Cause 2 için çoğu oyunsever film gibi tabirini kullanmıştır. Aşağıdaki Just Cause 2'den iki sahne bulunuyor. Sağdaki resimde bokeh efekti kullanılmış.

Oyun dünyası Directx 11 ile tanışıyor.

Bokeh tekniğinin kullanılması oyuncuların dikkatinin yakındaki objelere yönelmesini sağlıyor. AMD'nin uğur böceği demosunda tanıtıldığı gibi geliştiriciler efekt üzerinde granül seviyesinde oynama yapabilirler. Bu demoda kullanıcı kullanıcı fotoğraf makinesi kullanır gibi diyafram ayarı yapabiliyor.

Oyun dünyası Directx 11 ile tanışıyor.

Oyun dünyası Directx 11 ile tanışıyor.

Programlanabilir gölge alanında DirectX 11 ile büyük bir adım atıldı. Önceden programcı bir sahneye birden fazla efekt eklemek istediğinde gölgelendirme programı çok fazla büyüyor ve hantallaşıyordu. Artık gölgelendirme rutinlerini ihtiyaç olduğunda kullanılmasını sağlayarak efektlerin daha verimli kullanılması sağlanıyor. Örneğin FPS oyunu Borderland'de dikkatinizin silahınızı doğrulttuğunuz yere odaklanması için alan derinliği kullanılıyor. Silah doğrultunda efekt devreye giriyor ve hedefinizdeki nesne keskinleşirken diğer her şey flulaşıyor.

Oyun dünyası Directx 11 ile tanışıyor.

Oyun dünyası Directx 11 ile tanışıyor.

Performansa etkisi
Geçtiğimiz yıllarda DirextX 10 oyunları hayal kırıklığı yarattı. Görsel efektler, görüntü kalitesine fark yarattı ama performansa da ağır bir darbe indirdi. Peki DirectX 11'in yeni efektlerinin performansa etkisi nedir? Ayrıca işlem sonrası efektlerin etkisi ne olacak? Doğal olarak daha fazla gölgelendirme programının kullanılması performansı etkileyecektir ama ne kadar?
Nvidia GTX 480 ile Just Cause 2, Metro 2033, STALKER: Call of Pripyat üzerinde yapılan testler gösteriyor ki yazı boyunca açıklanan efektler aktif hala getirildiğinde performansa etki ediyor ama oldukça az. DX9'dan DX10 geçerken ki gibi performansta %75-80 oranında bir düşüş olmuyor.

Son sözler
Geçmişte performansla görselliğin karşılaştırılması antialiasing ve anisotropic üzerinden yapılıyordu. DirectX oyun geliştiricilerine yeni olanaklar sundu ama beraberinde performans problemleri doğdu. DirectX 11'in yeni efektleri performansa etki ediyor ama yeni jenerasyon ekran kartları performansta büyük düşüş olmadan yüksek görüntü kalitesinde oynamanıza olanak sağlıyor.

DirextX 11'in avantajlarından faydalanılması zaman alacaktır. İyi haber DirectX 11 grafik işlemcilerinin sayısı hızla artıyor. Her geçen gün de yeni çıkan oyunlar, DirectX 11'in sunduğu özelliklerden kullanıyor. Yani eğer DirectX 11 destekleyen bir ekran kartınız varsa tüm grafik özelliklerini açıp deneme yapabilirsiniz. Oyunlar çok daha iyi gözükecektir.