Lumen GI and Reflections feedback thread

Does it happen without Nanite? Try r.Nanite 0. There’s a long standing bug with Lumen Surface Cache Capture + Nanite + Two-Sided materials.

Yes, we do plan to deliver a higher quality Lumen targeting high-end PC GPUs. Hard to say at this point what will be the specific solution or when it will happen, as we need to spend some time figuring it out.

11 Likes

I tested it both ways, Nanite and non-nanite. Some objects had their rendering issues clear up, but others persisted:


Is it possible to achieve realistic mirror reflections using lumen

With Lumen reflections and Lumen GI, in most cases, no.

With Lumen reflections and Lightmapped GI, yes.

1 Like

Actually appears I’m wrong, in 5.4.3 Lumen reflections with lightmapped GI seems to be broken. It’s only sampling the volumetric lightmap for lighting… I guess the answer is no for both cases if you’re on 5.4.3 :melting_face:

2 Likes

I haven’t worked with lightmapping in a while, how can you tell the static geo is only sampling the volumetric lightmap? The angular resolution of lighting?

The most significant indicator is that the VLM stores lighting in a very sparse grid and just interpolates to the nearest probe without any occlusion, so it leaks light through walls. Low spatial resolution also means it can’t capture any meaningful lighting detail such as the indirect shadows from the sphere/pillar on the floor.

You can’t see the rest of the scene but there is light leaking in the reflections on all of the walls, and the ceiling.

Here’s a much more obvious example:

xcuse me, but… what is this whole shabang doing there in the first place? it’s a wall. that doesn’t make sense. that’s not a leak but a wrong mirror.

a pretty scuffed render. i dunno.

eh I think it’s just reflecting something offscreen and I drew the arrow to the wrong place

The geometry in the reflection is definitely correct, it’s just the lighting that is messed up.

video

1 Like

no. this column is not supposed to be seen here. that’s definetely wrong. sry

or is it this other column? it looks wrong tho. this scene is a weirdge. why you do this?

I think that column would be perfectly visible from that mirror angle. But the reflected space between columns is the one outside the camera, at left. That’s all and that was the @Arkiras ‘mistake’.

Anyway, he was not pointing a geometry reflection issue, but a lightmass one. And if geo was wrongly reflected, that would worth the report too. So why not to use any conflictive scene, even if it can show even more buggy sides?

1 Like

Try set “Specular Scale” to 0 in light parameters.

So, it’s leaking from the sky above the ceiling into the room itself due to low probe density? Do you have a lightmass importance volume in place, or is that stock behavior? This is just pure curiosity.

There’s a lightmass importance volume yes, and yes this is just how it behaves. Probes are linearly interpolated and don’t store any sort of occlusion information, so they will interpolate lighting outside of the wall if the wall is between probes.

Unreal’s default probe spacing is 2 meters, so you can imagine… walls are pretty much always going to be between probes.

Dealing with this is normally the biggest headache of using baked lighting, but in very close second to that is managing reflection captures which is why it would be so cool if lumen reflections + baked lighting worked with software raytracing :wink:

1 Like

@Arkiras Or just bring back ray tracing.

Or just go back to an earlier engine version which has it. You’re welcome.

I was just reading a SIGGRAPH talk on hemispherical lighting from Activision, and that convinced me more that Epic should invest in a better baked lighting solution. We’re still struggling to hit those performance numbers with lumen, especially in indoor scenes, and a more robust probe-based system would be very useful. As for software lumen, I’d be curious to know how that would work, what would you sample for hit lighting if you don’t have lightmaps or the surface cache for material information?

2 Likes

I really wish they would :frowning: I was originally optimistic when GPU lightmass was announced and Epic had said Lumen reflections would support lightmapped GI. But I didn’t realize lightmapped GI support for Lumen reflections would just be a hardware raytracing option, and GPU lightmass has really languished since the release of UE5.

Just to clarify I don’t think that Lumen + Lightmapped GI only sampling the VLM is intended. I’m certain that at one point, it DID sample surface lightmaps correctly, but I guess at some point it broke.

As for how it would work with software raytracing my thought was that it would use distance fields and surface cache, the same way Lumen reflections currently work with Lumen GI. Except the surface cache could be pre-computed for the static lighting. I don’t know how performant this would be in practice, it might not be worth it.

Slightly Off Topic

At the risk of getting too off topic there might be better options. For example Mafia 3 stored depth in their reflection captures and traced multiple sets of them to get the hit result. It covered the entire roughness range and ran on a PS4 at 1080p in 3ms. The results were remarkably good quality imo, even if it did have some… weirdness on mirror surfaces.

Frostbite also somehow implemented approximate specular from their lightmaps without the need for any reflection captures which has some downsides (that he explains) but still looks really good.

Unreal’s static lighting was built for UE4 and iirc it was intended for the xbox 360… On modern hardware I’m sure if it were a priority the team at Epic would come up with something great. But since Fortnite doesn’t need it… well… I suspect it won’t be a priority.

3 Likes

I agree with you, although I can understand why from a dev resources perspective they have been focusing on lumen more. Performance is massively better compared to where it started at, but image stability is still enough of an issue to warrant better baking.

It’s a good question, although I will say that combining baked lighting with DF lighting has been a very successful in the past (Stray made great use of it). I wonder if you could have the SDF look up radiance from a volumetric lightmap, which would give low-res but still color-accurate GI. Expense is a great question though.

Slightly off topic too:

Summary

All that said, if you want a really good implementation of RT reflections and baked lighting, look at the Callisto Protocol. Their SIGGRAPH 2023 talk (SIGGRAPH 2023 Advances in Real-Time Rendering in Games course). Since most games are going dynamic it makes sense that it’s not a priority for Epic, but there are still situations where dynamic GI isn’t performant.

That reflections solution in Mafia 3 is really interesting as well. I think I saw God of War use something like that too (they called it Ray-traced cubemaps or something else), which overall gave really high-quality especially for non-mirror surfaces. It’s a brilliant idea and one that’s perfect for pretty high-quality dynamic reflections, but I think with how quickly RT performance is improving given new innovations, it probably won’t be implemented going forward. Also, the mirror issue is really fascinating. The temporal accumulation for the SSR broke somehow, and samples got reprojcted into the cubemap? It was an interesting bug. Mafia 3 still had some of the best mirrors I saw outside of an RT game.

1 Like