2
\$\begingroup\$

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?

\$\endgroup\$
2
\$\begingroup\$

Cyril Crassin just published his thesis on Gigavoxels: http://maverick.inria.fr/Publications/2011/Cra11/

I'm sure it's going to answer lots of your questions.

Sorry for not being able to help you myself, I thought pointing you to this reference would be useful though.

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ Thanks, that is a very good in-depth resource. I'll leave the question open for a bit though, maybe someone else can answer it more directly. \$\endgroup\$ – Darcara Jan 26 '12 at 19:20
0
\$\begingroup\$

More recent work by Laine (Nvidia) and source code here: http://research.nvidia.com/publication/efficient-sparse-voxel-octrees-analysis-extensions-and-implementation

| improve this answer | |
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.