2011-02-16 18 views
10

Sto cercando alcuni suggerimenti su come implementare effetti di superficie dell'acqua semplici in OpenGL ES 2.0. Niente di speciale come il riflesso o la rifrazione, solo un semplice effetto onda/ondulazione che modula nel tempo. Le prestazioni sono critiche. Suppongo che questo sia il migliore in uno shader.GLSL per effetti superficiali dell'acqua semplici

Eventuali indicazioni su come gestire al meglio questo?

risposta

10

C'è un vecchio trucco per simulare le onde d'acqua & ripples usando il minimo sforzo in termini di equazioni. È usato in molti posti, e non riesco a trovare l'originale, ma puoi prenderlo, per esempio, da here.

Avrete bisogno di 2 trame, ciascuna contenente solo l'altezza. La simulazione è fatta da ping-pong tra di loro (usando uno come sorgente e il secondo come destinazione ogni volta).

Durante il rendering, potrebbe essere necessario derivare la superficie normale dalle altezze vicine.

10

Adrian Boeing's blog ha codice GL di esempio, accompagnato da chiare spiegazioni, per un numero di effetti compreso ripple.