/usr/share/psychtoolbox-3/PsychOpenGL/PsychGLSLShaders/HoughDiskDetectionShader.frag.txt is in psychtoolbox-3-common 3.0.11.20140816.dfsg1-1.
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 | /* Generic 2D box blur fragment shader for 2D rectangle textures.
// OpenGL program has to setup the texture unit 'FilterMap' with a lookup
// table texture for the per-outputpixel location boxfilter half-width and bind
// texture unit 'Image' with the image to be box-filtered. Texture filtering
// mode needs to be GL_NEAREST for defined results!
//
// (w)2007 by Mario Kleiner. Licensed under MIT license.
*/
#extension GL_ARB_texture_rectangle : enable
uniform sampler2DRect Image;
uniform vec4 Roi;
uniform float RadiusSquared;
uniform float HalfWidth;
void main()
{
float dx, dy, indisk;
float sum = 0.0;
float sample;
if (gl_TexCoord[0].x < Roi.x || gl_TexCoord[0].y < Roi.y || gl_TexCoord[0].x > Roi.z || gl_TexCoord[0].y > Roi.w) discard;
for (dy = -HalfWidth; dy <= HalfWidth; dy++) {
for (dx = -HalfWidth; dx <= HalfWidth; dx++) {
sample = texture2DRect(Image, gl_TexCoord[0].xy + vec2(dx, dy)).a;
indisk = (2.0 * step((dx * dx + dy * dy), RadiusSquared)) - 1.0;
sum += sample * indisk;
}
}
gl_FragColor.rg = gl_TexCoord[0].xy;
gl_FragColor.ba = vec2(sum);
}
|