opengl 去除高斯模糊周围较暗边框的最有效方法

o7jaxewo  于 2022-12-12  发布在  其他
关注(0)|答案(1)|浏览(176)

所以我在opengl中使用标准高斯模糊公式绘制一个模糊图像。gaussian blur wiki
这非常好用。和许多其他的一样,问题是边界。由于帧缓冲区只包含创建的缓冲区之外的黑色,所以会导致暗边缘。visual
我看到有人提到你可以用镜像来绘制图像。mirror根据我的理解,这将需要计算/加倍帧缓冲区的大小,并将使opengl绘制比其他情况下需要的更多的图像。
还有更好的办法吗。
我也在考虑,如果像素超出界限,就翻转它。flip
这将需要对每个像素另外进行2-4次计算。
有没有更好的方法来做到这一点,或者我错过了一些真正有用的文档。
简单回顾一下,我试图找出现有的/优化的解决方案来消除高斯模糊图像上的暗边。

z9smfwbn

z9smfwbn1#

OpenGL有一个内置的方法,当从纹理中采样时,它会自动包裹纹理。不需要加倍帧缓冲区:

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

相关问题