Newer
Older
pixi.js / src / filters / dropshadow / blurYTint.frag
@mathew groves mathew groves on 6 Mar 2015 1 KB Drop Shadow Filter added
precision lowp float;

varying vec2 vTextureCoord;
varying vec4 vColor;

uniform float blur;
uniform vec3 color;
uniform float alpha;

uniform sampler2D uSampler;

void main(void)
{
    vec4 sum = vec4(0.0);

    sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - 4.0*blur)) * 0.05;
    sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - 3.0*blur)) * 0.09;
    sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - 2.0*blur)) * 0.12;
    sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - blur)) * 0.15;
    sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y)) * 0.16;
    sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + blur)) * 0.15;
    sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + 2.0*blur)) * 0.12;
    sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + 3.0*blur)) * 0.09;
    sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + 4.0*blur)) * 0.05;

    gl_FragColor =vec4( color.rgb * sum.a * alpha, sum.a * alpha );
}