This LÖVE wiki page lists the main differences between pixeleffects and glsl you should be aware of while adapting shaders to LÖVE.

adapting glsl to pixeleffect

To adapt Fabien’s glsl pixel shader to a LÖVE pixeleffect I only had to change a couple of things.
The biggest change was moving the void main() function to one that returns a vec4. LÖVE requires this function to be named effect, and to have a bunch of arguments supplied:

Thanks!
In the Vimeo clip I use a bunch of pixeleffects:
- the lightrays described here
- bloom, a series of down-sampled copies of the main render buffer, scaled back up and mixed with the original
- film grain, a single, pre-calculated canvas of noise, randomly offset in x and y per frame, mixed into the main buffer

Thanks Dan!
The background is made up of something like five layers. Each layer is really wide, like, 2000 pixels or something (probably a Po2). Each layer has a depth attribute that governs how fast it scrolls by, making the sweet parallax effect.
When I do it for real next time :) I’ll probably make it more modular: a bunch of individual trees etc, and build up each depth layer that way.
I just painted up these layers real quick in a paint app for the demo.