godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
90.46k stars 21.07k forks source link

AutoExposure flickering wildly when framebuffer allocation = 2D #27439

Open slavfox opened 5 years ago

slavfox commented 5 years ago

Godot version: 81292665d5dcc991d3c9341245b269193329ee22 (latest master as of this issue), but occurs since at least 3.1

OS/device including version: Antergos, kernel 5.0.4-arch1-1-ARCH NVIDIA GeForce GTX 1080 Ti, proprietary drivers, version 418.56

Issue description: AutoExposure causes screen to flicker like it has a personal vendetta against people with epilepsy when there is a sprite with a normalmap on-screen and the framebuffer allocation is set to 2D. Possibly related to #16224?

Steps to reproduce:

Minimal reproduction project: bugrepro.tar.gz

slavfox commented 5 years ago

Workaround is to set framebuffer allocation to 3D.

KoBeWi commented 3 years ago

Still valid in 3.2.4 beta3 No flicker in ef2d1f6, but no background either 🤔

h0lley commented 3 years ago

I was about to submit an issue which is very likely to be the same as this one already reported here, but then luckily searched one more time. In my case, I identified that it occurs in combination with the gui/theme/custom_font project setting.

Auto exposure in 2D breaks in combination with gui/theme/custom_font

Godot version:

3.3.rc8.official

OS/device including version:

Ubuntu (Kubuntu 20.04), Nvidia GPU (nothing else tested)

Issue description:

The game flickers with default settings for auto exposure in 2D. It should no flicker with these settings.

Steps to reproduce: Please download the minimal reproduction project.

  1. Open in Godot, run via F5 and confirm the flickering.
  2. Checkout environment.tres and confirm that the auto exposure settings are fine / shouldn't cause this kind of flickering.

The issue is peculiar to me as I'd never have imagined for the gui/theme/custom_font project setting to affect auto exposure post-processing, but here's what I learned as I tried to reduce the reproduction project as much as possible:

Minimal reproduction project:

2d_auto_exposure_bug.zip

h0lley commented 2 years ago

as a follow up on this, the strange reproduction requirements I listed in my earlier comment are not directly connected to this issue, but rather, the flickering can apparently be caused by memory allocation in general.

in my current (non-minimal) project, the flickering does not occur - however, when I change a load into a preload in one specific file, which of course should have no bearing on world environment effects whatsoever, then it flickers.

issue last confirmed in 3.5.beta1.