Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question
up vote 2 down vote accepted

Cyril Crassin just published his thesis on Gigavoxels:

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.

share|improve this answer
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. – Darcara Jan 26 '12 at 19:20

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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