#ifdef GL_ES
#ifdef GL_FRAGMENT_PRECISION_HIGH
precision highp float;
#else
precision mediump float;
#endif
#endif

uniform mat3 uv2ndc;
uniform mat3 uv2texcoord;
uniform mat3 uv2shapecoord;
attribute vec2 sdfpos; // shape window part
attribute vec2 pos; //blur_tex
varying vec2 v_uv;
varying vec2 v_texcoord;

void main() {
    vec3 pos3 = vec3(pos, 1.0);
    gl_Position = vec4(uv2ndc * pos3, 1.0);
    v_texcoord = (uv2texcoord * pos3).xy;
    v_uv = (uv2shapecoord * vec3(sdfpos, 1.0)).xy;
}
