Personal tools

Views

Fuzz

From Adobe Labs

This is kinda like noise, complete with a psuedo-random number generator based on coordinates and a seed, however instead of creating random pixels it just shuffles them around a little bit.


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);
    }
}
Retrieved from "http://labs.adobe.com/wiki/index.php/Fuzz"