This week I gave a talk at the NVIDIA GPU Technology Conference about a fast sparse voxelization technique that I worked on at NVIDIA in the context of my real-time global illumination approach (using voxel cone-tracing inside a sparse voxel octree).
Slides: (PPTX, 50MB), (PDF, 7MB)
Video (if you want to enjoy my french accent): http://www.gputechconf.com/
In this talk I first give an overview of the real-time GI approach, before quickly detailing the new GPU voxelization and octree construction algorithm.
This sparse voxelization technique will be published in the OpenGL Insights book that will be out for Siggraph.
[UPDADE 07/12] The book chapter in OpenGL Insights has been published online here.
May 18, 2012 at 6:45 PM
Amazing stuff & can't wait for the book. Curious -- "120 fps at 150x150, 16 at full HD" -- is this the *cost* of the algorithm, or the performance a scene of unknown complexity can achieve -- at best, at worst? Also ... where those numbers achieved on next-gen (Kepler) or current-gen (say Fermi) GPUs? The illumination looks incredible, excellent achievement.
May 18, 2012 at 6:49 PM
Thanks !
That's just the speed this point of view on this scene is running at these resolutions. It was achieved on a GK104.
June 1, 2012 at 2:45 AM
Fantastic presentation! I've been looking for a sparse octree construction implementation on the GPU for a while and your presentation made it do easy to understand. Keep up the great work!
June 12, 2012 at 1:31 PM
Awesome.
I have heard a variation of this technique is used in Unreal Engine 4 for all the lighting.
November 9, 2012 at 12:20 AM
Hi Cyril,
I've read your OpenGL Insights chapter. How does your new method of subdividing nodes using a shared atomic counter compare with the older method of creating an octree using Morton-order (Z-order curves) sorted nodes?
November 20, 2012 at 6:55 PM
how do you distribute your cones over the hemisphere?? - I'm kind of stuck at that
February 16, 2013 at 8:57 AM
Hi Cyril,
In one of your talks, you demonstrate your cone traced shadowing effect using a scene of a dragon. What resolution are you using for that scene?
When I perform cone traced shadows on my test scene, I get good soft penumbras, but the parts closer to the object are noticeably voxelized, even at high voxel resolutions - they are nowhere as smooth as yours.
Additionally, I get voxelized self-shadowing artifacts and if I use a cone with a smaller diameter, the centre of the shadow is not shadowed due to my use of surface voxelization.
However, the way I do my voxel cone tracing is different to yours - instead of splatting light into the 3d texture, I cheat by voxelizing a scene that already has lighting in it.