如何解决单通道中的强模糊效果着色器?
我正在学习 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 举报,一经查实,本站将立刻删除。