有人在Android上使用混合来模糊纹理来创建模糊纹理吗?
我想到了这里描述的技术,但关键是获取加载的纹理,然后对其应用模糊,这样绑定的纹理本身就会模糊。
"原地模糊"是CPU可以做的事情,但使用GPU(通常是并行的),必须有另一个图像缓冲区作为渲染目标。
即使使用新的着色器,从同一缓冲区读取和写入也可能导致损坏,因为它们可以重新排序。类似的问题是,可以一次性处理模糊的高斯模糊内核依赖于相邻片段,该相邻片段可能已被应用于其片段坐标的内核修改。
如果没有"framebuffer_object"扩展插件可用于渲染到渲染缓冲区甚至纹理中(另外还需要"render_texture"扩展插件),您必须像示例中那样渲染到后缓冲区中,然后执行glReadPixels()
以获取图像以将其上传到源纹理,或者执行快速直接的glCopyTexImage2D()
(OpenGL*1.1具有此功能)。
如果渲染目标太小,则可以渲染多个平铺。