-- GLSL.Vert -- #version 120 void main() { gl_Position=gl_Vertex; gl_TexCoord[0]=gl_MultiTexCoord0; } -- GLSL.Frag -- #version 120 uniform sampler2D texture; uniform vec2 screen_size; uniform float time; uniform float value1; uniform float value2; uniform float color; float PI=3.14159265358979323846; vec3 deform(in vec2 p) { vec2 uv; float zoom=0.5; uv.x=p.x*zoom-0.5; uv.y=p.y*zoom-0.5; return texture2D(texture,uv).xyz; } void main(void) { int n=32; vec2 p=-1.0+4.0*gl_TexCoord[0].xy; vec2 s=p; vec3 source=deform(s); vec3 total=vec3(0,1.0,1.0); vec2 d=-p/float(n*2); float w=value1; for(int i=0;i