Right now, Unreal Engine 4 is lacking a completed global illumination system that works in real time.
Volumetric Lightmap: Looks great but is static.
Light Propagation Volume: Never completed and probably abandoned.
Screen Space Global Illumination: Has limitations associated with screen space effects (such as lighting disappearing when it’s not on screen).
Ray Traced Global Illumination: Visuals and performance are currently not viable for anything real time with consumer grade hardware.
Voxel Global Illumination: Requires a separate branch of the engine (plus performance limitations, if I remember correctly).
Gaijin Entertainment has created their own real-time global illumination technique for their upcoming game, Enlisted. I feel that a feature like this could help fill a niche in UE4, especially for large open world games where users want high quality lighting features, but also want to use dynamic lights (for day/night cycles, avoiding baking, etc.).
On a side note, is anyone aware of any real-time GI features in the works for UE4 at the moment?
There’s a number of AMD gpus that support ray tracing. What I don’t understand is how Unreal is so lacking in contrast to other engines in terms of lighting, reflections, and accessible (user-friendly) features. It’s like I’m having to become the engine’s surrogate engineer to comprehend some of the intricacies of materials construction, combining lighting methods, and workable yet not inflexible level design. It’s powerful, has a ton of features, and was used to create some of the most impressive games / visualizations I’ve seen, and is still notorious for being punishingly difficult to learn. Why have the Volumetric Lightmap and Light Propagation Volume become such low priority? What’s so great about screen space features, lol? It seems like a technology that’d be great in the early 90’s, not now. Why is there such a plethora of unanswered lighting issues and questions in the forums? Users can’t tell if the problems are bugs, a missed / overlooked setting(s), or engine limitations.
Its because everyone has been searching for a solution to these problems for years, thats why theres so many paths which end up going no where or are unfinished, Global Illumination isnt actually a feature its a combination of lighting techniques used to achieve a goal. Screen space reflections would have been madness in the 90s we barely even had cubemaps yet let alone proper captures, those came much later and so did dynamic shadow volumes and post processing for that matter!
I totally agree that ray traced GI is the future, and I have no doubt that there will be AMD GPUs that support DXR in the near future. That said, the current implementation of RTGI in UE4 doesn’t leave me confident in it’s viability. Right now with the default third person template on UE4 4.25 Preview 5, my build (which uses an RTX 2070 Super) can run it at ~300 FPS when tested as a standalone application. When ray traced global illumination is enabled (with all other ray tracing settings disabled), my FPS goes to about 30 FPS. Not only that, but the effect honestly doesn’t look very good either if I can be honest.
In addition, even when RTX becomes somewhat viable in UE4, it’s going to be limited to only the highest end of hardware and still may not be viable for projects that involve large, open worlds. I personally feel that a solution that doesn’t involve ray tracing is needed.
Q: Can I use RTXGI in Unreal Engine 4 and/or Unity?
A: We are working closely with Epic Games and Unity to bring support for RTXGI to their engines as soon as possible. Stay tuned!
Seems like it’s coming. So we just need to wait a bit.
I looked into RTXGI (AKA DDGI) and it seems very promising so far! The performance looks much better than the current RT system (which is still experimental, to be fair) in addition to working on a variety of GPUs, so long as it uses DXR. I was wondering why I hadn’t heard about it before, but Nvidia’s RTXGI page seems to be pretty recent.
This is true but if you want quality then it kinda comes with a cost, I do appreciate that its already difficult to make open worlds without the added complexity of supporting lots of different hardware configurations but this could be why this is mostly the territory of AAA. Epic cant possibly predict what a game will require so thats why many of the implementations feel incomplete or not good for really large open worlds, a 2km x 2km map is an entirely different scale to 16km x 16km and both are considered to be open world to a degree so its a complex problem made even more difficult.
Its also cutting edge right now which is why we are only just seeing it really work, in the past the GI systems have cheated alot to achieve passable results, Crisis for example while seemingly an open world is far from it by modern standards with the subsequent games becoming more linear. There are engines suited to open world, Ubisoft certainly have acouple but what looks like GI is just alot of cheating so what youre seeing in your framerate drop is inline with quality GI.
Open Worlds are always going to be a trade off simply because not all games will have Star Citizens budget, hopefully we’ll see more in the future but if you want to make a game now I certainly wouldnt recommend focusing on lighting unless its relevant to gameplay. Once you have that game Im sure you can get the budget to get engineers to fill the gaps for you in a way which suits the scale of your project
LPV wouldn’t be a bad non-RT solution if it actually functioned consistently. It’s difficult just getting it to function at all on newer version of the engine. Emissive injection working is even more dodgy from there. It would be even better if it didn’t rely on having a directional light.