diff options
author | Michael Pavone <pavone@retrodev.com> | 2019-04-27 17:37:12 -0700 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2019-04-27 17:37:12 -0700 |
commit | 53b349a2721d00cdd8002aced72e5fdc168d210a (patch) | |
tree | b17c89cd7f7ec955495e4367361d6b5c3c8010a2 /shaders/sharp.f.glsl | |
parent | 2bc20c30fbb1082a5173283f0ef6aa7facc6449e (diff) |
Added "sharp" shader
Diffstat (limited to 'shaders/sharp.f.glsl')
-rw-r--r-- | shaders/sharp.f.glsl | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/shaders/sharp.f.glsl b/shaders/sharp.f.glsl new file mode 100644 index 0000000..623e1a5 --- /dev/null +++ b/shaders/sharp.f.glsl @@ -0,0 +1,31 @@ + +uniform sampler2D textures[2]; + +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 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; + gl_FragColor = mix( + mix( + texture2D(textures[1], vec2(x0, y1)), + texture2D(textures[0], vec2(x0, y0)), + ymix + ), + mix( + texture2D(textures[1], vec2(x1, y1)), + texture2D(textures[0], vec2(x1, y0)), + ymix + ), + xmix + ); +} |