单通道中的强模糊效果着色器?

问题描述

我正在学习 WebGL,并且希望创建一种高效的强大模糊效果。我一直在环顾四周,我发现的模糊着色器似乎做了一种触发器操作,它们将图像模糊到帧缓冲区上,然后将该帧缓冲区模糊到原始帧缓冲区上,等等。不断来回模糊,直到达到所需的强度。

这非常慢,因为您必须多次处理整个屏幕,并且每次采样中的每个像素都需要抓取其周围的许多像素,因此最终需要进行数十亿次纹理查找。

就我而言,模糊不需要那么准确,但需要稍微强大一些。具体来说,我要模糊我的光照贴图,这样我就想把它变成这样:

enter image description here

进入这个:

enter image description here

这样做的主要原因是我可以平滑阴影边缘,因为目前它们非常困难。这样的东西存在吗?我不需要任何动态模糊。也就是说,模糊的半径应该始终相同(大约 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...