Table of Contents
What is global illumination, what forms does it come in, and why should or shouldn’t you enable it in your games? Today, I’m going to break down all of these questions and more so that by the end of this article, you’ll have a more thorough understanding of what global illumination is and how it works. Let’s dive into it!
What is Global Illumination?
First, let’s explain the basic concept of Global Illumination.
In the real world, light rays travel and bounce off of surfaces countless times before dissipating. As a result of these light bounces, the color of the resulting bounce lighting is going to reflect (or refract) the surface it’s bouncing off of. In the graphic above from Digital Foundry’s explanation, that’s the reddish lighting coming off of the rock.
Now, let’s use a real-life photo as an example:
In real life, Global Illumination is present all the time. In the photograph above, direct light source (The Sun) illuminates a stained glass window, resulting in various different colors of visible, indirect light shining through to illuminate the inside of the room in various shades.
Without the presence of proper Global Illumination, games can only roughly imitate effects like this. Most of the time when a light source is glowing with a different color in a video game, this is done through the usage of baked (pre-calculated) lighting that determines the color of that specific light source but interacts with nothing else. And since this baked lighting can’t be used for realistic bounce lighting on moving objects, it’s missing some of the visual fidelity that would come with accurate-to-life bounce lighting.
What is Screen Space Global Illumination?
Screen Space Global Illumination, as the name implies, is Global Illumination simulated through screen space effects. This means that all of your Global Illumination calculations are going to be made based on what is visible on your screen at the time, not the entire scene and objects that are off camera. Generally, Screen Space Global Illumination is used alongside pre-baked lighting in order to provide a convincing image.
Unfortunately, like other screen space effects, SSGI is fundamentally limited in accurately achieving the goal its made to accomplish, and still fairly costly on CPU and GPU resources.
What is Ray-Traced Global Illumination?
Ray-Traced Global Illumination is Global Illumination accomplished through real-time ray-tracing.
On paper and in practice, this is the only way to achieve truly realistic Global Illumination in a game, since real-time ray-tracing tech is not limited by screen space for making its intense, detailed lighting calculations. Only by fully simulating light rays and their bounces within a scene can you achieve this level of fidelity. I’ve embedded a video of RTGI alongside other real-time ray-tracing effects enabled in Cyberpunk 2077 below to highlight the visual differences made possible by this:
How can Ray-Traced Global Illumination achieve such transformative results compared to Screen Space Global Illumination? Let’s dive into the reasons why.
The Difference Between Screen Space and Ray-Traced Effects
The difference is tied directly into the name.
Any “Screen Space” effect— Global Illumination, Reflections, Ambient Occlusion— is being calculated solely through information available within that “Screen Space”. Anything outside of your in-game field of view cannot be accounted for, and the more intense these Screen Space effects become, the more they tax the hardware and risk slowing the game down. Often these effects also have other limitations, like not accounting for player characters or other moving objects.
Ray-Traced effects also require significant processing power, and the presence of dedicated real-time ray-tracing hardware. The trade-off you get in return is massively improved accuracy in terms of bounce lighting, reflections, refractions, and other realistic interactions between light and surfaces in a scene.
Should I Enable Global Illumination?
If you can enable Global Illumination, even at a lower setting, without experiencing unplayable framerates you absolutely should! Global Illumination can go a long way in making an image look more realistic and convincing to the eye, helping you get more deeply immersed into your favorite games.
If you’re playing a game where Global Illumination can be disabled, doing this should net a significant performance gain at a high cost to your visuals. In intense multiplayer games and eSports this might matter less in the pursuit of performance, but for single-player games and story-driven experiences it may be more of a detriment than it’s worth to disable this feature.
Settings To Enable With Global Illumination
Here are a few other settings I recommend enabling alongside Global Illumination, if they are available:
Ambient Occlusion is complex enough to be its own article, and it will be soon, but for now the main thing to understand about it is that it deals heavily with your shading and shadows. Ambient Occlusion will widen the range of “soft” (lighter) and “hard” (darker) shadows that can be displayed in a scene, which pairs well with Global Illumination for realistic, convincing lighting. Ambient Occlusion is needed to make objects look like convincing parts of the scene they’re in, especially scenes with multiple shadows from one or more light sources.
Another key setting to pair with Global Illumination is reflections, especially ray-traced reflections, though screen space reflections are also good in a pinch. A key part of realistic lighting includes reflections, or how lights reflect off of surfaces. Convincing reflections, especially through real-time ray-tracing, can go a long way in adding authenticity to a scene.
Last but not least, let’s talk about a performance setting instead of a visual setting for once.
If you’re going to be enabling Global Illumination and other performance-intensive settings to improve the visual quality of your games, you may find yourself hurting for framerate in exchange for those visuals. As long as enabling these settings hasn’t reduced your performance below playable framerates entirely, you now have a great backup option to fall upon: resolution scaling.
In-game resolution scaling or external scaling through DLSS or FSR will enable you to enjoy the performance of a lower render resolution at the rough quality of an upscaled higher resolution, usually native. I recommend keeping in the range of 70% resolution scaling and higher, and going no lower than 65% resolution scale unless you’re using an AI-driven scaler like DLSS.
Can Global Illumination Be Added To Games Without It?
As a matter of fact, yes!
The way that you do it and the effectiveness of it is going to vary on a game-by-game basis, though. Obviously, the best solution to Global Illumination is real-time ray-tracing and a game that supports ray-traced global illumination. However, not all games support that feature, or even global illumination at all, instead using baked lighting to approximate it in certain areas (ie putting a red light inside of a paper lamp to imitate how the paper would change the light’s color).
One such example of a game with no support for Global Illumination is No More Heroes 3, released originally on Nintendo Switch and recently ported to other platforms, including PC. Prior to this porting job, modders on PC discovered that the emulated version of No More Heroes 3 could still have a variety of Unreal Engine features enabled and run under emulation. Besides boosting things like draw distance and texture quality, modders also enabled engine features that were fully disabled and unused in the actual game, including SSR (Screen Space Reflections) and SSGI (Screen Space Global Illumination).
I’ve embedded a screenshot of this mod in action below.
Image Credit: Nikki Mann’s No More Heroes 3 SSGI Mod Comparison. Left Side: No GI, Right Side: GI Enabled. Note how while both sides of the image have SSR and other enhancements enabled, SSGI brings out these flourishes with even deeper, darker shadows and more realistic bounce lighting against the pillars in the hallway.
No More Heroes 3 is cheating a little bit, though, since the game engine pretty much just needs to have a few variables enabled in order to add Global Illumination to it. Owners of the PC version are able to make these changes without modifying game files— they need only find the correct config file and enable the correct settings to get these visuals.
Other games require a more heavy-handed approach for adding Global Illumination, like using ReShade and Pascal Gilcher’s RTGI shader. This means deeper modding is required than simple config file modifications for most games that aren’t built from the ground up with engine support for global illumination.
And that’s it!
I hope this article helped answer any questions you might have had about Global Illumination, whether or not you should enable it in your games, and how you might be able to add it to a game that doesn’t already have it.