kernel Fuzz { parameter float amount < minValue:0.0; maxValue:512.0; defaultValue:2.0; >; parameter float seed < minValue:0; maxValue:1000; defaultValue:0; >; void evaluatePixel(in image4 src, out pixel4 dst) { float x = outCoord().x; float y = outCoord().y; float s = (sqrt(x*y)+x+y+seed); float r = tan(cos(s*s+cos(s+s*s-s*s*s)-s+s*s+cos(s*3.+s*s))-cos(s*s-s+s*s*cos(s)+sin(s)*sin(s*s))); float2 psudrand = float2(sin(r), cos(r)); dst = sampleNearest(src,outCoord()+amount*psudrand); } }