The need for Lumen

General / 18 May 2020

I have been working with cryengine for many years, and besides many problems, its lighting system is very efficient for artists. Indeed everything is in real time, WYSIWYG as we (don’t) say, no need for baking, no need for long waiting time, no need to care about lightmaps. At the time, in 2007, it seemed like the future.

Since the introduction of SVOGI few years ago, it’s even simpler. You have a realistic lighting, with sky light and GI, diffuse and specular, just by the push of a button (and a little bit of tweaking).

The system isn’t precise for very small assets, but is perfect for games, because games are big.

I made this little demo in 2015, you can download it here for free.

I never used UE4 before, but followed its impressive development. But its lighting tech kept me away, it still needed long lighting building waits, and special care to assets.

Raytracing enters the chat.

Being production ready with 4.25, I spent few days working with it. The results are amazing in small scenes with limited polygons, but sadly, for a large scene with large meshes, lots of polygons, and mostly interiors, the result is a lot of noise and performance heavy.

Raytracing used for Sky Light and GI. Brute force 2 bounces 6 spp

In my opinion, raytracing GI is not ready for games yet on a large scale, because of its performance cost. Few games have been released with it, and I expect the same pace for the next few years. The hardware just isn’t powerful enough yet. More efficient systems exists for a very similar results, for any game to use it, even on low end hardware. And that’s the key, natural light for any game, with acceptable performance cost. 

A Sparse Voxel Octree is a simplified representation of the geometry, where the lighting calculations are cheaper. Combined with screen space more precise methods, results are amazing. That’s the path Epic chose to go with Lumen, and I’m very happy with that decision. That it uses a SVO or distance fields doesn’t really matter, as long as artists can express themselves and iterate faster, the players will have a better looking game in the end. 

Graphical features in video games always make trade off between accuracy and performance, and GI being particularly expensive, brute force raytracing doesn’t seem to be the right solution yet.

From the Petra scene I made, UE 4.25, fully lit by raytracing

I know that for many game developers that worked for years with the UE this will be a game changer, it will eliminate many painful processes that took valuable time away from them, time that could have been used for gameplay or quality purposes, from which the players can benefit. 

Imagine building a world that have already accurate natural lighting, without the need of caring about lighting, it just works when you activate it, and the scene you work in, is actually the one you ship.

I can’t wait for Lumen to be released for developers, I’m sure it will allow more beautifully lit games to be made, allow us to push the boundaries towards realism, and even allow more gameplay concepts around light.