diff options
Diffstat (limited to 'examples/opengl/qopenglwindow/background.frag')
-rw-r--r-- | examples/opengl/qopenglwindow/background.frag | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/examples/opengl/qopenglwindow/background.frag b/examples/opengl/qopenglwindow/background.frag new file mode 100644 index 0000000000..3d9914e64b --- /dev/null +++ b/examples/opengl/qopenglwindow/background.frag @@ -0,0 +1,24 @@ +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), 1000000.0) / 500.0; +} + +highp float curv() +{ + return 1.0 - abs((gl_FragCoord.y / (windowSize.y / 10.0) - 5.0) - sin((gl_FragCoord.x / (windowSize.x/20.0)) - curvSpeed())); +} + +void main() +{ + highp float coordNoise = noise(gl_FragCoord.xy); + highp float proximity = smoothstep(0.5, 1.0, (curv() + 1.0) * (coordNoise )); + gl_FragColor = vec4(coordNoise, coordNoise, coordNoise, 1.0) * proximity; +} |