尝试使用OpenGL着色器在场景上添加失真效果

我正在尝试构建一个着色器,使最终图像变形,更具体地讲,它会产生波浪状的效果,就像这样:

尝试使用OpenGL着色器在场景上添加失真效果

但是当对象移动时,其“几何形状”会在 (think of a distorting mirror) 周围移动。

尝试使用OpenGL着色器在场景上添加失真效果

是我要应用变形的图像。

现在,它不必是随机的,也不必局限于特定区域。只是一个 我正在寻找整个渲染图像上的静态正弦模式。

我在Google上搜索此问题时,发现的最接近的是this主题。但是OP想要在纹理上应用效果,这不是我想要的。 无论哪种方式,我都尝试使用该代码,我得到了:

尝试使用OpenGL着色器在场景上添加失真效果

如您所见,变形仅应用于纹理,并且它作为固定纹理起作用,而不是整个场景。如果移动立方体,则变形将充当纹理,并随立方体一起移动。真的不像是扭曲的镜子。

我也found out无法改变片段着色器上像素的坐标,例如,使立方体所在的像素位于顶部,或者位于底部(像正弦曲线)。片段着色器仅选择光栅化片段的颜色。

那么,甚至可以使用GLSL着色器实现这种效果吗?如果可以,怎么办?

jsz0728 回答:尝试使用OpenGL着色器在场景上添加失真效果

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3162273.html

大家都在问