summaryrefslogtreecommitdiff
path: root/src/render/shaders
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-11-26 20:36:05 +0000
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-11-26 20:36:05 +0000
commit0db75852f326de0433c880d010dd6427be193199 (patch)
tree3e8a1b7e25997403d4108cf029be8fbd6a17fc74 /src/render/shaders
parentafe688e6ab3e021feca8c398d31469109a32a41b (diff)
fix transformed border thickness
Diffstat (limited to 'src/render/shaders')
-rw-r--r--src/render/shaders/Border.hpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/render/shaders/Border.hpp b/src/render/shaders/Border.hpp
index c2be9880..274ae362 100644
--- a/src/render/shaders/Border.hpp
+++ b/src/render/shaders/Border.hpp
@@ -10,6 +10,7 @@ varying vec2 v_texcoord;
uniform vec2 topLeft;
uniform vec2 fullSize;
+uniform vec2 fullSizeUntransformed;
uniform float radius;
uniform float thick;
uniform int primitiveMultisample;
@@ -51,7 +52,7 @@ vec4 getColorForCoord(vec2 normalizedCoord) {
void main() {
highp vec2 pixCoord = vec2(gl_FragCoord);
- vec2 originalPixCoord = fullSize * v_texcoord;
+ vec2 originalPixCoord = fullSizeUntransformed * v_texcoord;
vec4 pixColor = getColorForCoord(v_texcoord);
pixColor[3] *= alpha;
@@ -96,9 +97,9 @@ void main() {
if (!done) {
// distance to all straight bb borders
float distanceT = originalPixCoord[1];
- float distanceB = fullSize[1] - originalPixCoord[1];
+ float distanceB = fullSizeUntransformed[1] - originalPixCoord[1];
float distanceL = originalPixCoord[0];
- float distanceR = fullSize[0] - originalPixCoord[0];
+ float distanceR = fullSizeUntransformed[0] - originalPixCoord[0];
// get the smallest
float smallest = min(min(distanceT, distanceB), min(distanceL, distanceR));