Ich weiß nicht, ob es jetzt die beste Lösung ist, aber ich könnte mir gut vorstellen, alles selber zu machen.
Zuerst einmal musst du eine geeignete Formel finden, z.B.
Code:
z = sin(sqrt(x² + y²) * 4) / (sqrt(x² + y²) * 4 + 1)
(einfach z.B.
hier ausprobieren)
Dann implementierst du einen Pseudo-Raytracer: Für jedes Pixel wird die "Lage" auf dem Teil der Welle errechnet und daraus dann verschoben ein Pixel aus dem unteren Bild ausgelesen. Beispiel: Pixel liegt auf auf der Mitte einer nach oben abflachenden Welle -> Pixel zwei Pixel darunter wird ausgelesen.
Wahrscheinlich würde es am Anfang auch reichen, einfach Schattierungen (+ Alpha-Kanal) zu errechnen (also keine Brechung).
[edit]Ups, ich hatte den Beitrag ja noch gar nicht abgeschickt
. Also bin ich schon etwa richtig. @Newhack:
Das hier (Exe unten) finde ich ziemlich gut
.