我需要一个手写的PixelShaderEffect
才能将背景图像用作输入。
我希望它具有自定义的书面模糊效果,即模糊的中心会随着距中心(圆形)的距离的增加而逐渐失去模糊性和不透明度。
我发现的所有示例都在进行:“如何将图像馈送到着色器中”。不是我所需要的,背景是动画的,渲染成额外的图像有点贵。
我知道使用提供的GaussianBlurEffect
可以执行我想要的操作...尽管我很难让它在UWP上运行,并且它的形式是矩形而不是圆形。 (而且不透明度不是渐变)
问题:
是否可以将背景馈送到自定义PixelShaderEffect
中,就像UWP下的GaussianBlurEffect
中一样?
答案 0 :(得分:0)
以背景为输入的自定义PixelShaderEffect
根据您的要求,您可以参考编写了模糊效果的Win2D代码示例LayersExample
。
它使用CanvasRadialGradientBrush
来渲染模糊效果。
case LayerMode.OpacityBrush:
gradientBrush.Center = ball.Position;
gradientBrush.RadiusX = gradientBrush.RadiusY = ball.Radius* ball.FadeAlpha * 3;
using (ds.CreateLayer(gradientBrush))
{
ball.Draw(ds);
}
break;