2017-03-22 12:18:52 +00:00
|
|
|
#define M_PI 3.14159265358979323846
|
2015-01-06 13:55:30 +00:00
|
|
|
#define SPEED 10000.0
|
|
|
|
|
2014-08-06 14:19:21 +00:00
|
|
|
uniform int currentTime;
|
2014-03-20 11:58:22 +00:00
|
|
|
uniform highp vec2 windowSize;
|
|
|
|
|
2014-08-06 14:19:21 +00:00
|
|
|
highp float noise(highp vec2 co)
|
2014-03-20 11:58:22 +00:00
|
|
|
{
|
|
|
|
return 0.5 * fract(sin(dot(co.xy, vec2(12.9898,78.233))) * 43758.5453);
|
|
|
|
}
|
|
|
|
|
2014-08-06 14:19:21 +00:00
|
|
|
highp float curvSpeed()
|
2014-03-20 11:58:22 +00:00
|
|
|
{
|
2015-01-06 13:55:30 +00:00
|
|
|
return (mod(float(currentTime), SPEED) / SPEED) * (2.0 * M_PI);
|
2014-03-20 11:58:22 +00:00
|
|
|
}
|
|
|
|
|
2015-01-06 13:55:30 +00:00
|
|
|
highp float curv(int curvCount)
|
2014-03-20 11:58:22 +00:00
|
|
|
{
|
2015-01-06 13:55:30 +00:00
|
|
|
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);
|
2014-03-20 11:58:22 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void main()
|
|
|
|
{
|
2014-08-06 14:19:21 +00:00
|
|
|
highp float coordNoise = noise(gl_FragCoord.xy);
|
2015-01-06 13:55:30 +00:00
|
|
|
highp float proximity = smoothstep(0.85, 1.0, (curv(6) + 1.0) * (coordNoise ));
|
2014-08-12 09:45:50 +00:00
|
|
|
highp vec3 color = vec3(coordNoise) * proximity;
|
|
|
|
gl_FragColor = vec4(color, 1.0);
|
2014-03-20 11:58:22 +00:00
|
|
|
}
|