Voxel GI implementation!

Hey there!

For the last few weeks I’ve been working on implementing voxel cone tracing based global illumination for Xenko, and it’s at a stage where it’s kinda working :D. Voxel cone tracing allows for approximate real-time global illumination (bounce lighting, area lights, emissive objects, etc) without any pre-computation or manually placed light probes or whatnot, at the cost of frame rate and memory usage.

Here’s a comparison screenshot:
GI Off


GI On

There are many more features that I’m intending to add, feel free to check out the Git Hub page for a fuller list and also more detailed explanations on how it all works, and instructions for if you want to test it out yourself!

Git Hub Repository

It’s not optimized at all yet, so I only get 40fps at 720p on my GTX 750ti (albeit with the overhead of running a Windows build through WINE on Linux).

It is my hope that this can be integrated into the Xenko codebase at some point. So while I’ve been writing it just as scripts in a Xenko project, I’m also making sure it’ll be really easy to merge in to the engine properly if it’s accepted.

I’d love if any of the devs would be able to take a look and share any thoughts they have on how viable it would be to merge it when it’s further developed.

Thanks!

8 Likes

Impressive work @spike1. It is so cool to see someone just taking their own path and producing something so complex but beautiful. Keep up the good work.

Thank you for the implementations this useful feature!

this is a great job! Thanks for your work!

Wow, great job!
Impressed you managed to do all that without much help on Xenko internals!