What are some good resources (tutorials, code, papers, etc.) for learning about voxel rendering?
I recently did some experimentation with voxels for rendering terrain, with support for overhangs. I pretty much used these articles to build my prototype:
- This GPU gems 3 chapter on generating procedural terrain on the GPU. Even though my solution was CPU based (I work with shader model 3, so I couldn't reuse any of their shaders). There's a lot of good information buried in here!
- The wikipedia entry on the marching cubes algorithm. Great set of references, such as to this site that has a good pictorial overview on how things work.
- For any procedural work, you're going to need a good noise library like Lib noise (also has a c# version).
Something to look out for, I could never get normal generation to work correctly once I had generated a mesh from my voxels. If anyone can give any pointers for this, I'd be grateful.
Here is a 10 year old tutorial that goes pretty deep into Voxel rendering as a technology. It's still a good read.
This paper by Jon Olick is pretty interesting: http://s08.idav.ucdavis.edu/olick-current-and-next-generation-parallelism-in-games.pdf
And those two forum threads about it: http://ompf.org/forum/viewtopic.php?f=3&t=904
It gives you a nice overview about how things could be done in a modern voxel engine.
Check this Stackoverflow post for links to Voxel libraries: https://stackoverflow.com/questions/8022123/know-any-voxel-graphics-c-libraries/12583533#12583533
I'm also developing a renderer based on voxel raycasting: http://www.forceflow.be/category/phd/
I developed an out-of-core voxelizer and SVO builder and published paper and code here: http://graphics.cs.kuleuven.be/publications/BLD13OCCSVO/