2014-10-02 45 views
1

我有一个家庭作业,需要使用OpenGL实现玻璃失真滤镜。基本上我可以做的是从一幅图像中读取一个像素,并将其写入另一个像素(教师的局限性)。实现Photoshop玻璃失真滤镜

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

Filter

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

+0

嗨我会问这个在gamedev。 – 2014-10-02 13:00:08

+0

但它不是一个游戏,它只是在图像上应用过滤器...老实说,我不知道在哪里发布该问题,因为我没有线索如何实现它,我问了这里:( – Lefsler 2014-10-02 13:05:12

+2

做高斯模糊,然后在顶部混合一些噪点,或者移动/涂抹一些随机偏移的像素。看起来像 – nullpotent 2014-10-02 13:36:43

回答

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)

ps得到主要想法后,你可能会想要更好的位移函数,我推荐佩林噪声,这里是肯佩林的伟大的文章: http://www.noisemachine.com/talk1/