Godot Version
Godot 4 pre-alpha - Godot 4.4.2 stable.
Question
This is a pretty old issue - I have had this problem since Godot 4 was in pre-alpha, and it’s still not resolved fully.
So I am looking for ways to cope.
Basically when you open a scene with a lot of reflection probes sometimes they initialize to pure white before they bake and actually render the expected cubemaps:
As you can see there’s quite a few reflection probes in this scene:
What I have tried before was overlaying a “loading” screen that tries to estimate how long it will take to bake all ReflectionProbes and waits for example 6 frames per reflection probe (each Cubemap has 6 faces, which is 6 cameras that need to render).
This is very unreliable and depending on hardware the game runs on it can be either too short or too long.
Ideally I’d have a signal from a ReflectionProbe emitted once it has finished it’s first update (when in the “update once” mode. I could then wait until all RefProbes give an OK and then hide the loading screen and start the game.
There’s nothing like it and I’ve had pushback from the devs when I suggested implementing something like that.
I was hoping maybe RenderingServer could give some tools to get that information, but I haven’t found a way…
Does anybody have a solution for this?
This is not only just really flippin’ ugly and immersion-breaking, but for people suffering from photosensitive epilepsy. I KNOW it causes issues.
It’s been so long and nobody seems to have solved this problem yet.
At leas I am not aware of any real solutions yet.
I guess what I could do is show a loading screen, record the rendered frames, calcualate their metrics and wait until at least 8 frames went by without drastic changes in brightness…
So finding a “perceptual” way to detect when the scene is really ready to show to the players.
But it feels like such a dumb hack fro something the Engine should just have an API for…
Arghh!!