使用 OpenGL-ES 绘制应用程序中的模糊效果(湿中湿效果)
Posted
技术标签:
【中文标题】使用 OpenGL-ES 绘制应用程序中的模糊效果(湿中湿效果)【英文标题】:Blur Effect (Wet in Wet effect) in Paint Application Using OpenGL-ES 【发布时间】:2011-08-08 09:56:05 【问题描述】:我正在为 iPhone 使用 OpenGL-ES 开发 Paint 应用程序,并且我想为绘画实现高斯模糊效果(Wet in Wet)。请查看描述我对模糊效果要求的图像:
我试图搜索如何使用 OpenGL 功能,但没有得到任何东西。任何人都可以指导我解决这个问题的正确方向..任何帮助或建议都将受到高度赞赏..谢谢..
【问题讨论】:
OpenGL ES 1.1 还是 OpenGL ES 2.0? 你想在图像上应用这个效果吗? 在绘图时不会应用此效果.. @JustSid : Opengl 1.1 .. 除了 OpenGL-ES 还有什么方法可以实现吗? 【参考方案1】:您应该能够以像素间隔多次渲染相同的画笔笔触以获得您想要的效果。如果您使用高斯分布抖动渲染,您将获得高斯模糊。
这类似于使用累积缓冲区的抖动抗锯齿,但不是使用子像素偏移,而是使用与模糊效果一样大的多像素偏移。您可能希望渲染大约 16 次以使其看起来平滑。 http://www.opengl.org/resources/code/samples/advanced/advanced97/notes/node63.html
这也与通过抖动创建运动模糊相似(或实际上相同)。 http://glprogramming.com/red/chapter10.html
您甚至不需要在这里使用单独的累积缓冲区,只需使用加起来为实心的 alpha 渲染每个通道。需要记住的一件事是,您希望始终在相同的偏移量上抖动,以使连续帧看起来相同(即,如果您使用随机偏移量,那么每一帧的模糊效果都会略有不同)。
【讨论】:
【参考方案2】:我假设您希望将其应用于图像。我不知道如何在OpenGL ES
中做到这一点。但是您可以尝试使用这个 awesome image processing library。它提供了除高斯模糊之外的其他图像效果......
快乐模糊...
【讨论】:
以上是关于使用 OpenGL-ES 绘制应用程序中的模糊效果(湿中湿效果)的主要内容,如果未能解决你的问题,请参考以下文章
canva绘制海报01:canvas绘制图片并解决导出后略模糊问题