the formatter in action!

| No Comments

I forgot to post the example! Here is the Fade To History kernel I posted yesterday, run through the formatter:

<languageVersion1.0;>

kernel FadeToHistory
<   namespace : "Kevin's Tutorial Filters";
    vendor : "Kevin's Filters, Inc";
    version : 1;
    description : "Fade from color to B&W to sepia";
>
{
    parameter float crossfade
    < minValue0.0;
      maxValue2.0;
      defaultValue0.0;
    >;
    const float3 lumMult = float3(0.30.590.11);
    
    input image4 src;
    output pixel4 dst;
    
    void
    evaluatePixel()
    {
        dst = sampleNearest(src,outCoord());
        float luminance = dot(dst.rgb, lumMult);
        float3 sepia = float3( dst.r * 0.4 +
                               dst.g * 0.769 +
                               dst.b * 0.189,
                               dst.r * 0.349 +
                               dst.g * 0.686 +
                               dst.b * 0.168,
                               dst.r * 0.272 +
                               dst.g * 0.534 +
                               dst.b * 0.131 );
        
        float3 startMix = dst.rgb;
        float3 endMix = float3(luminance);
        float mixValue = crossfade;
        if ( crossfade > 1.0 )
        {
            // normalize mix value to the range of 0-1
            mixValue -= 1.0;
            startMix = float3(luminance);
            endMix = sepia;
        }
        dst.rgb = mix(startMix, endMix, mixValue);
    }
}

Leave a comment

About this Entry

This page contains a single entry by Kevin Goldsmith published on May 21, 2008 6:59 PM.

Pixel Bender HTML formatter was the previous entry in this blog.

Using Pixel Bender in Flash Player 10 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.