diff options
Diffstat (limited to 'source/blender/gpu/shaders/gpu_shader_text_vert.glsl')
-rw-r--r-- | source/blender/gpu/shaders/gpu_shader_text_vert.glsl | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_text_vert.glsl b/source/blender/gpu/shaders/gpu_shader_text_vert.glsl index d8e4b2bc986..28437208e91 100644 --- a/source/blender/gpu/shaders/gpu_shader_text_vert.glsl +++ b/source/blender/gpu/shaders/gpu_shader_text_vert.glsl @@ -5,13 +5,17 @@ in vec4 pos; /* rect */ in vec4 tex; /* rect */ in vec4 col; -out vec4 pos_rect; -out vec4 tex_rect; -out vec4 color; +flat out vec4 color_flat; +noperspective out vec2 texCoord_interp; void main() { - pos_rect = pos; - tex_rect = tex; - color = col; + /* Quad expension using instanced rendering. */ + float x = float(gl_VertexID % 2); + float y = float(gl_VertexID / 2); + vec2 quad = vec2(x, y); + + gl_Position = ModelViewProjectionMatrix * vec4(mix(pos.xy, pos.zw, quad), 0.0, 1.0); + texCoord_interp = mix(abs(tex.xy), abs(tex.zw), quad) * sign(tex.xw); + color_flat = col; } |