sqiddster glitchg
Here's an overview of all the variables the C2 provides for effects.
All vertex positions, unless stated otherwise are in relation to the screen where (0,0) is the top-left and (1,1) is the bottom-right.
varying vec2 vTex
This is the vertex co-ordinate of the current pixel
uniform sampler2D samplerFront
this is the source pixels. AKA the object's texture or the result of the previous shader.
uniform sampler2D samplerBack
this is where stuff is being drawn to
uniform float pixelWidth
1.0/width or in other words a pixel width in vertex co-ordinates
uniform float pixelHeight
1.0/height or in other words a pixel height in vertex co-ordinates
uniform vec2 destStart
The top-left vertex co-ordinate of the rectange being drawn to.
uniform vec2 destEnd
The bottom-right vertex co-ordinate of the rectange being drawn to.
For example a rectangle that covers the entire screen would have a destStart of (0,0) and a destEnd of (1,1)
Usually they define a rectangle that covers just the object, but depending on the xml settings it can be larger.
uniform float layerScale
uniform float layerAngle
^ In radians I think.
Both these are basically the same as their counterparts in C2
Now the folling two aren't used in any bundled effects but they'd have the same values as ViewportLeft(0), ViewportTop(0) and scrollx and scroly respectively.
uniform vec2 viewOrigin
Top-left of screen in layout pixels
uniform vec2 scrollPos
Center of screen in layout pixels.
uniform float seconds
Time.
uniform float opacity
Current object/layer opacity in the range of 0.0 to 1.0
In glwrap.js there are these others: aPos, aTex, matP, and matMV but they are only used in the vertex shader and I'm not even sure you can access them from a pixel shader.