dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

Cullings

 
dev.gamez.lv Forum Index -> Grafikas programmēšana un teorija
View previous topic :: View next topic  
Author Message
bilders
Guest





PostPosted: 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
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: 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
View user's profile Send e-mail
Kamazs
Guru
Guru


Joined: 17 Jan 2003
Posts: 829
Location: The glorious ancient city of Loja

PostPosted: 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
View user's profile Send e-mail Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: 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
View user's profile Send e-mail
dev



Joined: 27 Jul 2004
Posts: 206
Location: Latvija

PostPosted: 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... Sad kaads viedais vareetu uzrakstiit tutoriaali par visu sho lietu optimizaaciju Very Happy (kaa vinji Unreal engiinee speej izbiidiit tos uuber poligonu skaitus pat uz beediiga Gf2???!!!) Smile
Back to top
View user's profile Visit poster's website MSN Messenger
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: 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
View user's profile Send e-mail
Display posts from previous:   
dev.gamez.lv Forum Index -> Grafikas programmēšana un teorija All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
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