实施photoshop玻璃失真滤镜

时间:2014-10-02 12:54:23

标签: c++ opengl shader distortion

我有一个功课,我需要使用OpenGL实现玻璃失真滤镜。基本上,我被允许做的是从一个图像中读取一个像素并将其写入另一个图像(教师的限制)。

过滤器的结果应该是这样的:

Filter

是否有任何教程或代码解释它是如何工作的?

1 个答案:

答案 0 :(得分:3)

尝试位移噪音,例如: new_pic(x,y)= old_pic(x + dx(x,y),y + dy(x,y)) 其中dx和dy有一些有界的平滑函数,例如: dx(x,y)= 0 dy(x,y)= sin(y)* sin(x)

P.S。在得到主要想法之后,你可能会想要更好的位移函数,我推荐Perlin噪音,这是Ken Perlin的精彩文章: http://www.noisemachine.com/talk1/