2008年09月26日

初めてのPixel Bender作品 @ Flash

img1 img2 img3

gotoandlearn.comのPixel Benderのビデオを見たらフィルターを作ってみたくなり、試しに一つ作ってみました。まだFlashやFlexでの使い方はよく分かってないので、Pixel Bender Toolkitだけで試しました。なかなか楽しいです。

フィルターを作るにあたり、チュートリアルもざっと読んでみたのですが、情報が少なかったので、Pixel Bender Exchangeに登録されているフィルターのソースを参考にしました。殆どの作品でソースコードが公開されてました。中には元画像に関係なく、3DCG(レイトレ)画像が表示されるモノもあります。(笑)

ちなみに作ったモノは、昔Photoshopのプラグインなんかであった、TVスキャンラインフィルター風です。ソースを下に書いておきます。

Pixel Bender Toolkit - Adobe Labs
>>関連リンク

gotoandlearn.com - Free video tutorials by Lee Brimelow on the Flash Platform
>>関連リンク

Adobe - Pixel Bender Exchange
>>関連リンク



kernel TVFilter
<   namespace : "com.kei3";
    vendor : "kei3";
    version : 0;
    description : "TV scanline filter";
>
{
    input image4 src;
    output pixel4 dst;
    parameter float brightness
    <
        minValue:0.0;
        maxValue:2.0;
        defaultValue :1.0;
    >;
    parameter float ghostDepth
    <
        minValue:0.0;
        maxValue:1.0;
        defaultValue :0.3;
    >;

    void
    evaluatePixel()
    {
        float2 pos = outCoord();
        pixel4 p1 = sampleNearest(src,pos);
        pixel4 p2 = sampleNearest(src,pos + float2(0,1));
        pixel4 p3 = sampleNearest(src,pos - float2(0,1));
        pixel4 avg = (p1 + p2 +p3 ) / 3.0;
        pixel4 ghost = sampleNearest(src,pos - float2(10,0));
        float m = mod(pos.y , float(3));
        pixel4 p = (avg *(1.0 - ghostDepth)) + (ghost * ghostDepth);
        if(int(m) == 0){
            p.r *= brightness;
            p.g = 0.0;
            p.b = 0.0;
        }
        if(int(m) == 1){
            p.r = 0.0;
            p.g *= brightness;
            p.b = 0.0;
        }
        if(int(m) == 2){
            p.r = 0.0;
            p.g = 0.0;
            p.b *= brightness;
        }
        
        dst = p;
    }
}

閲覧数: 4791 / はてなブックマークusers

blog comments powered by Disqus

関連日記

アマゾン広告

この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。

▼日記検索

Mac

Shade

3D

Flash

ゲーム

ウェブ

音楽

映画

デジカメ

Windows

Linux

携帯電話

テレビ

広島

電子工作

iOS

▼ 最近のトラックバック

▼ランキング

▼関連サイト