I'm currently doing research into building my own voxel engine and found a lot of articles mentioning SVOs as the best mechanism. I just wanted to know that I understood the algorithm correctly, before I implement it.
I read my data into an octree on the CPU, maintained through standard node->children constructs. With that I can do collision detection, frustum culling, etc.
For rendering the octree is then written to a texture and processed by vertex and pixel shader to display the actual voxel directly on the GPU. Although I guess I could walk the octree on the CPU, and instead of building the texture, draw the individual voxels through instancing although probably a bit slower.
Is that correct or did I misunderstand?