From 591f79ce905680be94e696876b7f6e66dff568b8 Mon Sep 17 00:00:00 2001 From: Jakub Valtar Date: Sat, 6 Jan 2018 16:47:22 +0100 Subject: [PATCH] Fix line join triangles Fixes #5353 --- core/src/processing/opengl/shaders/LineVert.glsl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/src/processing/opengl/shaders/LineVert.glsl b/core/src/processing/opengl/shaders/LineVert.glsl index 7dc290b78..50946ba5a 100644 --- a/core/src/processing/opengl/shaders/LineVert.glsl +++ b/core/src/processing/opengl/shaders/LineVert.glsl @@ -71,7 +71,10 @@ void main() { // and corrects for aspect ratio, see https://github.com/processing/processing/issues/5181) // t = +- normalize( (q.xy*p.w - p.xy*q.w) * viewport.zw ) - vec2 tangent = normalize((q.xy*p.w - p.xy*q.w) * viewport.zw); + vec2 tangent = (q.xy*p.w - p.xy*q.w) * viewport.zw; + + // don't normalize zero vector (line join triangles and lines perpendicular to the eye plane) + tangent = length(tangent) == 0.0 ? vec2(0.0, 0.0) : normalize(tangent); // flip tangent to normal (it's already normalized) vec2 normal = vec2(-tangent.y, tangent.x);