如何做到平稳Alpha通道的键控与Silverlight 3的像素着色器?
-
18-09-2019 - |
题
如何做平滑Alpha通道的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 )子>
解决方案
听起来像是你只是想减去一个颜色,而然后键入它。
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
此之后,可以再使用一个颜色选择挑选哪个颜色“减去”将是将其卸下。希望那是什么你要怎样做。
不隶属于 StackOverflow