summaryrefslogtreecommitdiffstats
path: root/tests/manual/examples/opengl/qopenglwindow/background.frag
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/examples/opengl/qopenglwindow/background.frag')
-rw-r--r--tests/manual/examples/opengl/qopenglwindow/background.frag30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/manual/examples/opengl/qopenglwindow/background.frag b/tests/manual/examples/opengl/qopenglwindow/background.frag
new file mode 100644
index 0000000000..4af85aae8e
--- /dev/null
+++ b/tests/manual/examples/opengl/qopenglwindow/background.frag
@@ -0,0 +1,30 @@
+#define M_PI 3.14159265358979323846
+#define SPEED 10000.0
+
+uniform int currentTime;
+uniform highp vec2 windowSize;
+
+highp float noise(highp vec2 co)
+{
+ return 0.5 * fract(sin(dot(co.xy, vec2(12.9898,78.233))) * 43758.5453);
+}
+
+highp float curvSpeed()
+{
+ return (mod(float(currentTime), SPEED) / SPEED) * (2.0 * M_PI);
+}
+
+highp float curv(int curvCount)
+{
+ highp float curv_y = 0.1 *(cos((gl_FragCoord.x / windowSize.x) * (float(curvCount * 2) * M_PI) - curvSpeed())) + 0.5;
+ highp float frag_y = gl_FragCoord.y / windowSize.y;
+ return 1.0 - abs(curv_y - frag_y);
+}
+
+void main()
+{
+ highp float coordNoise = noise(gl_FragCoord.xy);
+ highp float proximity = smoothstep(0.85, 1.0, (curv(6) + 1.0) * (coordNoise ));
+ highp vec3 color = vec3(coordNoise) * proximity;
+ gl_FragColor = vec4(color, 1.0);
+}