Screen Space Global Illumination in Eevee

There’s an addon that implements SSGI using only built-in shaders. I like their hack and find the idea to be very elegant. I’m sure it is somewhat possible to implement as an Eevee rendering option, and it can become even more effective.

On the other hand SSGI has its own inherent problems and it is barely compatible with light probes. With RTX coming to the scene it becomes even less of a priority.

So, is there a plan/need for SSGI in Eevee?

2 Likes

I would think SSGI (no shader based) should be implemented along with the probe based “bounced” light, natively. I doubt OpenGL will have raytracing, and the road to Vulkun based raytracing is still a long way off. For higher quality Eevee renders, there should be some kind of intermittent solution between the two bridges of OpenGL and Vulkan.

Godot 4’s new SDF-GI looks fantastic, and is MIT licensed. It does multiple color bounces with almost zero bleed, no baking.

Been slow playing with the early alpha builds and its very very promising.

12 Likes

As far as I know, Unreal Engine also leverages SDFs for GI. Overall there are basically just three real-time GI methods:

  • Voxel-based (as in Godot): video, paper and etc.
  • Based on dynamically updated probes (such as RTX): video and paper.
  • Screen-space GI.

Here’s Johnny showing the difference.

5 Likes

I think they are planning on brute force ray-traced global illumination once moving to Vulkan. SDF’s does actually have an issue with light-bleeding on very thin surfaces which might still get some complaints similar to the current probe system.

2 Likes

Voxel-based (as in Godot): video 2, paper and etc.

This is also the method used in Marmoset Toolbag. I like the hassle-free nature of this approach. No fiddling with probes and probe settings.

2 Likes

Toolbag 4 now uses raytraced GI. Voxel GI is under legacy mode and has a limited draw distance and resolution due to the nature of voxels. I think Eevee should embrace RT as well.

2 Likes

Well, some other people like me have bought this year non-RTX laptops which are still sold, the 1600 series, and the 1000 series are still relatively new for many, we expext many of these cards to be used for years to come, my previous laptop was 9 years old for instance. Godot uses some form of voxel GI whose performance was greatly improved by 900 series cards, and I don’t even know if AMD has something similar to RTX cores for PC yet.

Eevee is not a game engine that has to produce interactive products deployed on lower end devices, it is an offline render engine. If you need to access these features to render animations or stills, then nvidia has already unlocked driver level “software” raytracing on Pascal, AMD will likely do similar. While not ideal for interactive framerates such as games, it should probably suffice for rendering in eevee with no hardware RT. The existing probe system will likely continue to be a fallback if necessary into the distant future.

2 Likes