关于这个问题,iOS / GLES2: How to achieve Glow Effect,我正在调查我自己的模糊程序。
可能有以下几点:
blur8bitGreyscaleBitmap(int resX, int resY, int passes, char* src, char* dest)
{
...
}
然后用依次取出每个像素的东西填充它,将它扩散到它的邻居中,会产生微妙的模糊。并且多次迭代这个过程会让模糊向外扩散。
有比这更好的方法吗?
另外,这看起来就像是一种可以通过良好(可能是NEON)优化运行速度提高20倍的任务。
我正在寻找替代技术,代码,链接。
答案 0 :(得分:4)
经过一番研究后,我发现了以下内容,
可以水平模糊,然后垂直模糊。这意味着如果你在目标像素中向左上方模糊五个像素,那就是11 + 11个操作而不是11 * 11
最基本的是盒子模糊,只是平均框中的所有像素。这将是移动设备上实时模糊的选择。这可以大量优化,例如,如果第一个像素需要A + B + C + D + E,那么对于下一个像素我们可以简单地-A然后+ F.即我们不必两次完成所有这些添加。
常用技术是使用GLES2着色器(例如http://www.gamerendering.com/2008/10/11/gaussian-blur-filter-shader/
)在图形芯片上完成工作我很好奇是否可以使用加速框架达到类似的优化级别。
我仍然很好奇是否有任何现有的NEON代码可以做到这一点,我的猜测是,即使在图形芯片上进行工作也不会有所改善,所以没有人打扰过。