1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
/* Shader for computing pixel-wise difference between two input textures and
* rendering of the difference image in a color coded fashion.
* (c) 2008-2011 Mario Kleiner. Licensed under MIT license.
*/
#extension GL_ARB_texture_rectangle : enable
uniform sampler2DRect Image1;
uniform sampler2DRect Image2;
uniform float Delta;
void main(void)
{
float val1 = texture2DRect(Image1, gl_TexCoord[0].st).r;
float val2 = texture2DRect(Image2, gl_TexCoord[0].st).r;
float diff = val1 - val2;
if (abs(diff) > Delta) {
gl_FragColor.g = 0.0;
if (diff > 0.0) {
gl_FragColor.r = 1.0;
gl_FragColor.b = 0.0;
}
else {
gl_FragColor.r = 0.0;
gl_FragColor.b = 1.0;
}
}
else {
gl_FragColor.r = 0.0;
gl_FragColor.g = 1.0;
gl_FragColor.b = 0.0;
}
}
|