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

OpenGL: Font rendering quality is worse than in Vulkan #66463

Closed
Tracked by #66458
Calinou opened this issue Sep 26, 2022 · 1 comment · Fixed by #66861
Closed
Tracked by #66458

OpenGL: Font rendering quality is worse than in Vulkan #66463

Calinou opened this issue Sep 26, 2022 · 1 comment · Fixed by #66861

Comments

@Calinou
Copy link
Member

Calinou commented Sep 26, 2022

Godot version

4.0.beta (53d2a9a)

System information

Fedora 36, GeForce GTX 1080 (NVIDIA 515.65.01)

Issue description

Notice how text has black fringing on outlines for certain GUI elements:

Click to view at full size, which is required for accurate comparison.

OpenGL Vulkan
2022-09-26_19 42 04 image
OpenGL Vulkan
2022-09-26_19 42 48 image

This is not present for all text though. Maybe it's caused by sub-pixel offset on certain Control nodes?

This may due to the font subpixel optimization blend mode not being updated for the OpenGL renderer. That said, the editor fonts do not use subpixel optimization (there are no settings for it, even).

Note: This is unrelated to font subpixel positioning, which only affects how the glyphs themselves are rasterized, not how the engine draws them. I'm referring to font LCD subpixel optimizations above.

Steps to reproduce

  • Open the editor on a project with the OpenGL renderer (godot /path/to/project.godot --rendering-driver opengl3 --single-window).

Minimal reproduction project

N/A

@clayjohn
Copy link
Member

clayjohn commented Sep 30, 2022

I spent some time yesterday investigating this issue. I think I have it narrowed down to an issue with the texture format in OpenGL. OpenGL appears to do something funny when blending the multiple samples taken for linear sampling.

Edit: I was wrong, it wasn't from linear filtering, it was a classic accidentally writing to alpha channel bug

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

Successfully merging a pull request may close this issue.

2 participants