To the main topic–Enlighten has their own UE4 integration if you want to license from them. But I think with how slow it is and it’s not a complete dynamic GI system since it only works with static objects it’s not a huge improvement. It still has extreme building times which would be an issue for large maps. The best solutions like VXGI and SVOTI still aren’t fast enough for most people so I don’t think we’ll have those systems until more people have powerful enough hardware. I’m not sure what that point would be, maybe if greater than 50% of PC gamers can use it then it might be worth having.
I think we will see realtime GI soon enough, maybe not in the form of VXGI or SVOTI.
Epic listens to the community and respects its wishes, so I do believe that they will continue work on GI in the near future. Until then maybe someone else like Ryan finishes his solution.
Only if a project of theirs requires it then yes, otherwise no. It’s a big task and they are not working on any dynamic GI atm.
Sadly i think is right…
And about good GI systems it has not be always something that is GPU heavy… There is always a solution, otherwise games like the The Divison, Son Ryse of rome, Far Cry 4, Dying Light and i can list you 100 more… wouldn’t be possible on consoles like PS4 and Xbox One… I would be even happy with good to Ok solution like the “old” cryengine GI system which is bascaly the same system The Divison is using… “probe based GI”
About Enlighten, i have no idea how the performance is but Battlefield 4 was looking nice and friends of mine played it even on middle class machines…
Hmm, what about DFGI? Would be a waste of 's time and effort if they would drop it now. It’s currently on hold because Epic is focussing on optimizing the engine as far as I heard (I think it was mentioned in the DFGI thread by himself).
Also, wouldn’t Fortnite benefit from GI? The entire game is dynamic, so it would most certainly make the most sense to implement GI for it, or not?
It’s always a specific situation where those solutions work, for UE4 it needs something that works for everything. Dynamic GI isn’t an easy problem to solve, it’s very likely a case that it needs more processing power to be usable. If there’s a solution out there then I’m sure Epic would want it in the engine, since it would benefit in many ways.
said, quote “That means DFGI won’t be happening.”, so yeah.
The only solution that I see is from.
Dynamic diffuse probes with DFAO for local shadowing would make a lot sense. On low end machines you could just scale back to ssao for local shadowing. SSR with reflection probes is good enough solution already for specular.
Edit: This would even play nice with new AO output from lightmass for static large scale high quality AO.
I guess the decision not to include real time GI was indeed the required minimum graphics card / console power.
However that only makes sense for games which need a big enough market share to be viable.
Now however we see more and more use of the engine for isolated use cases such as architectural visualisations, machinima moviemaking etc, which can target a specific high end machine for demoing or rendering the output.
So the reason to have GI have changed, why not have an engine feature that is not for the lowest common, but for the high end, there is already a difference between desktop class and mobile, so maybe it is now time to have a third, full gi option, maybe then it can be more isolated and better implemented without breaking other stuff.
VXGI is basically just gpu friendlier SVOGI.
The vast majority of graphical features work to some degree on both desktop and mobile, and the ones that don’t are easily adjustable or disabled–if you go for a full dynamic GI system then you can’t simply turn it off for weaker hardware, it would still need an alternative like baked lighting otherwise the results will be worse than what the hardware is capable of. Not only that but having dynamic GI can change how you design your game in the first place since there can be complications if you are restricted to baked GI.
Also, I don’t believe that you have to pay royalty if you use UE4 for Archviz (for renderings at least), so it might not be in the best interest of Epic to cater to Archviz since they don’t get much out of it.
Enlighten is very slow, and doesn’t work with dynamic objects which means it’s extremely limited. And besides that, the baked lighting system in Unity is broken, both with Unity 4 and Unity 5, you simply can’t get the same lighting quality that you can get with UE4. The main issue is their directional lightmaps which don’t work properly.
So, can anyone confirm if I’ve got this right:
Enlighten and Lightmass both work well for static lights. For dynamic objects, they require probes.
VXGI is fully dynamic and can do multiple bounces but it’s computationally expensive.
LPV is fully dynamic and much less computationally expensive than VXGI. Is it really limited to 1 bounce or can it do at least 2-3?
When I say “fully dynamic” I mean that all objects including moving, animated characters can reflect light off each other.
-
Both Lightmass & Enlighten can do static Lighting. Lightmass is probably better at it, in Unreal at least (especially in 4.11 and above).
-
Lighting probes from lightmass help aid stationary & volumetric lighting in UE4 (with the default engine lighting system). No idea if Enlighten does any of that. Doesn’t contribute to fully dynamic (moveable) objects at all AFAIK.
-
Lightmass is free and you get all source code for it. Enlighten is the opposite.
-
VXGI is indeed fully dynamic, doesn’t do static. It voxelizes the entire scene each frame. It does one bounce by default but can do multi-bounce, but like any multi-bounce DGI it will destroy your GPU. Not production-ready unless you’re going for high-end hardware only. VXGI is a much finer-grain technique than Enlighten. It’s the f*cking balls if you can afford the perf cost. Also performs differently on AMD cards to nVidia cards due to hardware differences.
-
LPV is fully dynamic and cheaper than VXGI, but it’s a completely different technique and very limited. 1 bounce only, limited visibility range.
-
Any multi-bounce dynamic GI is a frame killer, and I’ve never heard of a multi-bounce GI solution used in a shipped game.
Jmash,
Thank you very much.
Just to be sure we mean the same thing by “1 bounce”: If a character uses a red flashlight on Wall 1 and Wall 1 is in front of Wall 2, it’s possible for the red reflection to be visible on Wall 2?
Could LPV be combined with lightmass and probes? The Unreal Docs say: “Make sure you do not have any Lightmass GI enabled to be confused as dynamic GI (both techniques together would result in too bright indirect lighting”*. Could Lightmass GI be turned down instead of turned off to alleviate the 1 bounce limitation of LPV?
VXGI: Yeah, it’s expensive. In the Nvidia VXGI demo my overclocked, overvolted GTX 970 was getting 60 fps in a small room at 1080p. I wonder how it deals with larger scenes and whether a GTX 950 could handle a medium-size scene with moving lights at 1080p 30fps.
If anyone here tried the Nvidia VXGI demo with a 950 or 960, what kind of framerates were you getting?
*Lighting the Environment in Unreal Engine | Unreal Engine 5.2 Documentation
A bit of a necro-quote, but I’m getting a bit desperate and maybe someone here can help me:
I’m trying to use Light Propagation Volumes for exterior environments, but can’t find a workaround for the limited range. The dynamic global illumination gets cut off with a very hard edge after a short distance, making it completely useless for somewhat open exteriors.
Increasing the scale of the volume leads to results that are much too bright and illuminated to broadly.
I don’t see any way to use them at all unless the game is entirely interior or there’s always something in very close range blocking the view of the player.
That’s because when you increase the range you are stretching the same resolution across a larger distance, so things might end up with maybe a point or two where it is calculating the lighting bounce.
What LPV needs is some type of Cascade effect, where it can have higher detail for things closer to the camera and lower detail further away. I’m not sure that Epic is interested in working more on LPV since it’s slower than it should be.
But I think your best solution would be to have more objects in the level to make the range not so obvious.
Yes, so with one bounce you would end up with light bouncing off one surface to another, so if you shine a flashlight onto a red wall then red light would bounce onto another surface----except for one thing:
LPV does not support spot lights or point lights, only Directional lights and emissive materials.
And no, LPV can’t be integrated with lightmass, static shadows would be influencing LPV so for example if you have LPV light bouncing into a static shadow it would show as being dark instead of using the diffuse of the surface, and the LPV light wouldn’t blend with the static lighting.
Well, yeah, that’s exactly the problem I’m facing!
Having more objects unfortunately isn’t much of a solution, at least not for my project. I don’t want to water down the level design because of a lighting feature, especially since there will always be instances were the boundaries of the LPV are blatantly exposed anyway. Situations like the lighting seam in the screenshot below aren’t acceptable for me and there’s no way I can always block the view on something like a mountain.
It might be fine if the LPV lighting would fade in and out slowly, like it used to in previous versions of the engine. But not only is there a hard cut, it also starts extremely bright when a new section enters the LPV and then dims down to the normal level.
But either way, thank you for your answer. As you mentioned, neither Epic nor Lionhead appear to be pursuing these issues at the moment. Something like the cascade effect you described would be a great solution and something I have actually asked about on the AnswerHub, but didn’t get any replies so far.
You can use Lightmass and LPV at the same time, but they won’t contribute to each other as they’re totally different systems. As for larger scenes and VXGI it’s not too much of a problem since the size of the scene Voxels depends on the scene depth, so further objects appear less detailed.
I doubt LPV will get any attention from now on as people are starting to adopt other techniques. DFGI has been put on hold while the rendering team works hard on improving overall engine performance (which we’re already seeing the benefits of in 4.11), and while they implement features necessary for Paragon / UT / Fortnite etc (Such as Capsule Shadows in 4.11). I’m sure they’ll come back to it eventually.