有没有人在Android上取得很大成功,使用混合来模糊纹理来创建模糊纹理?
我正在考虑所描述的技术here,但关键是要采用加载的纹理,然后对其应用模糊,以便绑定的纹理本身模糊。
答案 0 :(得分:2)
“Inplace blurring”是CPU可以做的事情,但是使用通常并行处理的GPU,你必须有另一个图像缓冲区作为渲染目标。
即使使用新的着色器,来自/到同一缓冲区的读取和写入也可能导致损坏,因为它们可以重新排序。一个类似的问题是,高斯模糊内核可以在一次通过中处理模糊,它依赖于邻居片段,这些片段本可以通过在其片段坐标处应用的内核进行修改。
如果你没有'framebuffer_object'扩展可用于渲染渲染缓冲区甚至纹理(另外需要'render_texture'扩展名),
您必须像示例中一样渲染到后台缓冲区中,然后执行glReadPixels()
以获取图像以将其上传到源纹理,或者执行快速直接的glCopyTexImage2D()
(OpenGL * 1.1具有此功能) )。
如果渲染目标太小,您可以渲染多个图块。