Members Login
Username 
 
Password 
    Remember Me  
Post Info TOPIC: Grafik programlama


Profesyonel Uye

Status: Offline
Posts: 174
Date: Jan 6, 2007
Grafik programlama



Kabus 22 forumlarında birisinin sorusu üzerine yazdığım faydalı olduğunu düşündüğüm bir cevap:

Bir oyun yapımında grafik kalitesi bazı unsurlara bağlıdır, bunlar: gölgelendirmeler, yansımalar, ışıklandırmalar ve polygon sayısı (polygon sayısının türkçesi çokgendir, karakterler, çevre tasarımları 3d modelleme programlarında genellikle çokgenler kullanılarak yapılır) Polygon sayısı ne kadar fazla olursa gerçekçilik daha da artacaktır çünkü daha fazla ayrıntıya yer verilecektir. Gölgelendirmeler, eğer gerçekçilik istiyorsan asla unutulmaması gereken bir kriterdir, gölgesiz bir obje, gerçekçikten tamamen uzaktır. Yansımalar...Yansımalarda gerçekçilik için önemlidir. Günümüzün oyunlarında yansımalar için HDR (High Dynamic Range) teknolojisi kullanılmaktadır, bu teknoloji hem HL2 motorunda hem de Unreal 3 motorunda da desteklenmektedir. Bu hdr teknolojisini daha iyi anlaman için 2 resim koyuyorum, 1. si hdr ı desteklemiyor, 2. ise hdr ı destekliyor, görüntüler FarCry oyunundandır:


Işıklandırmalar...Işıklandırmalar için ise günümüzde PixelShader teknolojisi kullanılmaktadır. Bu teknoloji de son sürüm "PixelShader 3.0" dır. Bu teknolojiyi OpenGL 2.0 da DirectX 9.0 da desteklemektedir. PixelShader teknolojisi adından da anlaşılacağı gibi Pixellerle ilgilidir. Bu teknoloji de oyunlar içindeki bütün pixeller teker teker aydınlatılmaktadır. Günümüzün oyunlarında PixelShader 3.0 desteklenmektedir, ama Crytek in yeni oyunu Crysis'te Microsoft DirectX 10 desteklenmektedir, DirectX 10 teknolojisinde de PixelShader'ın yeni sürümü 4.0 desteklenecektir, yani günümüzün oyunları en son ki teknoloji olarak bugün kabul görüyorsa bu teknoloji en baba teknoloji olarakta adlandırılanabilinir, DirectX 9 ve 10 un arasındaki farkı gösteren 2 resim:


Ve bu da Crysis'in gerçeğe ne kadar yakın olduğunu gösteren bir resim:

Aslına bakarsanız tüm bunların sonucunda DirectX 10 teknolojisinin PlayStation 3'ün grafik kalitesine basacağını söyleyebiliriz çünkü PlayStation 3'te de OpenGL 2.0 teknolojisi kullanılmaktadır. Microsoft DirectX 10 teknolojisi de şimdilik sadece Windows Vista için geliştirilmekte. Ve aynı zaman da DirectX 10'u deskteleyen ekran kartları da daha büyük ve biraz da cebinizi boşaltacak cinsten olacak.

Polygon sayısı konusunda da biraz daha bilgi vermek istiyorum: Dediğim gibi, bir nesnenin polygon sayısı ne kadar fazla olursa gerçekçilik unsuru da o kadar artar, çünkü daha fazla detaya indirilir ve daha fazla polygon ışıklandırıldığı için gerçekçilik unsuru da artar, zaten bunun için 1-2 milyon gibi yüksek polygonlu nesneler çok daha gerçekçi olmaktadır. Oyun yapımında kullanılan karakterler ise maximum 15.000 polygon civarındadır, peki neden? Çünkü 1 milyon polygonlu nesneyi bir 3d programında 1024x768 çözünürlüğünde benim 1 gb ramli 256 mb ekran kartına sahip bilgisayarım bile "saat" birimiyle render etmektedir. Yani bir oyunda 1 milyon polygonlu bir nesneyle oynadığınız zaman o nesnenin tek bir hareketini görebilmeniz 1 saatinizi alacaktır, bu da oyun oynamayı imkansız hale getirecektir :D Bunun için oyunlarda "low-poly" dediğimiz karakterler ve nesneler kullanılmaktadır. Ama karakterlerin daha gerçekçi olabilmesi için de önce bir nesneyi milyon polygonlarla modelleyip ardından normal map tekniğini kullanarak binli polygonlara indirmek, gerçekçiliği arttıran bir unsurdur, normal map desteği de Unreal 3 motorunda desteklenmektedir. Normal map ile polygon sayısı düşürülmesine rağmen, hala milyon polygonluymuş gibi gösterilmeye çalışılmaktadır. Yani gerçekçilik unsurunu arttırmak için normal map tekniği kullanılmaktadır. Aşağıda Unreal oyununda kullanılmış bir karakterin normal map öncesi hali ve sonrası halini görebilirsin(1. si 2 milyon polygon, 2. si ise 5.287 polygon):


Sonuç olarak, aslında "max grafik kalitesi" bilgisayar sistemlerine bağlı bir özellik. Ama en iyisine ulaşmamıza daha var gibi gözüküyor. Half life 2 ve Unreal 3 motorları hakkında bir yorum yapacak olursam: ikisi de aslında FPS tarzı için yapılmış bir oyun. İkisi de farklı 2 şirketin bu kategori için kendi yorumu.2'sinin de grafik kalitesi tartışılamaz ama şöyle bir şey var ki Half-life 2'nin (bence) yapay zeka ve fizik unsurları daha gelişmiş durumda. Fakat yeni Unreal oyunu bunun aşağısında kalacak gibi gözükmüyor, yeni oyunlarında yapay zekayı çok daha gelişmiş halde karşımıza sunmak istiyorlar; yani siz mikrofondan bilgisayar takım arkadaşınıza "git arkayı kontrol et" dediğiniz de "biraz önce kontrol ettim" gibi bir cevap alabilmeniz mümkün olacak. Tabii ne kadar iyi olacağı tartışılır ama Microsoft'un bunun üzerinde yıllardır çalıştığı da işin gerçeği (bu yapay zeka unsurunu Microsoft'la beraber geliştirmekteler). 2 oyun motoru da satılıyor, evet. Half-life kaça satılıyor bilmiyorum ama Unreal 3 motoru 350.000 $'a, Doom 3 motorunun ise 500.000 $ a satıldığını biliyorum.


__________________
Öyle uzağım ki o incecik yakan sesine, ağlasam şimdi, göz yaşlarım düşmez yalan hevesine...


Profesyonel Uye

Status: Offline
Posts: 174
Date: Jan 7, 2007

Bir de oyunlarda anti aliasing filtresi vardır, bu sistemde oyundaki nesnelerin düzgün bir şekilde görünmesini sağlar, yani çapraz şekildeki bir cisim, tırtıklı görünebilir ama anti aliasing sayesinde düz görünmesi sağlanır:



__________________
Öyle uzağım ki o incecik yakan sesine, ağlasam şimdi, göz yaşlarım düşmez yalan hevesine...


Uye

Status: Offline
Posts: 9
Date: Feb 13, 2007

rodney bn yeniyim bana yardımcı olursan sevinirim şimdiden saol

__________________


Acemi

Status: Offline
Posts: 3
Date: Feb 20, 2007

abi sen aşmışın ya



__________________


Uye

Status: Offline
Posts: 6
Date: Jun 22, 2007

mükemmelsin karde

__________________


Profesyonel Uye

Status: Offline
Posts: 174
Date: Jun 22, 2007

Yorumlar için teekkürler

__________________
Öyle uzağım ki o incecik yakan sesine, ağlasam şimdi, göz yaşlarım düşmez yalan hevesine...


Orta seviye uye

Status: Offline
Posts: 60
Date: Jul 29, 2007

bu konuda master yaptin heralde abicim tebrikler:)

__________________

Page 1 of 1  sorted by
 
Quick Reply

Please log in to post quick replies.

Tweet this page Post to Digg Post to Del.icio.us


Create your own FREE Forum
Report Abuse
Powered by ActiveBoard