我正在研究一种发生在海面上的iPhone游戏。有人可以推荐一些示例代码或教程来实现OpenGL中的波形或涟漪吗?

在我写这篇文章时,iPhone仅支持OpenGL ES 1.1,因此不支持着色器或其他奇特效果。

我不需要太花哨的东西。例如,我不需要反思。我不想过度使用设备。我只需要一些看起来像海洋的东西。 (但如果它看起来和Koi Pond一样好的话会很好。)

有帮助吗?

解决方案

iPhone在功能上与1999年的GPU非常相似(例如NVIDIA Riva TNT 2)。所以你最现实的选择就是混合几个滚动纹理。

E.g。具有一种具有一些“波形图案”的纹理。将其设置为两个纹理阶段,并以不同的方向/速度滚动(通过纹理矩阵)。设置纹理组合器,将纹理添加到最终结果中(或执行其他操作;此处有大量可能性)。

其他提示

将表格的条款加在一起:

a * sin(b * x + c * y + d * t)

每个这样的术语以这种方式产生一组无聊的直波: a 是这些波所贡献的振幅(高度), b c 控制波的相对方向和频率(间隔), d t (模拟时间)发生变化时沿着那个方向移动波。

尝试使用该表单的一些术语,保持 t 不变,以获得起伏的表面。然后你可以“调整”获得你喜欢的粗糙程度的系数。一旦你找到了一些你满意的系数,让 t 变化以使其运动。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top