iOS的水面样本

iOS的水面样本,ios,opengl-es,Ios,Opengl Es,我在找一个像这样的水面效果样品。我找到了一些教程: 然而,它是粗略的。它非常简单 您只需在该特定位置制作一个二维高度贴图二维水高度数组。使用heightmap,可以根据最近的高度点计算每个位置的近似、插值法线 然后执行简单的光线跟踪。根据法线折射每条光线,将其与“平面底部”相交,并从该位置的纹理中获取颜色 实际上:从“高度”贴图创建三角形网格并渲染这些三角形。可以在顶点缓冲区中发送法线,也可以在顶点着色器中计算法线。光线跟踪在片段着色器中完成。每条光线的方向可以是0、0、1。通过当前法线对其进行

我在找一个像这样的水面效果样品。我找到了一些教程:

然而,它是粗略的。

它非常简单

您只需在该特定位置制作一个二维高度贴图二维水高度数组。使用heightmap,可以根据最近的高度点计算每个位置的近似、插值法线

然后执行简单的光线跟踪。根据法线折射每条光线,将其与“平面底部”相交,并从该位置的纹理中获取颜色

实际上:从“高度”贴图创建三角形网格并渲染这些三角形。可以在顶点缓冲区中发送法线,也可以在顶点着色器中计算法线。光线跟踪在片段着色器中完成。每条光线的方向可以是0、0、1。通过当前法线对其进行折射并缩放结果,使Z坐标等于水深。新的X和Y坐标是纹理坐标


要制作动画,只需及时更新高度图。

@MaxMacLeod嗨,在OP没有回答的情况下,你有没有弄明白这一点?如果是的话,你能分享一下吗?谢谢。@Unheilig项目从未发生过,所以我恐怕没有取得任何进展。