opengl 模糊立方体贴图

6tr1vspr  于 2023-03-29  发布在  其他
关注(0)|答案(2)|浏览(174)

现在我已经动态生成了立方体贴图,我把它作为环面上的反射纹理。
单独模糊每一个边不会达到效果,对吗?因为边界附近的像素不会受到相邻像素的模糊影响。
也许我应该做另一个FBO,绑定它,在屏幕上“展开”立方体贴图,应用基本的模糊着色器,然后将模糊的纹理分成6个面?不知道如何做“分离”的部分。

j2cgzkjk

j2cgzkjk1#

模糊立体Map?那可不容易。
要做一个数学上正确的高斯模糊,你需要把它变换到频域(球谐函数),在那里应用一个低通滤波器,然后做逆变换。这不是一个简单的任务。
如果近似值足够,请执行以下操作。
1.创建一个空的目标立方体贴图。
1.对于立方体的每个面F,渲染面F和其他4个面的相邻像素,如下所示:

___________
|\         /|
| \       / |
|  \-----/  |
|  |     |  |
|  |  F  |  |
|  |     |  |
|  /-----\  |
| /       \ |
|/_________\|

相邻像素的数量取决于模糊半径。
1.应用您最喜欢的模糊算法。
1.将F复制到目标立方体贴图。
1.对每个面重复2-4次。

xdnvmnnf

xdnvmnnf2#

老问题了,但是对于每个人来说,你可以使用textureGrad轻松地模糊立方体贴图。
示例:https://www.shadertoy.com/view/tttGzj
对于cubemap:https://www.shadertoy.com/view/cd3XzB

相关问题