Meet my octree world:
My end goal is to have this world destructible, and I am having an issue warping my head around how this can be done when you have LOD. The basic principle of LOD (as I understand it) is to collapse nodes that are further away from the camera (removing them from RAM completely), and divide nodes that are closer (allocating new memory in RAM), by doing this you only have X amount of memory allocated at once.
The issue arrives when you think about how to generate the LOD back after collapsing the tree. The only way I can think of is to use the same Noise function to sample the tree at the node you are dividing (like in the initial generation of the world) and use that to figure out how the children of the tree need to look.
But what happens when a user has modified that node beyond the Noise function? How can you collapse the tree and then divide it down again while restoring the user's modifications?
(Is the only way to keep separate track of all voxels changed by the user?)
That's all folks, thanks :)
(Language: C++)