diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-11-26 20:36:05 +0000 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-11-26 20:36:05 +0000 |
| commit | 0db75852f326de0433c880d010dd6427be193199 (patch) | |
| tree | 3e8a1b7e25997403d4108cf029be8fbd6a17fc74 /src/render/shaders | |
| parent | afe688e6ab3e021feca8c398d31469109a32a41b (diff) | |
fix transformed border thickness
Diffstat (limited to 'src/render/shaders')
| -rw-r--r-- | src/render/shaders/Border.hpp | 7 |
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)); |
