2016-03-15 11:29:53 +01:00
|
|
|
#version 450
|
|
|
|
|
|
|
|
#ifdef GL_ES
|
|
|
|
precision mediump float;
|
|
|
|
#endif
|
|
|
|
|
2016-03-22 12:04:08 +01:00
|
|
|
uniform sampler2D tex;
|
2016-03-15 11:29:53 +01:00
|
|
|
uniform vec2 dir;
|
|
|
|
|
|
|
|
in vec2 texCoord;
|
|
|
|
|
2016-04-01 12:37:46 +02:00
|
|
|
// const float weight[5] = float[] (0.227027, 0.1945946, 0.1216216, 0.054054, 0.016216);
|
2016-04-01 01:48:18 +02:00
|
|
|
|
2016-03-15 11:29:53 +01:00
|
|
|
void main() {
|
2016-04-03 23:25:53 +02:00
|
|
|
// vec2 step = dir / vec2(400, 300);
|
|
|
|
vec2 step = dir / vec2(960, 540);
|
2016-04-01 01:48:18 +02:00
|
|
|
// vec2 step = dir / vec2(800, 600);
|
|
|
|
|
2016-04-01 12:37:46 +02:00
|
|
|
// vec3 result = texture(tex, texCoord).rgb * weight[0];
|
|
|
|
// result += texture(tex, texCoord + step * 1).rgb * weight[1];
|
|
|
|
// result += texture(tex, texCoord - step * 1).rgb * weight[1];
|
|
|
|
// result += texture(tex, texCoord + step * 2).rgb * weight[2];
|
|
|
|
// result += texture(tex, texCoord - step * 2).rgb * weight[2];
|
|
|
|
// result += texture(tex, texCoord + step * 3).rgb * weight[3];
|
|
|
|
// result += texture(tex, texCoord - step * 3).rgb * weight[3];
|
|
|
|
// result += texture(tex, texCoord + step * 4).rgb * weight[4];
|
|
|
|
// result += texture(tex, texCoord - step * 4).rgb * weight[4];
|
|
|
|
// gl_FragColor = vec4(vec3(result), 1.0);
|
2016-04-01 01:48:18 +02:00
|
|
|
|
|
|
|
|
2016-03-26 12:53:25 +01:00
|
|
|
float res = texture( tex, texCoord + (step * 4.0) ).r;
|
|
|
|
res += texture( tex, texCoord + (step * 3.0) ).r;
|
|
|
|
res += texture( tex, texCoord + (step * 2.0) ).r;
|
2016-03-22 12:04:08 +01:00
|
|
|
res += texture( tex, texCoord + step ).r;
|
|
|
|
res += texture( tex, texCoord ).r;
|
|
|
|
res += texture( tex, texCoord -step ).r;
|
|
|
|
res += texture( tex, texCoord -(step * 2.0) ).r;
|
2016-03-26 12:53:25 +01:00
|
|
|
res += texture( tex, texCoord -(step * 3.0) ).r;
|
|
|
|
res += texture( tex, texCoord -(step * 4.0) ).r;
|
|
|
|
res /= 9.0;
|
2016-04-01 12:37:46 +02:00
|
|
|
gl_FragColor = vec4(vec3(res), 1.0);
|
2016-03-15 11:29:53 +01:00
|
|
|
|
2016-03-26 12:53:25 +01:00
|
|
|
// gl_FragColor = texture(tex, texCoord);
|
2016-03-15 11:29:53 +01:00
|
|
|
}
|