armory/raw/blur_pass/blur_pass.frag.glsl

49 lines
1.7 KiB
Plaintext
Raw Normal View History

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-06-07 09:38:49 +02:00
const vec2 screenSize = vec2(800, 600);
2016-04-01 01:48:18 +02:00
2016-03-15 11:29:53 +01:00
void main() {
vec2 step = dir / screenSize;
2016-04-01 01:48:18 +02:00
2016-06-07 09:38:49 +02:00
vec3 result = texture(tex, texCoord + (step * 4.0)).rgb;
result += texture(tex, texCoord + (step * 3.0)).rgb;
result += texture(tex, texCoord + (step * 2.0)).rgb;
result += texture(tex, texCoord + step).rgb;
result += texture(tex, texCoord).rgb;
result += texture(tex, texCoord - step).rgb;
result += texture(tex, texCoord - (step * 2.0)).rgb;
result += texture(tex, texCoord - (step * 3.0)).rgb;
result += texture(tex, texCoord - (step * 4.0)).rgb;
result /= vec3(9.0);
// vec3 result = texture(tex, texCoord + (step * 8.0)).rgb;
// result += texture(tex, texCoord + (step * 7.0)).rgb;
// result += texture(tex, texCoord + (step * 6.0)).rgb;
// result += texture(tex, texCoord + (step * 5.0)).rgb;
// result += texture(tex, texCoord + (step * 4.0)).rgb;
// result += texture(tex, texCoord + (step * 3.0)).rgb;
// result += texture(tex, texCoord + (step * 2.0)).rgb;
// result += texture(tex, texCoord + step).rgb;
// result += texture(tex, texCoord).rgb;
// result += texture(tex, texCoord - step).rgb;
// result += texture(tex, texCoord - (step * 2.0)).rgb;
// result += texture(tex, texCoord - (step * 3.0)).rgb;
// result += texture(tex, texCoord - (step * 4.0)).rgb;
// result += texture(tex, texCoord - (step * 5.0)).rgb;
// result += texture(tex, texCoord - (step * 6.0)).rgb;
// result += texture(tex, texCoord - (step * 7.0)).rgb;
// result += texture(tex, texCoord - (step * 8.0)).rgb;
// result /= vec3(17.0);
2016-04-01 01:48:18 +02:00
2016-06-03 17:18:38 +02:00
gl_FragColor.rgb = vec3(result);
2016-03-15 11:29:53 +01:00
}