summaryrefslogtreecommitdiff
path: root/examples/resources/shaders/glsl330/wave.fs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/resources/shaders/glsl330/wave.fs')
-rw-r--r--examples/resources/shaders/glsl330/wave.fs37
1 files changed, 37 insertions, 0 deletions
diff --git a/examples/resources/shaders/glsl330/wave.fs b/examples/resources/shaders/glsl330/wave.fs
new file mode 100644
index 0000000..43efee2
--- /dev/null
+++ b/examples/resources/shaders/glsl330/wave.fs
@@ -0,0 +1,37 @@
+#version 330
+
+// Input vertex attributes (from vertex shader)
+in vec2 fragTexCoord;
+in vec4 fragColor;
+
+// Input uniform values
+uniform sampler2D texture0;
+uniform vec4 colDiffuse;
+
+// Output fragment color
+out vec4 finalColor;
+
+uniform float secondes;
+
+uniform vec2 size;
+
+uniform float freqX;
+uniform float freqY;
+uniform float ampX;
+uniform float ampY;
+uniform float speedX;
+uniform float speedY;
+
+void main() {
+ float pixelWidth = 1.0 / size.x;
+ float pixelHeight = 1.0 / size.y;
+ float aspect = pixelHeight / pixelWidth;
+ float boxLeft = 0.0;
+ float boxTop = 0.0;
+
+ vec2 p = fragTexCoord;
+ p.x += cos((fragTexCoord.y - boxTop) * freqX / ( pixelWidth * 750.0) + (secondes * speedX)) * ampX * pixelWidth;
+ p.y += sin((fragTexCoord.x - boxLeft) * freqY * aspect / ( pixelHeight * 750.0) + (secondes * speedY)) * ampY * pixelHeight;
+
+ finalColor = texture(texture0, p)*colDiffuse*fragColor;
+}