diff --git a/source/blender/blenfont/intern/blf.c b/source/blender/blenfont/intern/blf.c index ec1f3d1f1f1..d7fcb2c727f 100644 --- a/source/blender/blenfont/intern/blf.c +++ b/source/blender/blenfont/intern/blf.c @@ -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) diff --git a/source/blender/gpu/shaders/gpu_shader_text_frag.glsl b/source/blender/gpu/shaders/gpu_shader_text_frag.glsl index 4869a6360fa..c8c90d8bf09 100644 --- a/source/blender/gpu/shaders/gpu_shader_text_frag.glsl +++ b/source/blender/gpu/shaders/gpu_shader_text_frag.glsl @@ -1,6 +1,6 @@ flat varying vec4 color; -varying vec2 texcoord; +noperspective varying vec2 texcoord; uniform sampler2D glyph; diff --git a/source/blender/gpu/shaders/gpu_shader_text_vert.glsl b/source/blender/gpu/shaders/gpu_shader_text_vert.glsl index 8449c4229b3..72479401568 100644 --- a/source/blender/gpu/shaders/gpu_shader_text_vert.glsl +++ b/source/blender/gpu/shaders/gpu_shader_text_vert.glsl @@ -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; }