3

Silverlight 3 ピクセル シェーダーでスムーズなアルファ チャネル キーイングを行う方法は?

HLSL フィルターが必要です (このShazzam HLSL の例のように)

             sampler2D  implicitInputSampler : register(S0);


             float4 main(float2 uv : TEXCOORD) : COLOR
             {
               float4 color = tex2D( implicitInputSampler, uv );

             if( color.r + color.g + color.b < 1.9 ) {
             color.rgba = 0;
                 }

             return color;
             } 

キーを設定しようとしている色だけでなく、たとえば、濃い赤が赤と青で構成されていて、すべての青をキー設定している場合、透明な赤を取得したいと考えています。(おそらく、この写真は私が何を望んでいるのかを説明できるでしょう) (出典:narod.ru画像から画像へ

4

1 に答える 1

1

キーを押すのではなく、色を減算したいだけのように聞こえます。

float4 subtract = ... ; // color you want to remove
float4 color = ... ;

color.r -= subtract.r;
... // for b and g

if ( color.r < 0 )
    color.r = 0;
... // for b and g

この後、カラーチューザーを使用して、「減算」する色を選択し、それを削除できます。それがあなたがやろうとしていることだといいのですが。

于 2010-01-13T09:19:21.240 に答える