Lumen GI and Reflections feedback thread

Can anyone from the Lumen team confirm if changing Sky Light Indirect Lighting Intensity will ever be added to Unreal Engine 5? Every other light currently has this feature except Sky Light.

Just checked on the UE5_Main Github page, with some good news.

  • Lumen now supports both mirror reflections on translucency and SingleLayerWater, with a few caveats. Only the first bounce of translucent reflection is supported, and then falls back to the low-resolution translucency probe reflections. Furthermore, only perfectly specular (mirror-like) surfaces are supported, so you can’t have glossy or frosted glass (yet :). Control made a similar optimization, and it generally works for most content. Furthermore, this isn’t the default path for lighting, and has to be enabled in Project settings and PP volume (a good performance lever though IMHO).

  • Nanite masking and WPO support appears to be coming along, although I can’t exactly say how well as I can’t even begin to understand how it’s even possible. Masked materials technically work, but my last test in PV2 resulted in foliage geometry flickering and changing rapidly, so not stable from a geometric perspective at least. Instead of crashing or displaying an error texture, WPO-enabled materials simply don’t animate, which while not ideal, doesn’t break any content either. More updates are happening.

  • Quality updates and scalability options for VSMs. This comes with miscellaneous quality and performance improvements for Nanite and Lumen. Things are looking very good for 5.1, and assuming WPO and masked materials arrive in time, I think it will be an extremely powerful tool, if it isn’t already.

Also, if anyone knows, can somebody tell me what the heck Strata is, exactly? I keep finding extensive information and references to it, and it’s clearly related to shaders and materials, but I’ve found no official documentation or response.

4 Likes

from whre did you get that information ?

UE5_Main on github. It has the bleeding-edge changes to UE5, which means it’s often unstable and occasionally unusable, but also contains features that haven’t or didn’t make it into EA or the previews.

Look at the changelogs in the shaders folder, most of the rendering systems are there and you can get a feel for what’s being implemented soon.

Strata is Epics implementation of realtime BSDF shaders as far as I understand.

Bidirectional Scattering Distribution Functions? Could someone clarify the distinction between a BRDF and a BSDF? I know I BRDF deals with light reflecting off a surface, and I know BTDFs solve for media scattering and light transmittance, so what does the ‘scattering’ refer to? diffuse light propagation? And if so, aren’t there already methods to solve them in-engine?

Also, I just checked the newest Github build: Nanite on masked materials (at least on the StarterContent bush) is working. It’s temporally and geometrically stable, and plays nice with lumen. While I haven’t put it above 100 instances, it seems to be working so far. Overdraw is reasonable as well, but there is a certain cost with lots of masked sub-occlusions. Furthermore, the bush isn’t a very high-poly asset, and the broad triangles are easier to evaluate. Still, this should mean Foliage can now be Nanite, with WPO being the only holdout in terms of features (translucency aside, I don’t see how they could support translucent nanite without some very particular light mathematics).

Current test with bush: 1.1 million assets, no culling. Some visible light discontinuities, but generally a stable 20-21 ms.

I wonder if Nanite should use more aggressive impostors with masked materials than they use already to minimize over draw.

Maybe, that would certainly be good for performance optimization. I am noting that Nanite seems to be picky about which plants it decides to handle well. The bush here, for example, works great. But the houseplant in the realistic rendering demo starts flickering wildly and changing shape when set to nanite, despite both of them being masked materials. I think it has to do with how the mask is utilized with the geometry? I also haven’t tested it on other features such as masked grates or billboards.

1 Like

With that plant at least, overdraw is pretty minimal. I think density is also a big factor of it, and I’m beginning to come to the belief in testing that Nanite might prefer more dense foliage over less, because it makes it easier to do occlusion culling sooner. That being said, the only time my game really hitched was when I was moving fast directly above the foliage, so I think part of the cost is just moving things in and out of cache.

What will get very interesting, in my opinion, is when WPO with nanite gets finished. Truth be told, I’m not entirely sure how well it would work, as needing to do per-vertex deformation gets expensive fast with large instance counts. Still, optimism can’t hurt.

As default AA in UE5.0 preview, TSR seems to arbitrary change screen percentage in game play by default.
I need to add a console command in level blueprint, setting screen percentage XX to get a screen percentage of my choice in play mode
Am I right?
(bad english, sorry)

Bad news, another “weird” bug, probably specific to my game this time:

Explanation:

  • Lumen isnt playing nice with certain laser colors, losing its information
  • works fine with others though
  • this also happens when the setup is flipped around while it isnt in viewport (e.g. in another part of the map)

Video:

Its not game breaking or anything, but certainly odd behaviour.

It works with yellow+magenta, but Red+Blue with Red+Green, lumen is like: nah, im not having it today.

All lasers are exactly the same, just the color changes - so that shouldnt be the issue.

EA2, from Launcher, 6900XT.

Pardon if this has been discussed. I only managed to read through to comment 55.

I am having several issues with Preview 2. Some unique to this version and some I had on EA2.

Most troubling atm is the following:

These lights weren’t acting up with all that noise before (2 days ago)
I have seen similar issues this (and the older) thread but no console command seems to be working.

I will also add that DX 12 is crashing constantly and when using “raytraced Shadows” meshes aren’t shadowing properly. For example I have a static and skeletal mesh of a character with big hair which is getting completly lit on the inside. Turning ray traced shaddows off solves it and is giving me good results on that particular scene so I will leave it for another post.

Right now its these reflections on the video that are making it difficult to render.
r.Lumen.ScreenProbeGather.ScreenTraces - 0 has effect on the scene but nothing regarding these reflections
r.Lumen.Reflections.ScreenTraces - 0 solves it but AFAIK this is not desired

I have exponential height fog on the lights in question which, at first glance, seemed to me to be the issue but turning it off on the lights did nothing.

This kind of screenspace issue like in comment 55 has been present since EA1. It got exponentially better in P2, where it stopped doing it, and now it does it again tho not as noticeable.

EDIT: I must add that my goal is cinematic rendering and not realtime

If any of the devs are still on the forum, small feature request if at all possible. I know Lumen is shooting for photorealism, and what I’m about to ask for isn’t physical, but I believe it would be better in the lumen scene for metallic objects to fall back to their base color instead of just turning back. I know metals don’t technically have an albedo and that it’s physically incorrect in that sense, but I think it would be a good hack to have until lumen can implement some form of multi-bounce reflections beyond just the HZB fallback.


Case in point: The SciFi hallway scene is mostly dull metal. Cubemaps are excellent at handling this light representation, but it utterly breaks lumen.

I think their unlit color (base color, diffuse, however it’s refereed to in material) would be a better fit, because it at least would avoid most major lighting discontinuities. This might screw up GI, but I think the option should be there, as this particular decision for lumen breaks a lot of SciFi lighting scenes such as this one.

2 Likes

Also, the scene is incredibly noisy, even with lumen settings maxed out across the board. I understand this scene breaks most of the core assumptions for optimizing real-time ray-tracing (neither perfectly lambertian or specular, no easy ray termination), but just something that I think should be worked on when there’s the time. On the bright side, everything in that scene except for the glass is Nanite, and it works flawlessly. Excellent work, Epic devs!

Yeah a highly smooth/glossy metal might only reflect light back into the scene in a few directions (caustics) and probably shouldn’t contribute anything to the ambient lighting around it, but wouldn’t a rough metal surface bounce plenty of light in all directions that it should be considered anything but black?

Do you have any actual lightsources in your scene? Looks like you’re trying to illuminate your scene with emissive, which would explain why it is so noisy.

Seems like a good idea to have something other than black to fall back to