2011-02-16 10 views
10

私は、OpenGL ES 2.0で簡単な水面効果を実装する方法に関するいくつかの指針を探しています。反射や屈折のような空想的なものではなく、時間の経過とともに変化する基本的なリップル/波の効果です。パフォーマンスは重要です。私はこれがシェーダで最もうまくいくと仮定しています。単純な水面効果のためのGLSL

これを最もうまく処理する方法の指針はありますか?

答えて

10

水の波をシミュレートする古い技があります。&リップルは、最小限の労力で式を計算します。それは多くの場所で使用されており、オリジナルを見つけることはできませんが、例えば、hereから取得できます。

2つのテクスチャが必要です。それぞれに高さが含まれています。シミュレーションは、それらの間でピンポンを掛けることによって行われます(1つはソースとして、2つはあて先として毎回使用されます)。

レンダリング時に、隣接する高さからサーフェス法線を派生させる必要があります。

10

Adrian Boeing's blogには、リップルを含むいくつかの影響についての明確な説明を伴うGLコード例があります。

関連する問題