1#property description Recolor output with perlin noise rainbow 2#property frequency 1 3 4void main(void) { 5 float factor = pow(iIntensity, 0.6); 6 vec3 noise_input = vec3(uv, iTime * iFrequency / 8.); 7 float n = noise(noise_input) - 0.1; 8 n += (noise(2. * noise_input) - 0.5) * 0.5; 9 n += (noise(4. * noise_input) - 0.5) * 0.25; 10 //n = mod(n + 0.5, 1.0); 11 //n = mod(n + hsl.r, 1.0); 12 13 vec4 samp = texture(iInput, uv); 14 vec3 hsl = rgb2hsv(samp.rgb); 15 hsl.g = 1.0 - (1.0 - hsl.g) * (1.0 - factor); 16 //hsl.r = mix(hsl.r, n, iIntensity); 17 hsl.r = mod(hsl.r + n * iIntensity, 1.0); 18 fragColor.rgb = hsv2rgb(hsl); 19 fragColor.a = samp.a; 20} 21