Real-time Global Illumination Using Voxel Cone Tracing

I implemented an algorithm that takes advantage of voxel cone tracing in order to render indirect lighting phenomena (global illumination) at interactive frame rates. It supports indirect diffuse lighting, glossy reflections, refractive lighting (transparency), soft shadows, and emissive surfaces at interactive frame rates. It is based on a 2 pass real-time global illumination technique that takes advantage of lighting voxelization and cone tracing to render indirect lighting.

The direct lighting of a scene is voxelized in real-time using the GPU hardware rasterizer. The voxelized lighting is represented using a 3D texture, and filtered linearly using a 3D mipmapping scheme. Voxel cones are then traced throughout the different mipmap levels in order to approximate indirect illumination. 3 different cones are introduced: shadow cones, diffuse cones, and specular cones. The technique is view independent, almost scene independent, and supports fully dynamic environments.

You can read the report here (pdf):
frepr183_voxel_cone_tracing.pdf

… and find the source code here:
https://github.com/Friduric

 

Advertisements