/usr/share/psychtoolbox-3/PsychOpenGL/PsychGLSLShaders/GVFInitShader.frag.txt is in psychtoolbox-3-common 3.0.11.20131230.dfsg1-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 36 37 38 | /* Shader for performing initialization of the constant arrays b, c1 and c2
* as part of GVF initialization:
*
* Input: RED = dx gradient field.
* GREEN = dy gradient field.
*
* Output: RED = b = 1 - mag(dx,dy) field.
* GREEN = c1 = dx * mag field.
* BLUE = c2 = dy * mag field.
*
* (w)2006 by Mario Kleiner. Licensed under MIT license.
*/
#extension GL_ARB_texture_rectangle : enable
uniform sampler2DRect Image;
void main()
{
float m, c1, c2;
/* Read gradient - texel for position (x,y)==(s,t): */
vec2 g = texture2DRect(Image, gl_TexCoord[0].st).rg;
/* Compute magnitude m : */
m = (g.x * g.x + g.y * g.y);
/* b = 1-m to RED channel: */
gl_FragColor.r = 1.0 - m;
/* c1 = m * dx to GREEN channel: */
gl_FragColor.g = m * g.x;
/* c2 = m * dy to BLUE channel: */
gl_FragColor.b = m * g.y;
/* Ignore alpha channel: */
gl_FragColor.a = 0.0;
}
|