summaryrefslogtreecommitdiff
path: root/src/render/shaders
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-11-26 13:51:30 +0000
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-11-26 13:51:30 +0000
commit1c9a0be8c40ee47cd438ab33f2bfe4184b19b8a7 (patch)
tree12223f65dd417b6ede107f407e08b245e6263db2 /src/render/shaders
parentf45ec2497735851cd3d361278abaa7e58ec08b2a (diff)
fix up the border shader
Diffstat (limited to 'src/render/shaders')
-rw-r--r--src/render/shaders/Border.hpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/render/shaders/Border.hpp b/src/render/shaders/Border.hpp
index 6cadede6..70ed8baa 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;
}