WIP - (Breaking) Removed atlas->TexDesiredWidth now unnecessary (github 327)

This commit is contained in:
ocornut 2024-11-29 17:22:33 +01:00 committed by ocornut
parent 2ab4fa7be6
commit 030b710da1
3 changed files with 3 additions and 4 deletions

View file

@ -60,7 +60,6 @@ Some solutions:
- Reduce glyphs ranges by calculating them from source localization data.
You can use the `ImFontGlyphRangesBuilder` for this purpose and rebuilding your atlas between frames when new characters are needed. This will be the biggest win!
- Set `io.Fonts.Flags |= ImFontAtlasFlags_NoPowerOfTwoHeight;` to disable rounding the texture height to the next power of two.
- Set `io.Fonts.TexDesiredWidth` to specify a texture width to reduce maximum texture height (see comment in `ImFontAtlas::Build()` function).
Future versions of Dear ImGui should solve this problem.

View file

@ -3717,6 +3717,7 @@ struct ImFontAtlas
float _PackNodesFactor = 1.0f;
// [Obsolete]
//int TexDesiredWidth; // OBSOLETED in 1.91.5 (force texture width before calling Build(). Must be a power-of-two. If have many glyphs your graphics API have texture size restrictions you may want to increase texture width to decrease height)
//typedef ImFontAtlasCustomRect CustomRect; // OBSOLETED in 1.72+
//typedef ImFontGlyphRangesBuilder GlyphRangesBuilder; // OBSOLETED in 1.67+
};

View file

@ -3637,9 +3637,8 @@ void ImFontAtlasBuildGrowTexture(ImFontAtlas* atlas, int old_tex_w, int old_tex_
if (old_tex_h == -1)
old_tex_h = atlas->TexData->Height;
// FIXME-NEWATLAS-V1: Handle atlas->TexDesiredWidth from user?
// FIXME-NEWATLAS-V1: What to do when reaching limits exposed by backend?
// FIXME-NEWATLAS-V1: does ImFontAtlasFlags_NoPowerOfTwoHeight makes sense now? Allow 'lock' and 'compact' operations?
// FIXME-NEWATLAS-V2: What to do when reaching limits exposed by backend?
// FIXME-NEWATLAS-V2: does ImFontAtlasFlags_NoPowerOfTwoHeight makes sense now? Allow 'lock' and 'compact' operations?
IM_ASSERT(ImIsPowerOfTwo(old_tex_w) && ImIsPowerOfTwo(old_tex_h));
// Grow texture so it follows roughly a square.