我正在研究一种发生在海面上的iPhone游戏。有人可以推荐一些示例代码或教程来实现OpenGL中的波形或涟漪吗?
在我写这篇文章时,iPhone仅支持OpenGL ES 1.1,因此不支持着色器或其他奇特效果。
我不需要太花哨的东西。例如,我不需要反思。我不想过度使用设备。我只需要一些看起来像海洋的东西。 (但如果它看起来和Koi Pond一样好的话会很好。)
答案 0 :(得分:3)
iPhone在功能上与1999年的GPU非常相似(例如NVIDIA Riva TNT 2)。所以你最现实的选择就是混合几个滚动纹理。
E.g。有一个纹理与一些“波浪模式”。将其设置为两个纹理阶段,并以不同的方向/速度滚动(通过纹理矩阵)。设置纹理组合器,将纹理添加到最终结果中(或执行其他操作;此处有大量可能性)。
答案 1 :(得分:3)
将表格的条款加在一起:
a * sin(b * x + c * y + d * t)
每个这样的术语以这种方式产生一组无聊的直波:a
是这些波所贡献的振幅(高度),b
和c
控制相对方向和频率(间距),d
在t
(模拟时间)发生变化的情况下沿着那个方向移动波浪。
尝试使用该表单的一些术语,保持t
不变,以获得起伏的表面。然后,您可以“调整”系数以获得您喜欢的粗糙程度。一旦你找到了一些你满意的系数,让t
变化以使其运动。