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 Answers 2

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.

\$\endgroup\$
1
  • \$\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
    Commented Jan 26, 2012 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

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .