Skylight Recapture

Currently, re-capturing skylight during runtime causes a stall due to GPU->CPU copy. It would be nice if it was done using staged readback instead.

To add to that: I think the same thing also happens when you change the cubemap? Would be nice if it didn’t cause a hitch too.

I did this before but every capture would cause a spike. Then i switched to specified cubemap and just adjusted intensity depending on time of day (if thats why you recapture sky) since the sky is mostly blue 24h anyways even in sunsets but lower intensity. So you dont really need to recapture sky.

Hope this helped you in anyway :slight_smile:

cubemaps at different time of days like sunset and sunrise can change the scene drastically. thankfully there’s the cubemap blending functionality for that

but sure, I’d add my +1 to a more smooth skylight recapture

+1 Couldn’t agree more, the hitching is something very disruptive, could be better.

Thing with changing cubemap is that you can’t avoid some sort of delay there. Hitchless GPU->CPU copy implies that the result will be delayed. With continuous updates it is forgiving, but with a cubemap change, diffuse irradiance update would be late two frames, which is undesired in most cases. The only alternative is to keep diffuse irradiance coefficients on GPU all together.

Proper skylight update also needs good system to leverage update costs over number of frames besides removing the stall. Wish it all was a part of stock UE, since it is used so often. Yet for the time being it is the stall that makes it totally unusable for no reason.