Why UE4 isn't using Enlighten?

I think you have absolutely no idea what you are talking about… Metal Gear Solid 5 is developed on the Fox Engine, It’s the same engine P.T was developed with. They don’t have just a Directional and Skylight, they also have a very good GI solution basically they are also using light probes.

Left side, just directional and sky light. Right side, generated cube map for GI and light bouncing / indirect light.

The same goes for the Witcher 3 and all the other games, all of them are using some kind of GI and indirect lighting, no matter if probes or fully dynamic GI. A game developed only with the power of a directional and sky light, will have no GI, will have no indirect lighting / bouncing… as a result it wont look good.
[/QUOTE]

That image comparision is flawed. Left one is directional sun light only. Right one have also ambient cube + captured skylight. With ue4 you could use movable directional light combined with stationary skylight. This would allow sky to have occlusion baked. Then you just can recapture skylight and tint GI from skylight to have time of day effect like Metal gear solid have.

You will not get the same result in UE4 like in MGS 5, not even near. The “old” cryengine GI system used the same technique, it’s the same what Ubisoft does with The Divison.
ARK did basically the same on a lower level, they had do develope a probe based lighting system for they’re game to get some GI and indirect lighting.
What i’m trying to say is, GI and indirect lighting are a huge task, it’s not easy to develope something that is production ready for games. I mean this is the reason why we don’t have it in UE4,
there is one twitch stream with epic, where there answered a few question from the chat, one guy asked about dynamic lighting and GI “not lightmass” they simply answered that they don’t have the resorces “man power”
to develope it, cause it will take a lot of time and there are other points that are more important at the moment.

Here is what enlighten is doing… it’s simply a hard task.
http://www.geomerics.com/wp-content/uploads/2014/03/Unite-Europe-deck-with-notes.pdf

I think you have absolutely no idea what you are talking about… Metal Gear Solid 5 is developed on the Fox Engine, It’s the same engine P.T was developed with. They don’t have just a Directional and Skylight, they also have a very good GI solution basically they are also using light probes.

Left side, just directional and sky light. Right side, generated cube map for GI and light bouncing / indirect light.

The same goes for the Witcher 3 and all the other games, all of them are using some kind of GI and indirect lighting, no matter if probes or fully dynamic GI. A game developed only with the power of a directional and sky light, will have no GI, will have no indirect lighting / bouncing… as a result it wont look good.
[/QUOTE]

The left one has no skylight. The right one can be achieved with directional + skylight only. Ark did great lighting with scene captures. Your argument is flawed and comes down to lack of skill really.

But even if that isn’t the case, most dynamic GI solutions are not production ready to begin with, especially when you are developing multi platform. They’re just fancy toys at the moment.

No it can’t, have you took a look at the video ? There is no way to achieve the same quality in UE4 with just a Directional and SKY light. The scene wont look the same… They are using light probes for GI and also indirect lighting, i’m not asuming this, it is a fact. It seems that you have absolut no idea what you are talking about, the lack is clearly on your site.

Every AAA game out there is uisng some kind of GI and indirect lighting to make they’re game pretty, if not lightmass than fully dynamic lighting and GI like SVOTI, if not that… than some kind of dynmaic lighting with prebaked GI and light probes “Enligten” “old Cryengine”. You will have no light bouncing and GI by using only a Directional and sky light. Are you even undestanding the sense of GI and indirect lighting ? It’s absurd to say it is not used this days or that it is not necessary or that it makes no difference in a scene. You think all the engines and companys are developing lighting systems no matter if full dynamic or prebaked GI for no reason, because they have nothing better to do ? You think enlighten costs 125K because it adds just a little tiny graphical plus for your game?

Of course you can release a game using just a directional and sky light, you can also release a game without textures… But i see no sense in it, cause at the end it comes down to the qualitay of your game, doing so
you are not competitive on a serious game market.

@DamirH, Sorry but i see really no need or a point to talk with you about indirect lighting an GI, when hearing this kind of absurd coments. Please inform yourself about engines and what they are using to lit they’re games…
However i think i said enough and i’m alreday repeating myself :confused: over and over again. I brought you guys some proofs not just empty words. So i made my point clear, at the end every one will believe in what they
like to believe.

You think VXGI quality can scale down that well? Hopefully.

Do I understand correctly that both SVOGI and VXGI are impossible to implement on consoles?

What happens with small objects when using SVOGI or VXGI?

Is it possible to tell either system to use one simplified mesh for GI? I ask because if performance goes down when the model’s complexity goes up (e.g.: when using a displacement map or using physics to deform it) it might be preferable to accept lower accuracy on that particular complex mesh.

Well, Adik, it looks like you’re so beyond us that we uniformly can’t grasp your insights. Like moles gazing up at the sun, your brilliance blinds us.

There is no brilliance, just simple logic… Have a look at current games and inform yourself what they are doing and why, to make their game look good. That simple it is…
It’s a visual thing that you can easily see and compare. So if you have working eyes your are brilliant enough to see and understand the difference.

The last sentence was not ment to be abusive or to make myself a super genius! Cause this is not the case.

http://on-demand.gputechconf.com/gtc/2015/presentation/S5670-Alexey-Panteleev.pdf Page 12 show scaling pretty well. Fromt 1.5MB to 4.5GB video ram usage.

VXAO seem to be “low” version of VXGI. Only using voxels for occlusion and skipping the more expensive parts. It would bee interesting to see specular occlusion from VXAO too.

What do you think Enlighten does? It still bakes lighting information beforehand and stores it so that it can be used later

This is actually spot on, I couldn’t have said it better myself.

If the quality of your game relies on cutting edge GI then your game already sucks. It’s never the tools, it’s the person using them.

I can only agree to 50% of this statement.
First I want to keep gameplay and anything, which has nothing to do with graphical fidelity, out of this discussion, except for the single statement that good graphics won’t save a bad game, but will improve a good game.

Now onto the main point of my post:
Global illumination can change the look and feel of the game quite drastically, depending on the situations given within the game. Of course it has to be accompanied by an overall quality environment, otherwise it’s just wasted resources.
In quite a lot of cases GI can be quite important. The project I work on has a ToD-system and a lot of dynamic environments, so Lightmass is utterly useless in this case. The SkyLight solution works only sub-par, simply because of how it works. Especially indoor areas look just weird, since Skylighting doesn’t provide anything close to proper GI. The differences between no GI and with GI are quite noticeable (we use VXGI), even for the untrained eye. Sadly I don’t have access to the project right now (PC had to be setup from scratch), but I have some old comparisons lying around (they use default settings if I’m not mistaken and were shot with an old VXGI version, so no multi-bounce as well):
http://i.imgur.com/n8HkHoVl.png
http://i.imgur.com/UPOQaXgl.png
The difference is quite obvious and I wouldn’t brush it off just like that.

Also: simply saying “It’s never the tools, it’s the person using them.” is ignorant and shows a lack of understanding of the opposing site, even worse considering your statement can be taken as personal offence.
We are talking about solid limitations of the engine, not some incapability of a person, team or whatever. UE4 currently can’t provide convincing fully dynamic real-time GI. The solutions we are provided with by Epic are limited and don’t fulfill the needs of some (if not many) projects in an acceptable manner. It’s not mandatory to have this kind of GI, hell no, but for the projects that strive for realistic graphics, it can change a lot.

I looked through a bunch of this thread but i was wondering, is it possible to bake out multiple lightmass passes and transition through them at runtime ? That way you could have the animated gi pre baked?

It should technically be possible, but UE4 isn’t built for it. But I think it really should be a simple option to save multiple Lightmap sets and then tell the game which one you want to use when the level loads–that way you can use a level at different times of day without having multiple level files.
You definitely wouldn’t be able to animate between the lightmap sets, but you could just switch to them.

Thanks for the info. That’s a huge range; The people who bought a Titan X might finally find a use for those 12GB of VRAM : )

From the little that I know about such matters, a clipmap does seem to make more sense than an octree; It seems to work like a built-in LOD system. I can only hope that it’s possible to give a small number of objects more VXGI resolution than other equally distant objects at runtime.

So you couldn’t LERP the lightmap sets?
Is it possible to instantiate a lightmap and make it use parameters?

Whole point of volume textures and clipmaps is that querying from structure is constant time and hardware filterable. This has drawback that everywhere has uniform density.(including empty or important spaces).
Structure isn’t per object it’s global.

Memory use would 2x normal since you would have to have both sets of lightmaps in memory, and lightmaps wouldn’t go correctly across UV seams

I did a little bit of googling and i found this, the product doesn’t exist anymore so i cannot reverse engineer it, but this approach looks promising. Maybe someone is up to the task ? But i think we will need object based lightmaps.

edit :

I found Luoshuang’s Multi-Lightmap Dynamic Blending for UE4 @ https://github.com/AlanIWBFT/UnrealEngine/tree/MLDB-4.9.2


really amazing stuff. I really hope Luoshuang sent a pull request for this.

Hey guys,

just jumping in real quick here but I am not sure if its any good to throw more wood into the fire…but then…I have nothing better to do right now XD

First off…I would like to clear a couple of myths :wink:

  1. No AAA would only ship with 1 directional sun + 1 skylight.

Thats actually wrong! There are quite a lot of examples for games that go with this setup, mainly more stylized ones (Borderlands anyone?? at least for the exterior, Fortnite as well as of right now) Also quite some MMOs.
A common way is to either bake the skylight shadowing and only have the sun dynamic, to use a 2D skyocclusion texture or to use some soft large scale AO approaches (or distance field AO). All of these of course have their downsides and are only semi dynamic, but they do a very great job depending on what game you are building.
However, at a certain worldsize, baked lighting is not doable anymore and a lot of games use a dynamic sun and a IBL for faked skylighting. This way, you wont get proper color bleeding of course and it would also mean that you would get for example green grass bounce inside buildings. Thats why a lot of games use localized IBL probes to compensate for that. Those are quite painful to place and tweak and do their job rather poorly. But its better than nothing and looks actually quite good. Cryengine even supports scaling light into the negetive to darken areas because they knew they couldnt make really nice dark corners inside. And placing and tweaking that stuff sounds pure PITA^^

  1. So many other AAA titles are already doing it!

Thats also wrong. There is only 1 game that I know of with true FULLY dynamic everything…and thats “The Tomorrow Children” which hasnt shipped yet and its awefully quiet about that game recently. Yes there are the Ubisoft games like FarCry, Division, AC and other games. However…they “only” do this: Have a dynamic sun light and dynamic point/spotlights throughout the level. Have a representation for the sky which can adjust color etc. Then they place a grid of SH probes throughout the world that I think can also capture specularity (or they use a second set of probes for that like in Quantum Break). They then BAKE 6 or more different time of day and sunlight states into those and interpolate the whole thing over the day. Additionally for each main state, they bake out sky occlusion 2D textures and use multiscale AO techniques. Also, and this is the funky part…in the newer games from Ubi, they actually also update some of these probes dynamically in a certain radius around the player to FAKE dynamic local color bleeding (GI)

Thats also roughly how the FOX engine handles lighting…but as far as I know only in MGS5 but not in Ground Zeroes. There they only have skylighting and it looks significantly worse. The guys at Remedy go one step further with their approach which seems like one of the most complex and smart ones I have seen so far. But it needs to be seen how it performs in the end :wink:

When I was still working on Dead Island 2, we had huge troubles with the lighting and lack of proper GI support if you cant use lightmass. We first went with directional + skylight as movable and after that we had an integration of Enlighten for UE4, then we added LPVs and then we checked out the first implementation of distance field stuff but every thing didnt work or perform well enough. It was then when we started working on our own implementation of some features that Ubisoft used in AC4. We implemented their SH probe system that took care of diffuse GI and was baked on the GPU. However, eventhough being a rather good solution, it was obviously far from perfect and I can only imagine the pain it takes to manage these systems throughout a whole game production.

All these systems work very well…but only for certain kinds of games. Its like with lightmass, which is an tool btw. But it just isnt good for every scenario.

Also regarding Enlighten…its has quite a few very annoying problems even in more recent versions. For one, the resolution of it is quite low. This means that there is no small scale shadowing like you see in some of the voxel lighting techniques or with lightmass. Also, it produces seams quite easily since its still object texture based. What happens is this, you need to either build low rez target geometry for all of your objects, or let Enlighten take care of an automatic unwrap and approximation. This happens for all static geometry. The automatic thing works not badly, but it has been proven to be quite good to still optimize and do stuff manually sometimes. This can be quite annoying. Then, the light transfer of all static geometry gets baked into these Enlighten lightmaps. You can distribute this, but it still takes quite long…mostly longer than lightmass while providing lower quality and can only be distributed via another 3rd party software that you have to license on top!

Then you can have moving lights that have color bounce and you get skyocclusion! Still pretty cool! Dynamic objects are handled via probe volumes. Those are volumes that store a 3D grid of probes for a certain area and those probes cary diffuse lighting information of that spot…so basically SHs. For reflections, Enlighten uses the Unreal Captures, however, they now support to be updated dynamically but their resolution is also lower (mhhh…actually I think this one got updated and improved just recently :D) So as of right now…Enlighten cant really handle dynamic geometry changes and how DICE is doing their stuff…no one knows :smiley: But for static levels, it can produce quite some good looking results. However I consider the workflow and lack of small scale shadowing still downsides of quite some importance for proper realism :slight_smile:

Cheers,

Daedalus

That’s a good amount of info–I think we will have to wait for hardware to catch up to the solutions that have been developed, and then we can get rid of lightmass

GPU version of lightmass would be fantastic.