Replace stb_truetype with FreeType for proper text outline rendering
- Add -sUSE_FREETYPE=1 to Emscripten build flags - Extend Font class with FT_Library, FT_Face, and FT_Stroker handles - Rewrite FontAtlas to use FreeType with on-demand stroked glyph loading - Text outlines now use FT_Stroker for vector-based stroking before rasterization, eliminating gaps at corners with thick outlines - Use glTexSubImage2D for incremental atlas updates (major perf fix) - Disable canvas border in shell.html per Emscripten docs (alignment fix) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
1be2714240
commit
67aa413a78
5 changed files with 538 additions and 128 deletions
|
|
@ -283,12 +283,14 @@ if(EMSCRIPTEN)
|
|||
-sFULL_ES2=1
|
||||
-sMIN_WEBGL_VERSION=2
|
||||
-sMAX_WEBGL_VERSION=2
|
||||
-sUSE_FREETYPE=1
|
||||
)
|
||||
# SDL2 flags are also needed at compile time for headers
|
||||
# SDL2 and FreeType flags are also needed at compile time for headers
|
||||
target_compile_options(mcrogueface PRIVATE
|
||||
-sUSE_SDL=2
|
||||
-sUSE_FREETYPE=1
|
||||
)
|
||||
message(STATUS "Emscripten SDL2 options enabled: -sUSE_SDL=2 -sFULL_ES2=1")
|
||||
message(STATUS "Emscripten SDL2 options enabled: -sUSE_SDL=2 -sFULL_ES2=1 -sUSE_FREETYPE=1")
|
||||
endif()
|
||||
|
||||
target_link_options(mcrogueface PRIVATE ${EMSCRIPTEN_LINK_OPTIONS})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue