Sparse Voxel Octree ( SVO , russisk Sparse voxel octree ) er en softwareteknologi, der giver dig mulighed for effektivt at forfine gengivne objekter og effektivt behandle punktskyer .
SVO er en regulær hierarkisk datastruktur baseret på et almindeligt 3D-gitter. Den første træknude, root , er en terning, der indeholder hele objektet. Hver node har enten 8 børn eller ingen børn. Disse 8 børn danner 2x2x2 regulære underafdelinger af forældreknuden. En node med børn kaldes en intern node , en node uden børn kaldes et blad . Som et resultat af alle underinddelinger opnås et regulært tredimensionelt gitter af voxels, dog indeholder ikke alle voxels dele af objektet, derfor vil sådanne voxels ikke være indeholdt i det oprettede træ , det vil sige, at træet vil være sparsomt . For ikke at behandle en tom voxel hver gang, bruges et oktre i stedet for et gitter , det har også information om voxel-indeksering og giver dig mulighed for optimalt at finde voxel-naboer og anden information.
"Sparse Voxel Octree" bruges som en datastruktur i " CryEngine 3 " spilmotoren fra det tyske firma Crytek . I modsætning til dets klassiske formål bruges SVO i CryEngine 3 ikke til at gemme voxels, men til at gemme polygoner og "bagt" geometri og teksturer af niveauet under dets eksport. Crytek valgte SVO-teknologi, fordi den i modsætning til virtuelle teksturer ikke kræver GPU-beregninger, giver automatisk og korrekt oprettelse af detaljeringsniveauer (LOD) , giver mulighed for at skabe adaptive geometriske og teksturdetaljer afhængigt af gameplayet , og også takket være det er meget let for hende at administrere og streame geometri og teksturer (indlæser dem i realtid, mens applikationen kører). Der blev dog noteret et stort hukommelseskrav til SVO. For at eliminere denne mangel brugte Crytek aggressiv teksturkomprimering og anvendte SVO ikke på hele niveauet, men kun på visse dele af det. [en]
Ifølge Crytek kan "Sparse Voxel Octree" sammen med "Sparse Surfel Octrees" blive en af nøgleteknologierne til lagring og præsentation af data i real-time computergrafik i fremtiden. Dens vigtigste fordele og ulemper blev fremhævet. [en]
Fordele [1] :Træ (datastruktur) | |
---|---|
Binære træer | |
Selvbalancerende binære træer |
|
B-træer | |
præfiks træer |
|
Binær opdeling af rummet | |
Ikke-binære træer |
|
At bryde rummet op |
|
Andre træer |
|
Algoritmer |
|