File: ColorCodeDifferenceImageShader.frag.txt

package info (click to toggle)
psychtoolbox-3 3.0.19.14.dfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 86,796 kB
  • sloc: ansic: 176,245; cpp: 20,103; objc: 5,393; sh: 2,753; python: 1,397; php: 384; makefile: 193; java: 113
file content (35 lines) | stat: -rw-r--r-- 876 bytes parent folder | download | duplicates (7)
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;
    }
}