我写了一个模糊的fragment shader
,它使用标准 Gaussian Blur
为附近的像素分配权重(我有一个3x3 Convolution Matrix
并且所有元素总结到1.0)。它适用于所有图像以及所有模糊大小和强度调整工作良好!
问题在于,当我将纯色(例如红色(RGB
(255,0,0)))四边形渲染到纹理中时(使用FBO
中的OpenGL
)并尝试模糊使用相同的fragment shader
我用来模糊从文件加载的图像,我回到相同的颜色(在这种情况下是红色)实心四边形没有任何模糊。
我认为为什么会出现这个问题是因为我基本上试图将附近的像素加起来具有完全相同的值,所以即使在加权平均后,它们也会平均到相同的颜色。
有人可以向我推荐blur
的其他技巧吗?特别是当图像/像素集合具有非常低的对比度时?