this is what the processing library says about this example:
'Here is a generic implementation. Yay, Java Ripples!!! Nothing new there. But unlike the usual Java ripples you might have seen, this one doesn't rely on accessing the pixel array and shifting it based on the height map of the ripple. Its OpenGL environmental mapping using a texture as the reflection. For this example, its a texture I pulled off of Filter Forge. The ripples are created by webcam movement.'