ピクセルベンダーは初めてです。
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 に設定したいと思います。
ありがとう