I recently switched to PC for all graphics work, which allowed me to use OpenGL 4.2+ features and dependent libraries. Which means I’m finally able to try out some modern GI solutions in Unity and Unreal Engine, namely SEGI and Nvidia VXGI. I built Unreal Engine 4.17 VXGI branch from code and played around with some of my favorite scenes.

Here’s this typical Japanese classroom scene, rendered with Redshift.

Rendered with Redshift, model courtesy of Benedikt Bitterli

Here’s the scene lit by a directional light, emissive mesh and multi-bounce inderect light with VXGI. I used mesh distance field shadow instead of traditional cascaded shadow map.

Rendered with Unreal + VXGI

With the help of VXGI, it is very easy to apply artistic control to the render while maintaining (relative) physical accuracy of material and light setup. I noticed that with voxel based GI light leaking happens a lot, and I had to place GI blockers to prevent them. Besides, in axis-aligned scenes such as this one, the default cone orientation tend to introduce huge error in axis directions, which can be overcome by increasing number of cones, but I imagine randomizing those orientations can help.

Rendered with Unreal + VXGI

However, one drawback of voxel based GI is that it loses high frequency details of the geometry, and I can’t get any useful AO from it. I had to use SSAO and distance field AO to compensate, but the inconsistency is quite noticeable.

Rendered with Unreal + VXGI

This is a scene I made to test VXGI in a more dynamic lighting setup.

Rendered with Unreal + VXGI Rendered with Unreal + VXGI

In these renderes I’ve turned on specular cone tracing for reflections, and although there are voxel artifacts on smooth surfaces, it does a decent job on rougher surfaces picking up emissive and bounced light.

Rendered with Unreal + VXGI Rendered with Unreal + VXGI

In conclusion, I’m very happy with the result of VXGI, although it’s such a resource hog, has limitation on scene size and sometimes might look too clean and filtered, I believe there are many cases such as some special purpose renderers and games that will benefit from the workflow and aesthetics of VXGI.