This uses a fun GPU based spring effect I wrote for Double Fine Happy Action Theater. For each pixel, a 2D displacement position and 2D velocity is stored in an RGBA render target. Another shader reads those displacement values and uses it to offset the lookup of the player.