From 1c9a0be8c40ee47cd438ab33f2bfe4184b19b8a7 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Sat, 26 Nov 2022 13:51:30 +0000 Subject: [PATCH] fix up the border shader --- src/render/shaders/Border.hpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/render/shaders/Border.hpp b/src/render/shaders/Border.hpp index 6cadede6b..70ed8baa7 100644 --- a/src/render/shaders/Border.hpp +++ b/src/render/shaders/Border.hpp @@ -31,19 +31,19 @@ void main() { float dist = length(pixCoord); - if (dist > radius || dist < radius - thick - 1.0) + if (dist > radius + 1.0 || dist < radius - thick - 1.0) discard; if (primitiveMultisample == 1 && (dist > radius - 1.0 || dist < radius - thick + 1.0)) { float distances = 0.0; float len = length(pixCoord + vec2(0.25, 0.25)); - distances += float(len < radius && len > radius - thick); + distances += float(len < radius + 0.5 && len > radius - thick); len = length(pixCoord + vec2(0.75, 0.25)); - distances += float(len < radius && len > radius - thick); + distances += float(len < radius + 0.5 && len > radius - thick); len = length(pixCoord + vec2(0.25, 0.75)); - distances += float(len < radius && len > radius - thick); + distances += float(len < radius + 0.5 && len > radius - thick); len = length(pixCoord + vec2(0.75, 0.75)); - distances += float(len < radius && len > radius - thick); + distances += float(len < radius + 0.5 && len > radius - thick); if (distances == 0.0) discard; @@ -51,7 +51,8 @@ void main() { distances /= 4.0; pixColor = pixColor * distances; - } + } else if (dist > radius || dist < radius - thick) + discard; done = true; }