Line | |
---|
1 | #version 150 |
---|
2 | |
---|
3 | //------------------------------- |
---|
4 | //BlurH_ps20.glsl |
---|
5 | // Horizontal Gaussian-Blur pass |
---|
6 | //------------------------------- |
---|
7 | |
---|
8 | uniform sampler2D Blur0; |
---|
9 | out vec4 fragColour; |
---|
10 | in vec2 texCoord[5]; |
---|
11 | |
---|
12 | vec2 pos[11] = vec2[11] |
---|
13 | ( |
---|
14 | vec2( -5, 0), |
---|
15 | vec2( -4, 0), |
---|
16 | vec2( -3, 0), |
---|
17 | vec2( -2, 0), |
---|
18 | vec2( -1, 0), |
---|
19 | vec2( 0, 0), |
---|
20 | vec2( 1, 0), |
---|
21 | vec2( 2, 0), |
---|
22 | vec2( 3, 0), |
---|
23 | vec2( 4, 0), |
---|
24 | vec2( 5, 0) |
---|
25 | ); |
---|
26 | |
---|
27 | //We use the Normal-gauss distribution formula |
---|
28 | //f(x) being the formula, we used f(0.5)-f(-0.5); f(1.5)-f(0.5)... |
---|
29 | float samples[11] = float[11] |
---|
30 | (//stddev=2.0 |
---|
31 | 0.01222447, |
---|
32 | 0.02783468, |
---|
33 | 0.06559061, |
---|
34 | 0.12097757, |
---|
35 | 0.17466632, |
---|
36 | |
---|
37 | 0.19741265, |
---|
38 | |
---|
39 | 0.17466632, |
---|
40 | 0.12097757, |
---|
41 | 0.06559061, |
---|
42 | 0.02783468, |
---|
43 | 0.01222447 |
---|
44 | ); |
---|
45 | |
---|
46 | void main() |
---|
47 | { |
---|
48 | vec4 retVal; |
---|
49 | |
---|
50 | vec4 sum = vec4( 0 ); |
---|
51 | |
---|
52 | for( int i=0;i < 11; i++ ) |
---|
53 | { |
---|
54 | sum += texture( Blur0, texCoord[0] + (pos[i] * 0.0100000) ) * samples[i]; |
---|
55 | } |
---|
56 | |
---|
57 | fragColour = sum; |
---|
58 | } |
---|
Note: See
TracBrowser
for help on using the repository browser.