root / Community_Core_Vision / apps / addonsExamples / VS2008 / bin / data / shaders / gaussV.fs @ 11

View | Annotate | Download (647 Bytes)

1 11 amit
uniform sampler2D	tex;
2 11 amit
uniform float direction;
3 11 amit
uniform float kernel_size;
4 11 amit
uniform float size_cx;
5 11 amit
uniform float size_cy;
6 11 amit
7 11 amit
void main (void) {
8 11 amit
    float kernel_size = 2.0;
9 11 amit
	float rho = 20.0;
10 11 amit
11 11 amit
    vec2 direction = vec2(0.0,1.0);
12 11 amit
13 11 amit
14 11 amit
	float dx = 1.0 / size_cx;
15 11 amit
16 11 amit
	float dy = 1.0 / size_cy;
17 11 amit
	vec2  st = gl_TexCoord [0].st;
18 11 amit
19 11 amit
	vec4	color = vec4 (0.0, 0.0, 0.0, 0.0);
20 11 amit
	float	weight = 0.0;
21 11 amit
	for (float i = -1.0*kernel_size; i <= kernel_size ; i+=1.0) {
22 11 amit
		float fac = exp (-(i * i) / (2.0 * rho * rho));
23 11 amit
		weight += fac;
24 11 amit
		color += texture2D (tex, st + vec2 (dx*i, dy*i) * direction) * fac;
25 11 amit
	}
26 11 amit
27 11 amit
	gl_FragColor =  color / weight;
28 11 amit
}