aboutsummaryrefslogtreecommitdiff
path: root/packages/noncvs/windows/extra/Gem/examples/10.glsl/game.frag
diff options
context:
space:
mode:
Diffstat (limited to 'packages/noncvs/windows/extra/Gem/examples/10.glsl/game.frag')
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/game.frag30
1 files changed, 30 insertions, 0 deletions
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/game.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/game.frag
new file mode 100644
index 00000000..9b5800d0
--- /dev/null
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/game.frag
@@ -0,0 +1,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;
+}