Godot just got a new feature for the upcoming Godot 4.0 release, SDFGI, or Signed Distance Field Global Illumination. It is described accordingly on the Godot website:
SDFGI stands for Signed Distance Field Global Illumination. It means this technique makes heavy use of Signed Distance Fields (an Euclidean distance based representation of the signed distance function of a grid) to create this lighting.
While implementation is not final, and there will probably be many improvements to quality and performance, it seems to be good enough for general use now.
I would like to thank hugely Matias Goldberg for his enormous help on this, our patrons for their continued support, and Tim Sweeney and Epic Games for their confidence in helping us finance our research via Epic Megagrant. This new technique was developed entirely in the open and implemented under our MIT license, so anyone is welcome to use it in their own engines and games.
Now in terms of what SDFGI actually does:
SDGFI is something akin to a dynamic real-time lightmap (but it does not require unwrapping, nor does it use textures). It’s enabled and it automatically works by generating global illumination for static objects. It does not require raytracing, and it runs in most current (and some years old) dedicated GPUs, even medium-end budget CPUs from some years ago (SDFGI was developed and tested on a GeForce 1060, running at a stable 60 FPS).
Light changes are real-time, meaning any change in lighting conditions will result in an immediate update. Dynamic objects are supported only for receiving light from the environment, but they don’t contribute to lighting. Some degree of support is planned for this eventually, but not immediately.
In the video below, we look at traditional Global Illumination, then show an example of the new SDFGI, including a small tutorial on how to use it. Godot creator Juan Linietsky also has a video on his channel about SDFGI should you wish to learn more.