Voxel Cone Tracing global illumination

engines such as unreal 4 and unity (in experimental state at least) are implementing voxel cone tracing based on spherical harmonics and sparse voxel tree generation using GLSL:
the author claims that this approach is only enabled by GLSL 5, and I believe version supported by WebGL at the moment is 2, so likely some of the things would have to be done differently (using FBOs probably). There is a project here on github which claims to implement this technique in C++:
there are also quotations of GLSL code in scientific papers (either the GI ones or GigaVoxel work, i can’t recall).
There is an interesting documentation of implementation of this approach for OpenGL:
I’m interested to know how this would fit within threejs and if there is much of general interest in this topic.
The reason this approach is very appealing as a GI solution is due to the fact that it is more or less fully automatic, except for controlling granularity (smallest voxel size or total number of voxels) – there is not magic involved, designer doesn’t have to place probes manually and control their size by hand.

Author: Fantashit

1 thought on “Voxel Cone Tracing global illumination

  1. I recently implemented this technique in my toy web engine https://novalain.github.io/gi-voxels/. The results are pretty cool but without geometry shaders and imagestore the voxelization step takes way too long (with a decent voxel resolution) – i.e won’t work in real-time yet for dynamic scenes.

Comments are closed.