Co to jest oktree?
Oktree to cyfrowa struktura drzewa używana do tworzenia trójwymiarowych (3D) i wielokątnych kreacji, głównie dla branży gier. W strukturze oktetu każdy węzeł wewnętrzny nie ma dzieci ani ośmiu dzieci - nic pomiędzy - i każdy węzeł potomny może przechowywać informacje o kolorze dla profilu kolorów czerwono-niebiesko-zielonego (RGB). Cała struktura zaczyna się jako jedna kostka, a puste informacje wewnętrzne są wykorzystywane do informacji o kolizji. Ta struktura jest bardzo wydajna pod względem pamięci, ponieważ w każdym dziecku jest przechowywana stosunkowo niewielka ilość danych, a rozmiar drzewa może być ograniczony.
Kiedy model jest stworzony do gry wideo, musi mieć informacje o fakturze i kolorze oraz musi kolidować z innymi modelami. Jedną ze struktur stosowanych w tej branży jest oktawa. Czasami nazywana oktawą, nazwa ta oznacza znaczenie liczby osiem w tej strukturze drzewa. Podobnie jak make struktury drzew, oktree ma węzły nadrzędne i podrzędne. W przeciwieństwie do innych drzew, istnieje bardzo niewielka różnorodność w liczbie węzłów potomnych, które można wykonać od rodzica.
Każdy rodzic może zawierać albo osiem węzłów, albo żaden. Oba typy kostek są ważne przy tworzeniu w pełni renderowanego modelu. Najbardziej intensywne kostki to te z ośmioma węzłami. Każdy wewnętrzny węzeł zawiera informacje o kolorze i teksturze, dzięki czemu model może mieć zawiły wygląd. Na przykład, jeśli model jest drzewem, każdy z wewnętrznych węzłów musi zawierać brązowy kolor pnia i informacje o cieniowaniu, aby stworzyć realistyczną teksturę.
Podczas gdy kostki z ośmioma węzłami są ważne dla oktetu, puste kostki są równie ważne. Cała struktura zaczyna się jako jedna duża pusta kostka, w której mogą zamieszkać inne mniejsze kostki. Ta kostka wraz z innymi pustymi kostkami służy przede wszystkim do informacji o kolizji. Na przykład, jeśli jeden model wpadnie na ten model, puste kostki poinformują model, że nie może przejść dalej, ponieważ powoduje kolizję.
Stworzenie odpowiedniego modelu z oktawą jest intensywne i wpada do niego wiele informacji, ale sama struktura bardzo wydajnie wykorzystuje pamięć. Jednym z powodów tego jest to, że chociaż jest dużo kodowania, informacja jest tylko informacją o kolorze i teksturze, a zatem raczej niewielka. Innym powodem jest to, że drzewo ma różne poziomy, które przechowują niepotrzebne dane, a jeśli zostanie przycięte, pamięć może zostać jeszcze bardziej zmniejszona.