在How do I modify a GPUImageGaussianSelectiveBlurFilter to operate over a rectangle instead of a circle?有一个类似的问题,但答案还不完整,所以我要重新发布。让我重新解释一下这个问题。我正在尝试使用Brad Larson最强大的GPUImage库中的GPUImageGaussianSelectiveBlurFilter。我唯一需要改变的是" clear"图像上显示的区域。我查看了代码,下面的行决定了应用于像素的颜色,具体取决于它距离"清除"的中心的距离。地区:
gl_FragColor = mix(sharpImageColor, blurredImageColor, smoothstep(excludeCircleRadius - excludeBlurSize, excludeCircleRadius, distanceFromCenter));
我在SHADER_STRING中有什么变化,所以我得到一个矩形区域?此外,矩形区域也可以具有旋转/缩放,因此滤波器需要调整"清除"区域相应。提前谢谢!