Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PhysicalSkyMaterial and ProceduralSkyMaterial debanding doesn't take auto exposure into account #74140

Closed
Calinou opened this issue Mar 1, 2023 · 0 comments · Fixed by #76053

Comments

@Calinou
Copy link
Member

Calinou commented Mar 1, 2023

Godot version

4.0.rc6

System information

Fedora 37, GeForce RTX 4090 (NVIDIA 525.85.05)

Issue description

PhysicalSkyMaterial and ProceduralSkyMaterial debanding doesn't take autoexposure into account (to adjust the debanding filter). This causes the sky to become visibly grainy when autoexposure decreases its exposure for dark scenes:

Sky debanding enabled

Screenshot_20230301_025133

Sky debanding disabled

Screenshot_20230301_025145

Viewport debanding doesn't have this issue in comparison.

This occurs both with CameraAttributesPractical and CameraAttributesPhysical, with and without physical light units.

As a workaround, disable Use Debanding in the PhysicalSkyMaterial or ProceduralSkyMaterial in the Environment, then enable Rendering > Anti Aliasing > Quality > Use Debanding in the advanced Project Settings.

This should likely be fixed by exposing exposure as a global to sky shaders, then multiplying the strength of the debanding effect by exposure.

Steps to reproduce

  • Create a new project with a WorldEnvironment copied from the default environment.
  • Add a CameraAttributesPractical to the WorldEnvironment. Enable Auto Exposure in this CameraAttributesPractical resource.
  • Decrease Background > Energy Multiplier to 0.01 in the Environment resource.
  • Notice the dithering pattern becoming visible on the sky.

Minimal reproduction project

test_sky_debanding_auto_exposure.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants