uniform sampler2D texture0; void main() { vec2 xy=texCoord; float blursize=10.; float range=floor(blursize/2.); vec4 color=vec4(0.); for(float a=-range;a<=range;++a) for(float b=-range;b<=range;++b) color+=texture(texture0,xy+vec2(a/texCoord.x,b/texCoord.y)); color=color/pow(blursize,2.); fragColor=color; }#define ITERATIONS 22 #define SPEED 5.5 #define DISPLACEMENT 0.15 #define TIGHTNESS 15.0 #define YOFFSET 0.1 #define YSCALE 0.25 #define FLAMETONE vec3(50.0, 5.0, 1.0) float noise( in vec3 x ) // iq noise function { vec3 p = floor(x); vec3 f = fract(x); f = f*f*(3.0-2.0*f); vec2 uv = (p.xy+vec2(37.0,17.0)*p.z) + f.xy; vec2 rg = textureLod( iChannel0, (uv+ 0.5)/256.0, 0.0 ).yx; return mix( rg.x, rg.y, f.z ) * 2.0 - 1.0; } void main() { vec2 uv = fragCoord.xy / iResolution.xy; float nx = 0.9; float ny = 0.8; for (int i=1; i