GLSL for simple water surface effects

2019-02-05 00:24发布

I'm looking for some pointers on how to implement simple water surface effects in OpenGL ES 2.0. Nothing fancy like reflection or refraction, just a basic ripple/wave effect that modulates over time. Performance is critical. I'm assuming this will be best done in a shader.

Any pointers on how to best handle this?

2条回答
冷血范
2楼-- · 2019-02-05 00:27

There is an old trick to simulate water waves & ripples using minimum effort in terms of equations. It's used in many places, and I can't find the original, but you can grab it, for example, from here.

You'll need 2 textures, each containing just height. Simulation is done by ping-ponging between them (using one as a source and second as destination each time).

When rendering, you might need to derive surface normal from the neighbour heights.

查看更多
▲ chillily
3楼-- · 2019-02-05 00:28

Adrian Boeing's blog has example GL code, accompanied by clear explanations, for a number of effects including ripple.

查看更多
登录 后发表回答