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

Vulkan Mobile backend: Glow behaves inconsistently compared to the clustered backend #55901

Closed
Tracked by #55871
Calinou opened this issue Dec 13, 2021 · 4 comments
Closed
Tracked by #55871

Comments

@Calinou
Copy link
Member

Calinou commented Dec 13, 2021

Godot version

4.0.dev (2a9dd65)

System information

Fedora 34, GeForce GTX 1080 (NVIDIA 470.74)

Issue description

I'm aware that glow uses a different implementation, but it seems to be much harder to control on the mobile backend. The main issue is that by default, its effect is barely visible unless you decrease Hdr Threshold. Since the Vulkan Mobile backend uses some kind of HDR rendering, this should not be required ideally.

The second issue is that when you adjust Hdr Threshold from 0.35 to 0.34, glow will go from "not present at all" to "very strong":

2021-12-13_13 52 09

2021-12-13_13 52 14

Steps to reproduce

  • Add a MeshInstance3D and a WorldEnvironment node.
  • Enable Glow in WorldEnvironment.
  • Play around with various properties.
  • Switch to the Vulkan mobile backend. Notice that the glow's appearance will change noticeably – it will often be much darker than it was with the same settings in the Vulkan clustered backend.

Minimal reproduction project

Mobile Lights_1.zip

@BastiaanOlij
Copy link
Contributor

Please try this with this PR applied: #60617

@Calinou
Copy link
Member Author

Calinou commented May 4, 2022

Please try this with this PR applied: #60617

Looks like that fixes it! The transition is no longer nearly as strong as it used to be:

Before

simplescreenrecorder-2022-05-04_19.32.36.mp4

After

simplescreenrecorder-2022-05-04_19.30.44.mp4

Note that glow settings in this project are quite excessive – I used stronger values to make the difference more obvious.

@BastiaanOlij
Copy link
Contributor

Well more testing of me today and its still struggling a bit on lower colors. The big issue is that we do not have a high dynamic range on the mobile renderers so storing emissive colors at higher intensity doesn't work well. For your situation I think both clustered and mobile will work fine, but a night time scene where you want to get some nice glow going, it's maxing out.

I think that is just a limitation of the mobile renderer and people who target both mobile renderer and clustered renderer are just going to have to know different intensities are going to be required.

@clayjohn
Copy link
Member

Closing as this is resolved as much as it is going to be

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

No branches or pull requests

3 participants