summaryrefslogtreecommitdiff
path: root/shaders/sharp.f.glsl
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2020-05-09 21:15:33 -0700
committerMichael Pavone <pavone@retrodev.com>2020-05-09 21:15:33 -0700
commit906de963739ee87c9b63c7d2be7732caab1ae69a (patch)
tree4f36b9eb104d552c90e280c83c075c61cea51f6e /shaders/sharp.f.glsl
parent758a2d754ec7d13eddb86010280569c46b5e9d38 (diff)
Allow use of NPOT textures as a config option. Useful for some mobile GPUs
Diffstat (limited to 'shaders/sharp.f.glsl')
-rw-r--r--shaders/sharp.f.glsl16
1 files changed, 7 insertions, 9 deletions
diff --git a/shaders/sharp.f.glsl b/shaders/sharp.f.glsl
index 623e1a5..dbd934b 100644
--- a/shaders/sharp.f.glsl
+++ b/shaders/sharp.f.glsl
@@ -1,20 +1,18 @@
uniform sampler2D textures[2];
+uniform mediump vec2 texsize;
varying mediump vec2 texcoord;
void main()
{
- mediump float x0 = (floor(texcoord.x * 512.0 - 0.25) + 0.5)/512.0;
- mediump float x1 = (floor(texcoord.x * 512.0 + 0.25) + 0.5)/512.0;
- mediump float y0 = (floor(texcoord.y * 512.0 + 0.25) + 0.5)/512.0;
- mediump float y1 = (floor(texcoord.y * 512.0 - 0.25) + 0.5)/512.0;
+ mediump float x0 = (floor(texcoord.x * texsize.x - 0.25) + 0.5)/texsize.x;
+ mediump float x1 = (floor(texcoord.x * texsize.x + 0.25) + 0.5)/texsize.x;
+ mediump float y0 = (floor(texcoord.y * texsize.y + 0.25) + 0.5)/texsize.y;
+ mediump float y1 = (floor(texcoord.y * texsize.y - 0.25) + 0.5)/texsize.y;
-
- mediump vec2 modifiedCoord0 = vec2(texcoord.x, (floor(texcoord.y * 512.0 + 0.25) + 0.5)/512.0);
- mediump vec2 modifiedCoord1 = vec2(texcoord.x, (floor(texcoord.y * 512.0 - 0.25) + 0.5)/512.0);
- mediump float ymix = (sin(texcoord.y * 1024.0 * 3.14159265359) + 1.0) * 0.5;
- mediump float xmix = (sin(texcoord.x * 1024.0 * 3.14159265359) + 1.0) * 0.5;
+ mediump float ymix = (sin(texcoord.y * texsize.y * 6.283185307) + 1.0) * 0.5;
+ mediump float xmix = (sin(texcoord.x * texsize.x * 6.283185307) + 1.0) * 0.5;
gl_FragColor = mix(
mix(
texture2D(textures[1], vec2(x0, y1)),