diff options
| author | Indrajith K L | 2025-11-05 02:21:56 +0530 |
|---|---|---|
| committer | Indrajith K L | 2025-11-05 02:21:56 +0530 |
| commit | 4f34b7aad9abc3aace50140115bd9696441c8231 (patch) | |
| tree | bb9f0a5c52ceb50aad7f80b4b4f33e43434f38b4 /src | |
| parent | 10c22d35678f96e722f25a12badca98febb2921e (diff) | |
| download | reilua-enhanced-4f34b7aad9abc3aace50140115bd9696441c8231.tar.gz reilua-enhanced-4f34b7aad9abc3aace50140115bd9696441c8231.tar.bz2 reilua-enhanced-4f34b7aad9abc3aace50140115bd9696441c8231.zip | |
Disable antialiasing for all fonts loaded via Lua API
All pixel fonts and TTF fonts loaded through RL.LoadFont(),
RL.LoadFontEx(), RL.LoadFontFromImage(), and RL.LoadFontFromMemory()
now use TEXTURE_FILTER_POINT instead of the default bilinear filtering.
This ensures crisp, pixel-perfect rendering without blurring for
pixel art fonts and maintains consistency across all font loading
methods in the game engine.
Diffstat (limited to 'src')
| -rw-r--r-- | src/text.c | 32 |
1 files changed, 21 insertions, 11 deletions
@@ -185,7 +185,9 @@ Load font from file into GPU memory (VRAM) */ int ltextLoadFont( lua_State* L ) { if ( FileExists( luaL_checkstring( L, 1 ) ) ) { - uluaPushFont( L, LoadFont( lua_tostring( L, 1 ) ) ); + Font font = LoadFont( lua_tostring( L, 1 ) ); + SetTextureFilter( font.texture, TEXTURE_FILTER_POINT ); + uluaPushFont( L, font ); return 1; } @@ -207,16 +209,19 @@ int ltextLoadFontEx( lua_State* L ) { int fontSize = luaL_checkinteger( L, 2 ); if ( FileExists( luaL_checkstring( L, 1 ) ) ) { + Font font; if ( lua_istable( L, 3 ) ) { int codepointCount = uluaGetTableLen( L, 3 ); int codepoints[ codepointCount ]; getCodepoints( L, codepoints, 3 ); - uluaPushFont( L, LoadFontEx( lua_tostring( L, 1 ), fontSize, codepoints, codepointCount ) ); - - return 1; + font = LoadFontEx( lua_tostring( L, 1 ), fontSize, codepoints, codepointCount ); + } + else { + font = LoadFontEx( lua_tostring( L, 1 ), fontSize, NULL, 0 ); } - uluaPushFont( L, LoadFontEx( lua_tostring( L, 1 ), fontSize, NULL, 0 ) ); + SetTextureFilter( font.texture, TEXTURE_FILTER_POINT ); + uluaPushFont( L, font ); return 1; } @@ -238,7 +243,9 @@ int ltextLoadFontFromImage( lua_State* L ) { Color key = uluaGetColor( L, 2 ); int firstChar = luaL_checkinteger( L, 3 ); - uluaPushFont( L, LoadFontFromImage( *image, key, firstChar ) ); + Font font = LoadFontFromImage( *image, key, firstChar ); + SetTextureFilter( font.texture, TEXTURE_FILTER_POINT ); + uluaPushFont( L, font ); return 1; } @@ -255,17 +262,20 @@ int ltextLoadFontFromMemory( lua_State* L ) { Buffer* fileData = uluaGetBuffer( L, 2 ); int fontSize = luaL_checkinteger( L, 3 ); + Font font; if ( lua_istable( L, 4 ) ) { int codepointCount = uluaGetTableLen( L, 4 ); int codepoints[ codepointCount ]; getCodepoints( L, codepoints, 4 ); - uluaPushFont( L, LoadFontFromMemory( fileType, fileData->data, fileData->size, fontSize, codepoints, codepointCount ) ); - - return 1; + font = LoadFontFromMemory( fileType, fileData->data, fileData->size, fontSize, codepoints, codepointCount ); } - /* If no codepoints provided. */ - uluaPushFont( L, LoadFontFromMemory( fileType, fileData->data, fileData->size, fontSize, NULL, 0 ) ); + else { + /* If no codepoints provided. */ + font = LoadFontFromMemory( fileType, fileData->data, fileData->size, fontSize, NULL, 0 ); + } + SetTextureFilter( font.texture, TEXTURE_FILTER_POINT ); + uluaPushFont( L, font ); return 1; } |
