Sparse Voxel Octree Raycasting based Game Development.
Thanks spacerat! Amazing job!
just a hypothetical question: what would the framerate be if all the buddhas were rendered with polygons?
Thats an interesting question.With plain polygons, the scene would have about 40*40*1M=1600M triangles, which would render at about 0.2 fps as my card can do about 350M triangles/sec. However, using LOD meshes and impostors, polygons would be faster I guess - but the automatic generation of LOD meshes is not trivial - also switching between LOD levels without popping artifacts requires some effort. Just yesterday I talked to a designer who still has to model all the LOD by hand. With voxels, LOD can be computed easily and rendered pixel accurate if necessary.
it keeps amazing that you can render such an army of buddha's without crashing performance. so the LOD of the buddhas in the far distance is actually being computed on the fly? is the 640x360 resolution a limitation of fraps? (I ask this because I can't run the demo on my own pc).
Yes, distant voxel columns can render very fast as they have only little vertical expansion. The LOD is computed in a pre-computation step where the voxel data is converted in a run-length-encoding. For distant voxels, "mip-maps" are generated which can render much faster.I chose 640x360 as resolution, as it is perfect for youtube. The executables in the demo all render at 1024x768 though (mostly with 30-40 fps on a GTX 285). I also tried to capture at a higher resolution for the video, but my CPU gave up as it is too slow.. I think the only up-to date hardware in my computer is the GPU :-)
how does it work? is every voxel rendered as a small cube?
Yes - actually is the scene is raycasted in vertical planes, which are perpendicular to the worlds ground plane (x-z-plane) where for each step in x-z the voxels are rasterized as cuboid-like columns from top to bottom. http://www.jonof.id.au/forum/index.php?topic=30https://eprints.kfupm.edu.sa/22135/1/22135.pdf
no more updates?
I hope I can soon post more - right now I am working on a publication of the method.
Good luck with your paper then!