attribute vec2 aVertexPosition; attribute vec2 aTextureCoord; attribute vec4 aColor; uniform float strength; uniform float dirX; uniform float dirY; uniform mat3 projectionMatrix; varying vec2 vTextureCoord; varying vec4 vColor; varying vec2 vBlurTexCoords[3]; void main(void) { gl_Position = vec4((projectionMatrix * vec3((aVertexPosition), 1.0)).xy, 0.0, 1.0); vTextureCoord = aTextureCoord; vBlurTexCoords[0] = aTextureCoord + vec2( (0.004 * strength) * dirX, (0.004 * strength) * dirY ); vBlurTexCoords[1] = aTextureCoord + vec2( (0.008 * strength) * dirX, (0.008 * strength) * dirY ); vBlurTexCoords[2] = aTextureCoord + vec2( (0.012 * strength) * dirX, (0.012 * strength) * dirY ); vColor = vec4(aColor.rgb * aColor.a, aColor.a); }