uniform vec2 resolution;
uniform mat2 matrix;
uniform sampler2D image;
void main(void)
{
vec2 position = 2.0*gl_FragCoord.xy/resolution - vec2(1.0);
gl_FragColor = texture2D(image, matrix*position);
}
uniform sampler2D image1;
uniform sampler2D image2;
uniform vec2 resolution;
uniform float time;
void main(void)
{
float t = (cos(time)+1.0)/2.0;
vec2 p = gl_FragCoord.xy/resolution;
vec4 frontPixel= texture2D(image1, p);
vec4 backPixel = texture2D(image2, p);
gl_FragColor = mix(backPixel,frontPixel,t);
}