En dator är dum dum burk men med stor potensial. Det kluriga med realtids-3d-programmering är att allt ska gå fort. För att det ska gå fort ska inte datorn beräkna massa onödiga beräkningar på sånt som inte är synligt i skärmen för tillfället. dvs. regel nummer ett:
Allt som inte syns ska INTE finnas!
Detta kallas CULLING.
Min terräng måste vara intelligent dvs, bara de delar av terrängen som för tillfället syns på skärmen ska beräknas och renderas! Detta är inte så lätt som det låter eftersom en terräng är som ett stort rutnät av trianglar som man inte bara kan klippa i hur som helst.
CULLING är A och O i spelprogrammering eftersom det är avgörande för om ett spel kommer bli spelbart i slutändan.
Den teknik jag ska använda för culling heter Quad-Tree culling, dvs terrängen kommer från början dela upp sig i 4 mindre terräng-partitioner som i sin tur delar upp sig i 4 partitioner var så det blir 16, som i sin tur delar sig osv.
Till slut kommer terrängen bestå av en jäkla massa små partitioner i lämplig storlek.
Varför? JO istället för en stor terräng så skapar jag en massa mindre terräng-partitioner som är självtänkande men ändå sammarbetar med varnadra. Varje partition ska känna av om den befinner sig i synfältet och beräkna sig själv om den gör det. Annars ska den INTE beräkna sig själv.
Resultatet blir att bara de partitioner som finns i synfältet kommer beräkna sig själva och skapa en terräng inte EXISTERAR bakom kameran. Coolt va? Det är inget som en spelare märker med är fullständigt nödvändigt för att ett spel ska fungera
läs mer om quadtree-culling: http://en.wikipedia.org/wiki/Quadtree
måndag 27 oktober 2008
Prenumerera på:
Kommentarer till inlägget (Atom)
Inga kommentarer:
Skicka en kommentar