Kayıt: Nov 02, 2002 Mesajlar: 215 Nereden: Istanbool
Tarih: Mon Dec 09, 2002 4:53 pm Mesaj konusu:
Merhaba. Ben oyun programciliginda yeniyim. Kendi kendime bir oyun yazayim dedim, ama henuz ilk asamalarda bir yerde takildim. \"Nerede takildin\" derseniz (ki muhtemelen dersiniz), ben de \"bakiniz burada\" derim ve isaret parmagim ile kabaca asagidaki satirlari gosteririm.
Level\'imi maya\'dan yapip export ettikten sonra, octree metodu ile minik minik dilimlere bolmekteyim. Sonuc olarak bu dilimler icerisinde bir takim minik minik poligonlar olmakta (dilimlere bolme asamasinda, eger bir node\'un duvari bir poligon ile kesisirse, o poligonu ikiye bolmekteyim; bu iki yeni poligonun biri bir node\'da, oteki diger node\'da durmakta). Bu poligonlar, esyalarin tabiati geregi degisik malzemelerden olusmus olabilmekteler, filhakika her node\'un icinde muhtelif materyaller olmakta.
Gavurlarin \"Octree\" diye isimlendirmekte israr ettikleri bu node yapisini olusturan dilimleri, burada belirtmeye gerek duymadigim bir takim sebeplerin yaninda, frustum culling yapmakta da kullanmaktayim.
Sorum su: Bir frame\'yi cizerken, frustum culling\'i yapan algoritma, bu dilimlerden (yada node\'lardan) bir kismini secmekte, ve render() aldi fonksiyona gondermekte. Mumkun olan en verimli render() fonksiyonunu yazarken,
1 - bu node\'lari z-derinligine gore mi sort edip, sonra index\'lerini render()\'a mi yollamaliyim?
2 - Yoksa poligonlari materyale gore mi sort etmeliyim?(bu olmaz heralde
3 - poligon datasinin AGP yada Video-mem\'de bulundunu var sayar isek, her frame yeni bir index set yaratip, render()\'a bu index set\'ini mi gondermeliyim?
4 - Frustum culling\'den vaz mi gecsem?
5 - Index set yarattigimi var sayar isem, bu index set\'i sort etmeli miyim (materyale gore/shader\'e gore/Z\'ye gore/neye gore?)
Ekstra bilgi olarak:
1 - Level, quake3 level\'lerine benziyor
2 - Otree bolmesini durdurmak icin 1 - [ size < MAXSIZE] ve 2 - [ poly_count < MAXCOUNT ] kullaniyorum.
3 - scene = ~500,000 triangle, scene\'de toplam 4 object var, hepsi asagi yukari 100k triangle. Bu 4 object birlesip o level\'i (ev, oda, salon, vb) olusturuyor.
Ha, ayrica:
1 - D3D ile, vertex buffer size\'imi ne olarak belirlemeliyim, tek bir vertex buffer mi kullanayim, her dilim ayri bir vertex buffer mi olsun?
2 - OpenGL ile, GL_NV_vertex_array_range2 extension\'u ile, wglAllocateMemoryNV ile video-mem kullaniyorum, bu extension\'da glVertexArrayRangeNV() ile context switch yapmak ne kadar yavaslatici bir sey? Bu yavaslamaya katlanabilir miyim?
3 - Poligonlarin hepsi ayni data set\'e sahip degil, bazilari lightmap, bazilari per-pixel bump-map. Toplamda 4 degisik vertex size\'m var (XYZ+TEX0+TEX1),(XYZ+TAN+NORMAL+BINORMAL), vb, vb.
öncelikle hemen şunu söyliim, ben octree leri henüz çok yeni kullanmaya başladım.. sonuçta söyleyeceğim şeyler zaten bilindik ve/veya eksik/yanlis olabilir
octree node larini render ederken vertex array + display list kullanmak hizli oluyor bunu biliyorum.. sort etme olayini ise anlamadim.. aciklayabilirmisin, neden boole bir seye ihtiyacin var... (visible surface det. için ZBuffer kullanmiyormusun??)
Bide ben oyun projemde acik alanda (arazi yuzeyi ve cisimler icin) octree metodunu kullandim.. anladigim kadariyla senin oyun kapali alanlarda geciyor (quake ..).. Kapali alanlar icin en hizli yontem BSP + possible visible sets (PVS) değil mi?? Belki de octree de takılıp kalmamak lasım.. Son olarak D3D mi yoksa opengl mi kullaniyorsun tam olarak anlayamadim sorularindan.. (vertex buffers vs ogl..)
hmz..pek faydalı olamadım sanırım... neyse dedim ya octree olayina yeniyim ).. Bu arada sorduğun bu şeyler şu ana kadar forumlara atılan en kapsamlı + teknik sorular oldu.. Keşke herkes sorunlarına cevap arama yolunu seçse.. yani gören kimsenin bi problemi yok sanacak.. ama ööle olsa ortalık releaze den geçilmezdi değil mi?
Kayıt: Oct 23, 2002 Mesajlar: 286 Nereden: İstanbul/İzmir
Tarih: Fri Dec 27, 2002 10:41 pm Mesaj konusu:
octree de olay zaten dunyayı kuplere bolup sadece bu kuplerden gorunenleri yani frustum icindekileri cizmek diil mi?
Kupleri cizmek derken içindeki polyler yani.
O yuzden frustumdan vazgecmen nasıl olur bilmiyorum.
Ama octree konusu bence de baya ileri bir konu fazla yardım bende de yok yani
Kayıt: Oct 17, 2003 Mesajlar: 1403 Nereden: Jandarma
Tarih: Tue Apr 13, 2004 8:56 pm Mesaj konusu:
oha bi an şok oldum.. o da nullsoft install system kullanmış ama 1.89 mu ne ben galiba 3.5 la basladim.. bi an kendimi onun yerine koydum enterasan.. opengl not supported dedi çalışmadi..
ferit: ekran kartin bayaa bi duduk olmali. tahminen o demo register combiner falan kullaniyo olmali, tam hatirlamiyom, gf3/2 gibi bisiler istiyo olabiler. hirs yapip bikac ayda yazmisti o demoyu. lucy'i sorarsan, bu mesajda artizlik (gavurcasi troll de denebilir) yapiyodu, bi daha gozukmedi bu sitede, istanbulda bi yerde calisiyo..
Kayıt: Oct 17, 2003 Mesajlar: 1403 Nereden: Jandarma
Tarih: Wed Apr 14, 2004 8:41 am Mesaj konusu:
mentat: ekran kartım düdük ötesi... bi onboard var gerci onboardda calisirdi ama.. riva tnt 16mb var ramden yemesin diye arkadasin eski ekran kartini aldim..
P4 Titan GA-8SMMLP Sis 60Gx chipset (sanırım agp 4x den sonrasını desteklemiyo..) buna bi ekran kartı alacagim.. hala karar vermeedim..
-------------
akyalcin bu mesaj 2002 yılında atılmış tarihi bir mesajdı.. demoyu yazan 2. mesajdan sonra ortalardan kaybolmuş.. ben o zamanlar chat aleminde geziniyordum ne buyuk hata... hepsi khaled mardam beyin suçu..
[ Bu mesajı düzenleyen: ferit _FIL 14-04-2004 11:52 ]
Bu forumda yeni konular açamazsınız Bu forumdaki mesajlara cevap veremezsiniz Bu forumdaki mesajlarınızı değiştiremezsiniz Bu forumdaki mesajlarınızı silemezsiniz Bu forumdaki anketlerde oy kullanamazsınız