aboutsummaryrefslogtreecommitdiff
path: root/packages/noncvs/windows/extra/Gem/examples/10.glsl/wave.frag
diff options
context:
space:
mode:
Diffstat (limited to 'packages/noncvs/windows/extra/Gem/examples/10.glsl/wave.frag')
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/wave.frag40
1 files changed, 40 insertions, 0 deletions
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/wave.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/wave.frag
new file mode 100644
index 00000000..d455f884
--- /dev/null
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/wave.frag
@@ -0,0 +1,40 @@
+// Cyrille Henry 2007
+
+#extension GL_ARB_texture_rectangle : enable
+
+uniform float K1,K3,D1,K;
+uniform sampler2DRect text;
+
+const float dx = 1.;
+const float dy = 1.;
+
+void main (void)
+{
+ float x,y;
+ vec4 C;
+ vec2 texture1 = gl_TexCoord[0].st ;
+
+ x=texture1.x;
+ y=texture1.y;
+
+ C = texture2DRect(text, vec2(x, y));
+
+ vec4 color_cote = texture2DRect(text, vec2(x-dx, y-dy));
+ color_cote += texture2DRect(text, vec2(x+dx, y-dy));
+ color_cote += texture2DRect(text, vec2(x-dx, y+dy));
+ color_cote += texture2DRect(text, vec2(x+dx, y+dy));
+ color_cote += texture2DRect(text, vec2(x, y-dy));
+ color_cote += texture2DRect(text, vec2(x-dx, y));
+ color_cote += texture2DRect(text, vec2(x+dx, y));
+ color_cote += texture2DRect(text, vec2(x, y+dy));
+
+
+ float K = K1 * color_cote.r + K3 * 0.5 - (8. * K1 + K3) * C.r;
+ float D = D1 * (C.r - C.g);
+
+ C.b = C.g;
+ C.g = C.r;
+ C.r = (2.* C.g) - C.b + K - D ;
+
+ gl_FragColor = vec4(C.rgb,1.);
+}