File: background.frag

package info (click to toggle)
qtbase-opensource-src-gles 5.15.15%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 349,396 kB
  • sloc: cpp: 2,089,897; ansic: 336,851; xml: 115,491; python: 9,447; java: 7,499; asm: 4,023; perl: 2,047; sh: 2,033; yacc: 1,687; lex: 1,333; javascript: 878; makefile: 260; objc: 70
file content (30 lines) | stat: -rw-r--r-- 823 bytes parent folder | download | duplicates (12)
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
#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);
}