From b38e7b596f03dc6f7f6adec36df5bea2325642b5 Mon Sep 17 00:00:00 2001 From: Felix Dick Date: Thu, 29 Sep 2022 21:10:05 +0200 Subject: Don't pass bottomRight to textureShaders compute it within. --- src/render/shaders/Textures.hpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'src/render/shaders') diff --git a/src/render/shaders/Textures.hpp b/src/render/shaders/Textures.hpp index a541ec0a..42bd0856 100644 --- a/src/render/shaders/Textures.hpp +++ b/src/render/shaders/Textures.hpp @@ -6,6 +6,7 @@ inline static constexpr auto ROUNDED_SHADER_FUNC = [](const std::string colorVar return R"#( // branchless baby! + vec2 bottomRight = fullSize - radius; vec2 pixCoord = v_texcoord - vec2(0.5); pixCoord *= (vec2(lessThan(pixCoord, vec2(0.0))) * vec2(-2.0) + vec2(1.0)) * fullSize; pixCoord -= (bottomRight - topLeft) * vec2(0.5); @@ -59,7 +60,6 @@ varying vec4 v_color; varying vec2 v_texcoord; uniform vec2 topLeft; -uniform vec2 bottomRight; uniform vec2 fullSize; uniform float radius; @@ -88,7 +88,6 @@ void main() { v_texcoord = texcoord; })#"; -// this is texture rendering!! inline const std::string TEXFRAGSRCRGBA = R"#( precision mediump float; varying vec2 v_texcoord; // is in 0-1 @@ -96,7 +95,6 @@ uniform sampler2D tex; uniform float alpha; uniform vec2 topLeft; -uniform vec2 bottomRight; uniform vec2 fullSize; uniform float radius; @@ -134,7 +132,6 @@ uniform sampler2D tex; uniform float alpha; uniform vec2 topLeft; -uniform vec2 bottomRight; uniform vec2 fullSize; uniform float radius; @@ -221,7 +218,6 @@ uniform samplerExternalOES texture0; uniform float alpha; uniform vec2 topLeft; -uniform vec2 bottomRight; uniform vec2 fullSize; uniform float radius; -- cgit v1.2.3 From 6eb7d0038644fab09c8512ad34cdcbde1882ffc0 Mon Sep 17 00:00:00 2001 From: Felix Dick Date: Thu, 29 Sep 2022 23:19:56 +0200 Subject: Send absolute screen coordinates to texture shaders. --- src/render/shaders/Textures.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/render/shaders') diff --git a/src/render/shaders/Textures.hpp b/src/render/shaders/Textures.hpp index 42bd0856..a7c53aea 100644 --- a/src/render/shaders/Textures.hpp +++ b/src/render/shaders/Textures.hpp @@ -6,10 +6,10 @@ inline static constexpr auto ROUNDED_SHADER_FUNC = [](const std::string colorVar return R"#( // branchless baby! - vec2 bottomRight = fullSize - radius; - vec2 pixCoord = v_texcoord - vec2(0.5); - pixCoord *= (vec2(lessThan(pixCoord, vec2(0.0))) * vec2(-2.0) + vec2(1.0)) * fullSize; - pixCoord -= (bottomRight - topLeft) * vec2(0.5); + highp vec2 pixCoord = vec2(gl_FragCoord); + pixCoord -= (topLeft + fullSize / vec2(2.0)); + pixCoord *= (vec2(lessThan(pixCoord, vec2(0.0))) * vec2(-2.0) + vec2(1.0)); + pixCoord -= fullSize * vec2(0.5) - vec2(radius); if (all(greaterThan(pixCoord, vec2(0.0)))) { -- cgit v1.2.3