annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1856
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
1
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
2 uniform sampler2D textures[2];
1977
f3cca4b3f17a Allow use of NPOT textures as a config option. Useful for some mobile GPUs
Michael Pavone <pavone@retrodev.com>
parents: 1856
diff changeset
3 uniform mediump vec2 texsize;
1856
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
4
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
5 varying mediump vec2 texcoord;
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
6
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
7 void main()
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
8 {
1977
f3cca4b3f17a Allow use of NPOT textures as a config option. Useful for some mobile GPUs
Michael Pavone <pavone@retrodev.com>
parents: 1856
diff changeset
9 mediump float x0 = (floor(texcoord.x * texsize.x - 0.25) + 0.5)/texsize.x;
f3cca4b3f17a Allow use of NPOT textures as a config option. Useful for some mobile GPUs
Michael Pavone <pavone@retrodev.com>
parents: 1856
diff changeset
10 mediump float x1 = (floor(texcoord.x * texsize.x + 0.25) + 0.5)/texsize.x;
f3cca4b3f17a Allow use of NPOT textures as a config option. Useful for some mobile GPUs
Michael Pavone <pavone@retrodev.com>
parents: 1856
diff changeset
11 mediump float y0 = (floor(texcoord.y * texsize.y + 0.25) + 0.5)/texsize.y;
f3cca4b3f17a Allow use of NPOT textures as a config option. Useful for some mobile GPUs
Michael Pavone <pavone@retrodev.com>
parents: 1856
diff changeset
12 mediump float y1 = (floor(texcoord.y * texsize.y - 0.25) + 0.5)/texsize.y;
1856
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
13
1977
f3cca4b3f17a Allow use of NPOT textures as a config option. Useful for some mobile GPUs
Michael Pavone <pavone@retrodev.com>
parents: 1856
diff changeset
14 mediump float ymix = (sin(texcoord.y * texsize.y * 6.283185307) + 1.0) * 0.5;
f3cca4b3f17a Allow use of NPOT textures as a config option. Useful for some mobile GPUs
Michael Pavone <pavone@retrodev.com>
parents: 1856
diff changeset
15 mediump float xmix = (sin(texcoord.x * texsize.x * 6.283185307) + 1.0) * 0.5;
1856
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
16 gl_FragColor = mix(
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
17 mix(
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
18 texture2D(textures[1], vec2(x0, y1)),
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
19 texture2D(textures[0], vec2(x0, y0)),
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
20 ymix
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
21 ),
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
22 mix(
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
23 texture2D(textures[1], vec2(x1, y1)),
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
24 texture2D(textures[0], vec2(x1, y0)),
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
25 ymix
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
26 ),
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
27 xmix
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
28 );
be1da0a68d1e Added "sharp" shader
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
29 }