When I hit Play (PIE), a visible inner rectangle appears in the center of the screen with slightly different lighting/fog, which then gradually fades out over the first couple of seconds.
I isolated the issue and confirmed that disabling Volumetric Fog on my ExponentialHeightFog completely removes the artifact.
My PostProcessVolume has Infinite Extent (Unbound) enabled.
Exposure is fixed (Min/Max EV100 set to the same value).
Camera Constrain Aspect Ratio is turned off.
It looks like a temporal accumulation / initial grid warm-up issue with the volumetric fog frustum.
Aside from using a camera fade-in on BeginPlay to hide the warm-up frames, is there an engine setting, console variable (cvar), or volumetric fog parameter (like grid sizing/warmup) to prevent this initial rectangular frame artifact from rendering at start?
I think you have already nailed what’s going on here, the buffer warmup is generating a temporal reprojection in your fog. So, it’s a matter of telling the engine to purge the buffer faster, or handle it differently. Checking with my peers, there are indeed a few cmdlets to test here:
The most simple one first, would be setting r.VolumetricFog.HistoryWeight 0, so the first frame is not affected by the buffer. Image quality could suffer, so I would suggest adding a delay in your BP, then setting HistoryWeight back to 0.9
The next element to test, would be disabling temporal reprojection on the fog itself, using r.VolumetricFog.TemporalReprojection 0. This will result in a more jittery fog, but it can be compensated by increasing the grid’s resolution, using r.VolumetricFog.GridPixelSize 4
Finally, you can play around with the value for r.VolumetricFog.HistoryMissSupersampleCount, starts on 4 by default, would test with 2 or 8, then check if the rectangle continues to appear
Thanks for your reply. Playing with the values you provided did yield some results, but nothing completely solved the problem.
When I set r.VolumetricFog.TemporalReprojection to 0, the fog goes haywire and starts flickering, and even setting r.VolumetricFog.GridPixelSize to 4 doesn’t improve the result.
Regarding the r.VolumetricFog.HistoryMissSupersampleCount setting, if I set it to 2, it crashes directly, and at 4 or 8, I see no difference.
r.VolumetricFog.HistoryWeight 0 actually solves the problem, but even then the fog becomes very flickering. If I use the method of immediately resetting it to 0.9, it works, but I’m going from one visual issue to another, and that’s not what I’m looking for.