Što je oktree?

Oktree je digitalna struktura stabla koja se koristi za stvaranje trodimenzionalnih (3D) i poligonalnih kreacija, uglavnom za industriju igara. U strukturi oktree, svaki unutarnji čvor nema djece ili osam djece – ništa između – i svaki podređeni čvor može sadržavati informacije o boji za crveno-plavo-zeleni (RGB) profil boja. Cijela struktura počinje kao jedna kocka, a prazne interne kocke se koriste za informacije o koliziji. Ova struktura je vrlo učinkovita za memoriju jer se u svakom djetetu nalazi relativno mala količina podataka i stablo može biti ograničeno u veličini.

Kada je model napravljen za videoigru, mora imati informacije o teksturi i boji i mora se moći sudarati s drugim modelima. Jedna od struktura koje se koriste u ovoj industriji je oktree. Ponekad se naziva oktobrom, ovo ime označava važnost broja osam u ovoj strukturi stabla. Kao i strukture stabla make, okstablo ima roditeljske i podređene čvorove. Za razliku od drugih stabala, postoji vrlo malo raznolikosti u tome koliko podređenih čvorova može biti napravljeno od roditelja.

Svaki roditelj može uključivati ​​osam čvorova ili nijedan. Obje vrste kocke su važne u stvaranju potpuno renderiranog modela. Najintenzivnije kocke su one s osam čvorova. Svaki unutarnji čvor uključuje informacije o boji i teksturi, tako da model može imati zamršen izgled. Na primjer, ako je model stablo, svaki od unutarnjih čvorova mora uključivati ​​smeđu boju za deblo i informacije o sjenčanju kako bi se stvorila realistična tekstura.

Dok su kocke s osam čvorova važne za okstablo, prazne kocke su jednako važne. Cijela struktura počinje kao jedna velika prazna kocka u koju se mogu naseliti druge manje kocke. Ova se kocka, zajedno s ostalim praznim kockama, koristi prvenstveno za informacije o sudaru. Na primjer, ako jedan model naleti na ovaj model, prazne kocke će reći modelu da ne može napredovati, jer stvara sudar.

Stvaranje ispravnog modela s okstablom je intenzivno i u njega ulazi puno informacija, ali sama struktura vrlo učinkovito koristi memoriju. Jedan od razloga za to je taj što, iako postoji puno kodiranja, informacije su samo informacije o boji i teksturi i stoga su prilično male. Drugi razlog je taj što stablo ima različite razine koje sadrže nepotrebne podatke i, ako se obrezuju, memorija se može još više smanjiti.