问题描述
我正在学习 WebGL,并且希望创建一种高效的强大模糊效果。我一直在环顾四周,我发现的模糊着色器似乎做了一种触发器操作,它们将图像模糊到帧缓冲区上,然后将该帧缓冲区模糊到原始帧缓冲区上,等等。不断来回模糊,直到达到所需的强度。
这非常慢,因为您必须多次处理整个屏幕,并且每次采样中的每个像素都需要抓取其周围的许多像素,因此最终需要进行数十亿次纹理查找。
就我而言,模糊不需要那么准确,但需要稍微强大一些。具体来说,我要模糊我的光照贴图,这样我就想把它变成这样:
进入这个:
这样做的主要原因是我可以平滑阴影边缘,因为目前它们非常困难。这样的东西存在吗?我不需要任何动态模糊。也就是说,模糊的半径应该始终相同(大约 15?),所以我认为应该可以制作这样的东西。这是否可以在不多次触发和重新处理帧缓冲区的情况下完成?
参考链接(我找到的现有解决方案,两者似乎都多次触发并重新处理帧缓冲区):
https://webglfundamentals.org/webgl/lessons/webgl-image-processing-continued.html
https://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)