I couldn't find information of what uniforms are available and what they do. It would be useful to provide a short explanation of each uniform.
From what I found, these uniforms are available:
float time; // Seconds since start.
vec2 mouse; // Mouse position, X and Y 0 to 1, X starts left, Y starts bottom.
vec2 resolution; // Resolution.
sampler2D backbuffer // Texture storing previous rendered image.
vec2 surfaceSize; // ???
??? texture; // ???
What's the function of surfaceSize and texture by the way?
And I know of one varying
varying vec2 surfacePosition;
But I don't know what it does.