Mercurial > repos > blastem
diff shaders/sharp.f.glsl @ 1977:f3cca4b3f17a
Allow use of NPOT textures as a config option. Useful for some mobile GPUs
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 09 May 2020 21:15:33 -0700 |
parents | be1da0a68d1e |
children |
line wrap: on
line diff
--- a/shaders/sharp.f.glsl Sat May 09 13:15:49 2020 -0700 +++ b/shaders/sharp.f.glsl Sat May 09 21:15:33 2020 -0700 @@ -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)),