reverting commit [43876] Fix for aliased fonts in the game engine
authorDalai Felinto <dfelinto@gmail.com>
Fri, 10 Feb 2012 06:18:32 +0000 (06:18 +0000)
committerDalai Felinto <dfelinto@gmail.com>
Fri, 10 Feb 2012 06:18:32 +0000 (06:18 +0000)
source/blender/blenfont/BLF_api.h
source/blender/blenfont/intern/blf_glyph.c
source/gameengine/BlenderRoutines/KX_BlenderGL.cpp
source/gameengine/GamePlayer/common/GPC_RenderTools.cpp

index 8752def..a045f47 100644 (file)
@@ -197,7 +197,6 @@ void BLF_dir_free(char **dirs, int count);
 #define BLF_KERNING_DEFAULT (1<<3)
 #define BLF_MATRIX (1<<4)
 #define BLF_ASPECT (1<<5)
-#define BLF_TEXFILTER (1<<6)
 
 #define BLF_DRAW_STR_DUMMY_MAX 1024
 
index ab7ef80..f0cfcdc 100644 (file)
@@ -54,8 +54,6 @@
 #include "blf_internal_types.h"
 #include "blf_internal.h"
 
-#define _BLF_PADDING 3
-#define _BLF_MIPMAP_LEVELS 3
 
 GlyphCacheBLF *blf_glyph_cache_find(FontBLF *font, int size, int dpi)
 {
@@ -89,11 +87,7 @@ GlyphCacheBLF *blf_glyph_cache_new(FontBLF *font)
        gc->cur_tex= -1;
        gc->x_offs= 0;
        gc->y_offs= 0;
-       /* Increase padding for each mipmap level: 0->3, 1->4, 2->6, 3->10, ... */
-       if (font->flags & BLF_TEXFILTER)
-               gc->pad= pow(2, _BLF_MIPMAP_LEVELS) + 2;
-       else
-               gc->pad= _BLF_PADDING;
+       gc->pad= 3;
 
        gc->num_glyphs= font->face->num_glyphs;
        gc->rem_glyphs= font->face->num_glyphs;
@@ -302,17 +296,13 @@ void blf_glyph_free(GlyphBLF *g)
 
 static void blf_texture_draw(float uv[2][2], float dx, float y1, float dx1, float y2)
 {
-       /* When a string is being rendered as individual glyphs (as in the game
-        * engine), the leading edge needs to be raised a fraction to prevent
-        * z-fighting for kerned characters. - z0r */
-       const float twist = (dx1 - dx) * 0.0002f;
-
+       
        glBegin(GL_QUADS);
        glTexCoord2f(uv[0][0], uv[0][1]);
-       glVertex3f(dx, y1, twist);
+       glVertex2f(dx, y1);
        
        glTexCoord2f(uv[0][0], uv[1][1]);
-       glVertex3f(dx, y2, twist);
+       glVertex2f(dx, y2);
        
        glTexCoord2f(uv[1][0], uv[1][1]);
        glVertex2f(dx1, y2);
@@ -415,15 +405,6 @@ int blf_glyph_render(FontBLF *font, GlyphBLF *g, float x, float y)
 
                glBindTexture(GL_TEXTURE_2D, g->tex);
                glTexSubImage2D(GL_TEXTURE_2D, 0, g->xoff, g->yoff, g->width, g->height, GL_ALPHA, GL_UNSIGNED_BYTE, g->bitmap);
-               if (font->flags & BLF_TEXFILTER) {
-                       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, 0);
-                       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL,
-                                       _BLF_MIPMAP_LEVELS);
-                       glGenerateMipmap(GL_TEXTURE_2D);
-                       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-                       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
-                                       GL_LINEAR_MIPMAP_LINEAR);
-               }
                glPopClientAttrib();
 
                g->uv[0][0]= ((float)g->xoff) / ((float)gc->p2_width);
index 78dcfc8..7a99a4a 100644 (file)
@@ -136,8 +136,8 @@ void BL_print_game_line(int fontid, const char* text, int size, int dpi, float*
        /* the actual drawing */
        glColor4fv(color);
 
-       BLF_enable(fontid, BLF_MATRIX|BLF_ASPECT|BLF_TEXFILTER);
        /* multiply the text matrix by the object matrix */
+       BLF_enable(fontid, BLF_MATRIX|BLF_ASPECT);
        BLF_matrix(fontid, mat);
 
        /* aspect is the inverse scale that allows you to increase */
@@ -149,7 +149,7 @@ void BL_print_game_line(int fontid, const char* text, int size, int dpi, float*
        BLF_position(fontid, 0, 0, 0);
        BLF_draw(fontid, (char *)text, 65535);
 
-       BLF_disable(fontid, BLF_MATRIX|BLF_ASPECT|BLF_TEXFILTER);
+       BLF_disable(fontid, BLF_MATRIX|BLF_ASPECT);
 }
 
 void BL_print_gamedebug_line(const char* text, int xco, int yco, int width, int height)
index 03d3c8f..55e3220 100644 (file)
@@ -294,8 +294,8 @@ void GPC_RenderTools::RenderText3D( int fontid,
        /* the actual drawing */
        glColor4fv(color);
  
-       BLF_enable(fontid, BLF_MATRIX|BLF_ASPECT|BLF_TEXFILTER);
        /* multiply the text matrix by the object matrix */
+       BLF_enable(fontid, BLF_MATRIX|BLF_ASPECT);
        BLF_matrix(fontid, mat);
 
        /* aspect is the inverse scale that allows you to increase */
@@ -307,7 +307,7 @@ void GPC_RenderTools::RenderText3D( int fontid,
        BLF_position(fontid, 0, 0, 0);
        BLF_draw(fontid, text, 65535);
 
-       BLF_disable(fontid, BLF_MATRIX|BLF_ASPECT|BLF_TEXFILTER);
+       BLF_disable(fontid, BLF_MATRIX|BLF_ASPECT);
        glEnable(GL_DEPTH_TEST);
 }