|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
bilders Guest
|
Posted: Mon Apr 04, 2005 12:48 pm Post subject: Cullings |
|
Noteikti kads no forumniekiem lieto ekraanaa neredzamo objektu izslegsanas algoritmus. Sajaa gadijuma jautajums par octree un quadtree metodeem. Man ir skaidra quadtree un octree datu strukturu uzbuve un implementeshana. Man ir skairds kaa var parbaudiit vai kads konkreets poligns ir redzamajaa frustum. Bet nav skaidrs kaa sis divas lietas saikt kopaa, kaa var piesaistiit kadus poligonus kaadai koka lapai? Tas tiek genertets automatiski vai 'ar roku'? Teoretiski ir pilns nets ar to, bet praktiskus, saprotamus, primitivus piemerus neizdodas atrast. Varbut kads var padalities ar koda gabaliem, a? |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Mon Apr 04, 2005 2:35 pm Post subject: |
|
Protams, ka automātiski. Vienkārši veido rekursīvu meklēšanu, tipa pseidokods: (2d gadījumā - quadtree)
Code: | void Pielikt(Poligons p, Rectangle r) {
// kamēr četrstūris nav par mazs
while (RectangleNotToSmall(r)) {
// sadala apstrādājamo četrstūri r uz 4 atsevišķiem
Rectangle rr[4];
DivideRectangle(r, r[0], r[1], r[2], r[3]);
// meklē kurā ielikt
for (int i; i<4; i++)
if (PoligonInRect(p, rr[i])) {
r = rr[i];
break;
}
}
// pieviento atrastajam četrstūrim
AddPoligonToThisRectangle(p, r);
} |
|
|
Back to top |
|
|
Kamazs Guru
Joined: 17 Jan 2003 Posts: 829 Location: The glorious ancient city of Loja
|
Posted: Mon Apr 04, 2005 3:09 pm Post subject: |
|
A Tev tur nav sintakses kljuuda bubu? r, rr?
Code: |
Rectangle rr[4];
DivideRectangle(r, r[0], r[1], r[2], r[3]);
|
_________________ ...un es uzskatu, ka Fallout ir etalons |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Mon Apr 04, 2005 3:11 pm Post subject: |
|
Protams, ka ir.
Visus atbilstošos r[0], ..., r[4] vajag aizstāt ar rr[0], ..., rr[4]. |
|
Back to top |
|
|
dev
Joined: 27 Jul 2004 Posts: 206 Location: Latvija
|
Posted: Tue Apr 12, 2005 4:13 pm Post subject: |
|
Teorija ta peace of cake, bet mana probleema OctTree ralizaacijaa bija taada, ka pie lieliem poligonu skaitiem (>20 000) dinamisko vertexbufferu buuveeshana katraa kadraa (pie tam viens vertexbufferis uz katru kadraa redzamo matereaalu - t.i. videeji kaadi 10-20 kadraa) saaka pamatiigi ievilkties. + njemot klaat vel multipass rendereeshanu (katrai gaismai pa vienai reizei visu) beigaas freimreits nebuut vairs nelidoja... kaads viedais vareetu uzrakstiit tutoriaali par visu sho lietu optimizaaciju (kaa vinji Unreal engiinee speej izbiidiit tos uuber poligonu skaitus pat uz beediiga Gf2???!!!) |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Tue Apr 12, 2005 4:27 pm Post subject: |
|
Nu nevajag jau katrā kadrā pārģenerēt to octree. Statiskiem objektiem tak tas koks nemaz nemainās. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|