1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
// Cyrille Henry 2007
uniform sampler2D texture;
const float dx = 1./500.; // change to gemwin dim
void main (void)
{
vec2 tmp = (gl_TextureMatrix[0] * gl_TexCoord[0]).st;
float x = tmp.s;
float y = tmp.t;
vec4 c;
c = texture2D(texture, vec2(x-dx, y-dx));
c += texture2D(texture, vec2(x, y-dx));
c += texture2D(texture, vec2(x+dx, y-dx));
c += texture2D(texture, vec2(x-dx, y));
c += texture2D(texture, vec2(x+dx, y));
c += texture2D(texture, vec2(x-dx, y+dx));
c += texture2D(texture, vec2(x, y+dx));
c += texture2D(texture, vec2(x+dx, y+dx));
vec4 c1 = texture2D(texture, vec2(x, y));
c.rgb = vec3(step(2.5-c1.r,c.r)*step(c.r,3.5));
c.a = 1.;
gl_FragColor = c;
}
|