Mis on oktree?

Oktree on digitaalne puustruktuur, mida kasutatakse kolmemõõtmeliste (3D) ja hulknurksete loomingute loomiseks, peamiselt mängutööstuse jaoks. Oktrestruktuuris pole igal sisemisel sõlmel lapsi või kaheksa last – ei midagi vahepealset – ja iga alamsõlm suudab hoida värviteavet punase-sini-rohelise (RGB) värviprofiili jaoks. Kogu struktuur algab ühe kuubikuna ja kokkupõrketeabe saamiseks kasutatakse tühje sisekuubikuid. See struktuur on väga mälusäästlik, kuna igas lapses on suhteliselt väike kogus andmeid ja puu suurus võib olla piiratud.

Kui mudel on tehtud videomängu jaoks, peab sellel olema tekstuuri- ja värviteave ning see peab suutma põrkuda teiste mudelitega. Üks selles tööstusharus kasutatavatest struktuuridest on oktree. Mõnikord nimetatakse seda okt puuks, see nimi tähistab numbri kaheksa tähtsust selles puustruktuuris. Nagu make-puustruktuuridel, on ka oktrel ema- ja alamsõlmed. Erinevalt teistest puudest on väga vähe erinevusi selles, kui palju alamsõlme saab vanemast teha.

Iga vanem võib sisaldada kaheksat sõlme või mitte ühtegi. Mõlemad kuubitüübid on olulised täielikult renderdatud mudeli loomisel. Kõige intensiivsemad on kaheksa sõlmega kuubikud. Iga sisemine sõlm sisaldab teavet värvi ja tekstuuri kohta, nii et mudelil võib olla keerukas välimus. Näiteks kui mudel on puu, peavad kõik sisemised sõlmed sisaldama tüve pruuni värvi ja varjutusteavet, et luua realistlik tekstuur.

Kui kaheksa sõlmega kuubikud on oktpuu jaoks olulised, siis tühjad kuubikud on sama olulised. Kogu struktuur saab alguse ühest suurest tühjast kuubist, mida võivad asustada ka teised väiksemad kuubikud. Seda kuubikut koos teiste tühjade kuubikutega kasutatakse peamiselt kokkupõrketeabe jaoks. Näiteks kui üks mudel põrkub selle mudeliga kokku, ütlevad tühjad kuubikud mudelile, et see ei saa edasi liikuda, kuna see tekitab kokkupõrke.

Oktpuuga korraliku mudeli loomine on intensiivne ja sinna läheb palju infot, kuid struktuur ise kasutab mälu väga efektiivselt. Selle üheks põhjuseks on see, et kuigi kodeerimist on palju, on teave ainult värvi ja tekstuuri teave ning seega üsna väike. Teine põhjus on see, et puul on erinevad tasemed, mis hoiavad mittevajalikke andmeid ja kui kärpida, saab mälu veelgi vähendada.