OpenGL: streamline font rendering
Ignore texture matrix in the shader, stop messing with texture matrix in BLF code. Use linear screen-space interpolation instead of perspective. Avoid redundant call to glMatrixMode.
This commit is contained in:
parent
1b1275f0db
commit
e21853abb9
|
@ -507,11 +507,8 @@ static void blf_draw_gl__start(FontBLF *font, GLint *mode)
|
|||
/* Save the current matrix mode. */
|
||||
glGetIntegerv(GL_MATRIX_MODE, mode);
|
||||
|
||||
glMatrixMode(GL_TEXTURE);
|
||||
glPushMatrix();
|
||||
glLoadIdentity();
|
||||
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
if (*mode != GL_MODELVIEW)
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
glPushMatrix();
|
||||
|
||||
if (font->flags & BLF_MATRIX)
|
||||
|
@ -534,10 +531,6 @@ static void blf_draw_gl__start(FontBLF *font, GLint *mode)
|
|||
|
||||
static void blf_draw_gl__end(GLint mode)
|
||||
{
|
||||
glMatrixMode(GL_TEXTURE);
|
||||
glPopMatrix();
|
||||
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
glPopMatrix();
|
||||
|
||||
if (mode != GL_MODELVIEW)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
flat varying vec4 color;
|
||||
varying vec2 texcoord;
|
||||
noperspective varying vec2 texcoord;
|
||||
|
||||
uniform sampler2D glyph;
|
||||
|
||||
|
|
|
@ -5,12 +5,12 @@
|
|||
// - generic attrib inputs (2D pos, tex coord)
|
||||
|
||||
flat varying vec4 color;
|
||||
varying vec2 texcoord;
|
||||
noperspective varying vec2 texcoord;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
|
||||
|
||||
color = gl_Color;
|
||||
texcoord = (gl_TextureMatrix[0] * gl_MultiTexCoord0).st;
|
||||
texcoord = gl_MultiTexCoord0.st;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue