Black Flickering on Editor Axes
Tested versions
- Reproducible in 4.2.2
- Not Reproducible in 4.2.1
System information
Godot v4.2.2.stable - macOS 14.1.1 - GLES3 (Compatibility) - Apple M1 - Apple M1 (8 Threads)
Issue description
Certain actions (right-clicking, creating new resources in exports and adding nodes) cause the axes in the editor to flicker black.
Steps to reproduce
- Create a new project
- Right-click on a node.
Minimal reproduction project (MRP)
N/A
For me on Linux it doesn't seem to flicker black on specific actions, it's outright invisible:
I confirm it's not a problem in 4.2.1, so this regressed in 4.2.2. CC @clayjohn
It's a regression from 771db18a5da33d626cb3b212f4fcc8f508afd4d9 / #83895. Reverting it locally solves the issue (also requires reverting 9547818cc0f58d22667a67fb048e08d09c1753e6 first as it modified it further).
I don't have the same problem in master though, so we might be missing another commit, or the cherry-pick was just not suitable for 4.2. CC @clayjohn
For the record, this is on Linux with AMD GPU.
Related to this change, there's also a weird rendering artifact where the 3D lines appear bigger at first when loading the project, then get slimmer.
This is in 4.3-dev (a4fbe4c01f5d4e47bd047b091a65fef9f7eb2cca):
In 4.2.2:
In 4.2.1:
(no difference of line width)
@akien-mga Hmmm, I've seen the disappearing grid line issue before. Its very strange that the grid lines and the origin lines are disappearing as they use a totally different method for drawing. I suspect its an issue with our mesh compression code that was fixed in 4.3. Also note, the OP is using the compatibility renderer while you are using the Forward+ renderer.
Can you test changing this line to use fwidthFine() instead?
https://github.com/godotengine/godot/blob/4bca2d8bc64e84a764ee656b9c42443b24448f53/editor/plugins/node_3d_editor_plugin.cpp#L6576
I think many AMD devices default to using Coarse if nothing is specified, which could explain your issue.
As for the OP. I can reproduce the flickering black issue on macOS using the compatibility renderer in both 4.2.2 and 4.3 dev 5. So these are definitely different issues