Dynamic global illumination methods


I've been doing research into how to implement dynamic global illumination in my voxel engine.  I have decided on "voxel cone tracing" over "path tracing" for performance reasons.

Here's an example (not my creation) of what voxel cone tracing can do: https://www.shadertoy.com/view/WdlyWs

Comments

Log in with itch.io to leave a comment.

(+1)

Hmm, Whats the difference between conetracing and pathtracing? and how would you implement a cone tracer?

(2 edits)

Some of the responses on this Reddit post explain the differences and nuances better than I could.

I'm still figuring out the details on how to go about implementing it.   Pyramid-tracing  is probably a more accurate geometric term.  For each location in a scene to be lit, six pyramids -- one for each 3D axis aligned cube face direction -- bounds will be traced into the scene accumulating light values based on light sources intersected by said pyramids taking into account light source distance from start of each pyramid.  There's also occlusion at play in the traced pyramid paths.

(+1)

ohh hope its go's good