Do you plan on adding voxels?

Dec 4, 2012 at 11:13 PM

I see you added volume rendering.Do you plan to expand it even more and add some sort of voxel octrees?As far as I know they're good for terrain and indirect illumination,but so far I've only managed to do voxel terrain in a kd-tree on the CPU.Not sure how exactly to do it on the gpu xD

Coordinator
Dec 8, 2012 at 9:15 PM

Technically, with volume rendering I am already including voxel rendering :P

But the real answer to your question is no - I don't have any plans to add CPU side voxel representations, at least not right now.  If you have something in mind, I would be happy to hear your ideas though!

Feb 4, 2013 at 3:19 AM
Well it's not really my idea,what I was thinking about was John Carmack's idea to voxelize all geometry and textures and use it as a LoD system,since he said tessellation has no future or something like that.However I'm not sure how to use a sparse voxel octree in HLSL,when it doesn't allow recursion...
Coordinator
Feb 5, 2013 at 2:17 AM
Even if it doesn't allow recursion, you can still do iteration in a dynamic loop. This is the same concept as found in Parallax Occlusion Mapping - you basically just perform a search over the texture structures and hop out of the loop if you find what you are looking for. If not, then you can move to the next texture.

I haven't ever implemented such a scheme, but it would take a lot of memory to switch all of the geometry and texture to volume based data structures...

If you get something up and running I would love to see it!
Feb 5, 2013 at 4:32 PM
Edited Feb 5, 2013 at 4:34 PM
Ok I'm just not sure - once I voxelize a mesh,do I need to turn it into polygons again or am I supposed to render the model composed billions of cubes each with 1 color?Or marching cubes?The way they explain it here http://www.unrealengine.com/files/misc/The_Technology_Behind_the_Elemental_Demo_16x9_(2).pdf "Filter and
Finalize" I'm guessing they aren't turning it back into a mesh,so it's just like one super ultra dense volume,so dense you can't see it's made of cubes,right?(I sure hope that's not the cause,cause it would wreck my GPU ._.)So Carmacks idea would be to pre-voxelize 10 million-poly models before the game ships and store them in uh.. .voxel files xD and then stream them like he did with megatextures?
Coordinator
Feb 6, 2013 at 2:50 AM
Yeah, I'm not directly familiar with the techniques described in that paper, but there is certainly no reason to re-tessellate to a mesh when you are using volume data already. As you can see in the VolumeRenderer sample, you can produce non-polygon based renderings even though you have a uniformly distributed grid of values. This is a common benefit of the voxel representation - it defines a surface implicitly rather than explicitly (like polygons do).