GLSL用于简单的水面效果

时间:2011-02-16 05:41:53

标签: glsl opengl-es-2.0

我正在寻找关于如何在OpenGL ES 2.0中实现简单水面效果的一些指示。没有任何东西像反射或折射那样,只是随着时间的推移而调制的基本波纹/波浪效应。表现至关重要。我假设这将最好在着色器中完成。

有关如何最好地处理此问题的任何指示?

2 个答案:

答案 0 :(得分:10)

有一个模拟水波的老技巧&在方程式方面使用最小努力的涟漪。它在许多地方使用,我找不到原文,但你可以从here获取它。

你需要2个纹理,每个纹理只包含高度。模拟通过它们之间的乒乓来完成(每次使用一个作为源,第二个作为目标)。

渲染时,您可能需要从邻居高度导出曲面法线。

答案 1 :(得分:10)

Adrian Boeing's blog有一些示例GL代码,附有明确的解释,包括纹波在内的许多效果。