This repository has been archived on 2023-10-09. You can view files and clone it, but cannot push or open issues or pull requests.
Files
blender-archive/source/blender/gpu/shaders/gpu_shader_text_geom.glsl
Clément Foucault 987c56c4b6 BLF: Opti: Draw only one quad per shadow/blurred glyph.
This port the Blurring of blf fonts to the final drawing shader.

We add a bit of extra padding to each glyph so that jittering the texture
coord does not sample the neighbor glyphs.
2018-04-08 00:44:35 +02:00

38 lines
862 B
GLSL

uniform mat4 ModelViewProjectionMatrix;
layout(points) in;
layout(triangle_strip, max_vertices = 4) out;
in vec4 pos_rect[];
in vec4 tex_rect[];
in vec4 color[];
flat out vec4 color_flat;
flat out vec4 texCoord_rect;
noperspective out vec2 texCoord_interp;
void main()
{
color_flat = color[0];
texCoord_rect = tex_rect[0];
gl_Position = (ModelViewProjectionMatrix * vec4(pos_rect[0].xy, 0.0, 1.0));
texCoord_interp = vec2(0.0, 0.0);
EmitVertex();
gl_Position = (ModelViewProjectionMatrix * vec4(pos_rect[0].zy, 0.0, 1.0));
texCoord_interp = vec2(1.0, 0.0);
EmitVertex();
gl_Position = (ModelViewProjectionMatrix * vec4(pos_rect[0].xw, 0.0, 1.0));
texCoord_interp = vec2(0.0, 1.0);
EmitVertex();
gl_Position = (ModelViewProjectionMatrix * vec4(pos_rect[0].zw, 0.0, 1.0));
texCoord_interp = vec2(1.0, 1.0);
EmitVertex();
EndPrimitive();
}