sparse voxel octree

Started by
2 comments, last by gboxentertainment 11 years, 6 months ago
Would there be a problem in having every node a separate file?

Im sorta heading in this direction because im not sure how I would generate the information without making it back to front, I mean, make all the lower level nodes first, then go back from there to the top, that means I would write the file backwards, start at the bottom of the tree, then make my way to the first level at the end of the file.

Thats not such a big problem, but how do I insert more voxels into the tree without disturbing the formation already inside it? (8 bits per node)

actually maybe id have trouble making the svo back to front too.
Advertisement
nah i think it would make too many files, ill try integer pointers.
Maybe make it so that inside a single file, the nodes can be scattered all around, but they can also point to other files.

For example if you have a file containing the root and its possible child nodes, the child nodes could point to other files which contain their descendants (which might point to more files)

That might work. If you make the files small enough you could do it without scattering them all around the file but that requires moving all the nodes around in the single file when adding or removing nodes (might not be that bad)

o3o

Has anyone read that chapter by Cyril Crassin in OpenGL Insights on sparse voxel octrees?
He starts off by voxelizing the scene, storing the voxels into a buffer and then using the voxels in that buffer to build the octree - this is all done on the gpu using thousands of parallel threads. At each level, it appears that he tests all the voxels against each axis to determine which child node they fall in - but doesn't add the voxels to each node due to the memory limitations of the gpu (this would probably require a separate buffer object for each node). Which seems that for n levels, the performance cost would be linear.

This topic is closed to new replies.

Advertisement