diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-11-26 13:51:30 +0000 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-11-26 13:51:30 +0000 |
| commit | 1c9a0be8c40ee47cd438ab33f2bfe4184b19b8a7 (patch) | |
| tree | 12223f65dd417b6ede107f407e08b245e6263db2 /src/render/shaders | |
| parent | f45ec2497735851cd3d361278abaa7e58ec08b2a (diff) | |
fix up the border shader
Diffstat (limited to 'src/render/shaders')
| -rw-r--r-- | src/render/shaders/Border.hpp | 13 |
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; } |
