【问题标题】:Android: Creating blurred texture using blending in OpenGL 1.1Android:在 OpenGL 1.1 中使用混合创建模糊纹理
【发布时间】:2012-01-31 22:14:31
【问题描述】:

有没有人在 Android 上使用混合来模糊纹理创建模糊纹理方面取得了很大成功?

我正在考虑here 中描述的技术,但关键是获取加载的纹理,然后对其应用模糊,以使绑定的纹理本身变得模糊。

【问题讨论】:

    标签: android opengl-es android-ndk blur opengl-es-1.1


    【解决方案1】:

    “就地模糊”是 CPU 可以做的事情,但使用 GPU,通常并行执行,您必须有另一个图像缓冲区作为渲染目标。

    即使使用新的着色器,对同一缓冲区的读取和写入也可能导致损坏,因为它们可以重新排序。一个类似的问题是,可以一次性处理模糊的高斯模糊内核依赖于相邻片段,这些片段可能已被应用于片段坐标的内核修改。

    如果您没有可用于渲染到渲染缓冲区甚至纹理的“framebuffer_object”扩展(另外需要“render_texture”扩展), 您必须像示例中那样渲染到后台缓冲区,然后执行glReadPixels() 以获取图像以将其上传到源纹理,或者执行快速直接的glCopyTexImage2D()(OpenGL* 1.1 有这个)。

    如果渲染目标太小,可以渲染多个图块。

    【讨论】:

    • 感谢您的详细回答。
    猜你喜欢
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多