Dynamic bounce lighting for directional lights (non-RTX)


This is a scene that I’ve been working on the past week or so. Inspiration is obviously the UE5 demo.
It is meant to showcase my pseudo GI solution. For those interested in the lighting system, its still in development and will be on the marketplace soon.

So, nothing fancy, just a heavy use of megascans assets (>90%). I started by importing the assets and creating a few master materials and for each asset a material instance. The assets colorization didn’t quite match with each other in some cases, so i used a tileable texture (used scale-dependent-tiling) to tint the base color of almost all assets, and also give more detail to the assets. Also added a layer of dust on top of that (pun intended), meaning on the up facing surfaces (z-normal blending).
Then, i started placing them around to see if the lod 0 that they come in is sufficiently detailed and decided that it wasn’t. Wanted to use tessellation on some of them but kinda forgot. I ended up liking the placement and went with it. Maybe i’ll try to enable tessellation on them at some point, but for the purpose of this demo i think 2 mil polys is enough.
The floor is a custom mesh, heavy tessellated and using material functions with material layer blending (through vertex painting). Also, it uses dithered blending through pixel depth offsetting (witch forced me to turn off shadowing on the mesh).


What are 10% and 50%? Could you explain those in somewhat detail in the context of the screenshots?

Its the skylight intensity, 0.1 and 0.5 respectively.
I think the skylight is good as an ambient light but used solely it doesn’t produce very nice results in most cases. That’s why I’ve come up with a pseudo-GI solution that produces more directional indirect light as opposed to the flat ambient light produced by the skylight. But, this bounced light solution is not perfect so a bit of help from the skylight is in order. Somewhere between 0.1 and 0.5 - of course depending on the scene, sun intensity, exposure, etc.
In my scene i used the skylight at 0.1 in order to make the bounce lighting more prevalent but a 0.25 value would have looked more natural i believe.

I think 0.5 works really well, according to how it looks in the screenshot. 0.25 probably would work too…it depends on the area / location and surroundings, plus artistic merit / ideas. Global illumination, how I understand it so far, is not supposed to be an all-encompassing solution for all lighting in a level / world. That’s what PPV, LPV, point/spot/rect lights, reflection captures, Lightmass Importance Volumes, and volumetric lightmaps are for…to get different lighting results for different places / conditions. Sometimes it involves a ton of tweaking though, which I think becomes laborious to no effect or generating more problems. Have you seen the ray tracing tweak interface in the marketplace? It has most / all the ray tracing variables / console cmds in a plugin interface with sliders and value boxes…which the engine could’ve had upon installation by now I think. But, there’s lots of issues to resolve and improve things in Unreal Engine, so I see how it could be overlooked as an implicit feature.

I don’t really notice the dust referenced in the screenshots. Is it a layer on top of all surfaces, or certain things only? How does it look without it? The scene might look even more detailed / immersive with a bit of fog, exponential most likely…or atmospheric. It’s kind of similar to a canyon hall or narrow stone valley in which light would be semi-visible for some of it. It’s also excellent without it.

Regarding GI, i think it adds a lot to a scene and makes it more believable, thats why we see it even in more stylised games like overwatch. For me, a scene with good illumination and nothing else is better than a scene where every wall is a perfect mirror in order to showcase some reflection tech.
Raytracing GI is kind of a work in progress now and will not become mainstream, i think. Very performance heavy and hard to get good results with a heavy optimized version.

About the dust layer, i tried to keep it subtle and its hard to see because all shots are horizontal or slightly tilted up. But its a yellowish sand layer on top of the orange-reddish rocks.
Fog is enabled but, again, subtle. you can see it the most in the first shot of the video.