Search Unity

Bug Reflection Probe only affects lighting on half the screen

Discussion in 'High Definition Render Pipeline' started by vectorunitydev, Apr 14, 2023.

  1. vectorunitydev

    vectorunitydev

    Joined:
    Mar 11, 2019
    Posts:
    4
    We have run into a weird bug in our application, that only happens in one specific scene. At resolutions above full HD reflection probes will stop affecting lighting on the entire screen and instead only affect it on part of the screen. The part of the screen where the reflection probe has no influence seems to scale with resolution (only a small strip at 1920x1200, almost the entire screen at QHD, the entire screen at 4k)and dpending on resolution wont even cut off in a straight line, having a step in the border of the area at some resolutions. The bug used to affect a smaller strip only at 4k in 2022.1 and now affects a larger strip and lower resolutions in 2022.2

    Some info on our setup here:
    • We use a custom compositor where a UI, a watermark and the scene are all rendered into render textures which are then blitted into a final texture that is displayed on the screen. The bug appears on the camera that is rendering the scene. All cameras have targettextures with the same resolution as the screen.
    • The scene in question is a tunnel. We use a physically based sky for the lighting outside, while the inside has an indirect lighting controller, static lighting from an HDRI sky in the indirect lighting controller and reflection probes to control the lighting inside the tunnel. This is done to have correct lighting inside and outside as well as being able to see the outside at the tunnel entrance
    • According to the frame debugger, the bug first affects the specularLightingUAV Texture in the Deferred step on the camera rendering the scene
    • When we tried building a reproduction project without the compositor we built, we could not reproduce the error.
    • Setting a higher display resolution and then turning the resolution back down seems to fix the problem for the lower resolution but is obviously not a viable workaround.
    • Interestingly, setting a high resolution targetTexture to the camera rendering to the screen, then removing it, fixes the issue temporarily, but in this case the bug reoccurs when resizing the screen. This is interesting, as this is not the camera where the bug occurs, just the camera rendering to the screen, but it still affects the bug.

    In the following images, the tunnel is darkened using a reflection probe (exposure is set to fixed). This results in the image being overexposed where the image is not affected by the Reflectionprobe.

    Image with the bug:
    bug.png Image without the bug:
    nobug.png