light_world.lua/shader/blurv.glsl

14 lines
780 B
Plaintext
Raw Normal View History

2014-03-04 13:52:51 +00:00
extern vec2 screen = vec2(800.0, 600.0);
vec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 pixel_coords) {
vec2 pSize = vec2(1.0 / screen.x, 1.0 / screen.y);
vec4 col = Texel(texture, texture_coords);
col = col + Texel(texture, vec2(texture_coords.x - pSize.x, texture_coords.y));
col = col + Texel(texture, vec2(texture_coords.x + pSize.x, texture_coords.y));
col = col + Texel(texture, vec2(texture_coords.x - pSize.x * 2, texture_coords.y));
col = col + Texel(texture, vec2(texture_coords.x + pSize.x * 2, texture_coords.y));
col = col + Texel(texture, vec2(texture_coords.x - pSize.x * 3, texture_coords.y));
col = col + Texel(texture, vec2(texture_coords.x + pSize.x * 3, texture_coords.y));
col = col / 7.0;
return vec4(col.r, col.g, col.b, 1.0);
}