uniform sampler2D noise; uniform float scale = 0.005; uniform float TIME = 0.0; uniform vec2 TEXTURE_PIXEL_SIZE; vec4 effect(vec4 color, Image TEXTURE, vec2 UV, vec2 screen_coords) { vec2 uv = UV; vec2 noise_pixel_size = vec2(256.0); vec2 noise_uv = UV / TEXTURE_PIXEL_SIZE / noise_pixel_size; vec2 sample = Texel(noise, vec2(noise_uv + TIME - mod(TIME, 0.15))).rb; vec2 rb = (sample - 0.5) * scale; uv += rb; color = Texel(TEXTURE, vec2(clamp(vec2(0.0, 0.0), uv, vec2(1.0,1.0)))); return color; }