23 lines
821 B
GLSL
23 lines
821 B
GLSL
|
precision mediump float;
|
||
|
varying mediump vec2 v_texcoord;
|
||
|
uniform sampler2D tex;
|
||
|
|
||
|
uniform float radius;
|
||
|
uniform vec2 halfpixel;
|
||
|
|
||
|
void main() {
|
||
|
vec2 uv = v_texcoord / 2.0;
|
||
|
|
||
|
vec4 sum = texture2D(tex, uv + vec2(-halfpixel.x * 2.0, 0.0) * radius);
|
||
|
|
||
|
sum += texture2D(tex, uv + vec2(-halfpixel.x, halfpixel.y) * radius) * 2.0;
|
||
|
sum += texture2D(tex, uv + vec2(0.0, halfpixel.y * 2.0) * radius);
|
||
|
sum += texture2D(tex, uv + vec2(halfpixel.x, halfpixel.y) * radius) * 2.0;
|
||
|
sum += texture2D(tex, uv + vec2(halfpixel.x * 2.0, 0.0) * radius);
|
||
|
sum += texture2D(tex, uv + vec2(halfpixel.x, -halfpixel.y) * radius) * 2.0;
|
||
|
sum += texture2D(tex, uv + vec2(0.0, -halfpixel.y * 2.0) * radius);
|
||
|
sum += texture2D(tex, uv + vec2(-halfpixel.x, -halfpixel.y) * radius) * 2.0;
|
||
|
|
||
|
gl_FragColor = sum / 12.0;
|
||
|
}
|