What are some good resources (tutorials, code, papers, etc.) for learning about voxel rendering?
closed as primarily opinion-based by MichaelHouse♦ Jul 19 '13 at 14:36
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.
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/