- #version 120
- uniform sampler2D uTexture;
- uniform vec2 uShift;
- uniform vec4 uMul;
- uniform vec4 uClamp;
- const int radius = 11;
- void main() {
- vec2 texCoord = gl_TexCoord[0].xy - float(int(radius /2)) * uShift;
- vec4 color = vec4(0.0, 0.0, 0.0, 0.0);
- for (int j = 0; j < gaussRadius; ++j){
- texCoord.x += uShift.x;
- texCoord.y = gl_TexCoord[0].y - float(int(radius /2)) * uShift.y;
- for (int i = 0; i < gaussRadius; ++i){
- color += /*gaussFilter[i] */ texture2D(uTexture, texCoord) / float(radius * radius );
- texCoord.y += uShift.y;
- }
- }
- gl_FragColor = min(color * uMul, uClamp);
- }