float fract_sin_dot (vec2 uv) { return fract(sin(dot( // uv.xy, // vec2(sin(4.*uv.x), sin(10.*uv.y)), vec2(sin(4.*uv.x), uv.y), 0.1*iMouse.xy+vec2(1.0,1.0)))* 4. + 0.5*iTime); } void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 uv = fragCoord/iResolution.xy; vec3 color = vec3(fract_sin_dot( uv ), fract_sin_dot( vec2(sin(4.*uv.x), sin(10.*uv.y)) ), fract_sin_dot( vec2(sin(4.*uv.x), uv.y) )); fragColor = vec4(color,1.0); }
Other options:
no subject
1) Particularly interesting animation patterns tend to be achieved when one drags the mouse under the image.
2) These programs are quite short.
For example, these 19 lines of GLSL is the code of the fragment shader generating the animation in the post: