0

ピクセルベンダーは初めてです。

as3でプログラミングしています。グリーンスクリーンキャリブレーターをやりたいです。シェーダーフィルターを使用して(オンライン検索を使用して)1つのrgb(Hex)カラーアルファを0に変えることができました:

{
    input image4 src;
    output pixel4 dst;

    parameter float3 keyColor0;

    parameter float tolerance
    <
        minValue: 0.0;
        maxValue: 3.0;
        defaultValue: 0.02;
    >;

    parameter float ramp
    <
        minValue: 0.0;
        maxValue: 1.0;
        defaultValue: 0.005;
    >;

     parameter float gamma
    <
        minValue: 0.0;
        maxValue: 10.0;
        defaultValue: 1.00;
    >;

    void
    evaluatePixel()
    {
        dst = sampleNearest(src,outCoord());
        float diff = length( dst.rgb - keyColor0);
        if ( diff < tolerance )
        {
            dst.a = 0.0;
        } else if ( diff < tolerance + ramp )
        {
            dst.a = pow( (diff - tolerance) / ramp, gamma );
        }            
    }
}

しかし、私がやりたいのは、2つのrgb色を指定することであり、指定された2つのrgb(Hex)色の間のすべての色を作成して、アルファ0も設定します。

たとえば、画像からさまざまな色を選択します。これは異なる緑色のセットであり、HSV を使用して色のセットから最小値と最大値を見つけます。

最小値と最大値を使用して、2 つの色の間のすべての色をアルファ 0 に設定したいと思います。

ありがとう

4

0 に答える 0