Fix texture-based anti-aliasing with RGBA textures #5132
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Texture-based anti-aliasing is broken after loading a font using imgui_freetype.cpp with
ImGuiFreeTypeBuilderFlags_LoadColor
set inImFontConfig::FontBuilderFlags
. Using the OpenGL3 backend (haven't tested others).This appears to be because
ImFontAtlasBuildRenderLinesTexData
uses transparent black when writing toTexPixelsRGBA32
. Transparent white is produced (viaGetTexDataAsRGBA32
) when it writes toTexPixelsAlpha8
.This PR removes that difference by having
ImFontAtlasBuildRenderLinesTexData
write transparent white toTexPixelsRGBA32
. It restores anti-aliasing (although I don't fully understand why, so I'm not 100% certain whether this is the correct fix):