如何使用Silverlight 3像素着色器进行平滑的Alpha通道键控?
我想要一些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;
}
我希望您不仅仅能够键入我正在尝试键入的颜色,而且还要键入例如如果深红色由红色和蓝色组成,而我正在键入所有蓝色,则希望获得透明的红色。 (可能这张图片可以解释我想要什么)
![From to Image](https://istack.dev59.com/Jg05A.webp)
(来源:narod.ru)
color.a = color.b
或color.a = 1 - color.b
如何?如果您想要丢弃蓝色分量,则必须能够将其设置为 0,然后显式地执行color.b = 0
。我想这应该会有所帮助... - IgorK