En octree är en digital trädstruktur som används för att skapa tredimensionella (3D) och polygonala skapelser, mest för spelindustrin. I oktreestrukturen har varje intern nod antingen inga barn eller åtta barn – inget däremellan – och varje barnnod kan hålla färginformation för färgprofilen röd-blå-grön (RGB). Hela strukturen börjar som en kub, och tomma interna kuber används för kollisionsinformation. Denna struktur är mycket minneseffektiv eftersom det finns en relativt liten mängd data i varje barn och trädet kan begränsas i storlek.
När en modell är gjord för ett videospel måste den ha textur och färginformation och måste kunna kollidera med andra modeller. En av strukturerna som används i den här industrin är octree. Kallas ibland ett oktträd, detta namn betyder betydelsen av siffran åtta i denna trädstruktur. Precis som att göra trädstrukturer har okträdet överordnade och underordnade noder. Till skillnad från andra träd finns det mycket liten variation i hur många barnnoder som kan göras från föräldern.
Varje förälder kan inkludera antingen åtta noder eller ingen. Båda kubtyperna är viktiga för att skapa en helt renderad modell. De mest intensiva kuberna är de med åtta noder. Varje intern nod innehåller färg- och texturinformation, så modellen kan ha ett intrikat utseende. Till exempel, om modellen är ett träd, måste var och en av de interna noderna innehålla en brun färg för stammen och skuggningsinformation för att skapa en realistisk struktur.
Medan kuberna med åtta noder är viktiga för en okträd, är de tomma kuberna lika viktiga. Hela strukturen börjar som en stor tom kub, som andra mindre kuber kan bebo. Denna kub, tillsammans med andra tomma kuber, används främst för kollisionsinformation. Till exempel, om en modell stöter på den här modellen, kommer de tomma kuberna att tala om för modellen att den inte kan avancera, eftersom den skapar en kollision.
Att skapa en riktig modell med en okträd är intensivt, och mycket information går in i den, men själva strukturen använder minnet mycket effektivt. En anledning till detta är att även om det finns mycket kodning, är informationen bara information om färg och textur och därför ganska liten. En annan anledning är att trädet har olika nivåer som innehåller onödiga data och om det beskärs kan minnet skalas ner ännu mer.