#version 300 es

struct v2f {
    highp vec4 pos;
    mediump vec2 uv;
    lowp vec4 color;
};
struct a2v {
    highp vec4 pos;
    highp vec2 uv;
    mediump vec3 normal;
    lowp vec4 color;
};
uniform highp mat4 mvp;
v2f xlat_main( in a2v v );
v2f xlat_main( in a2v v ) {
    v2f o;
    highp float dx;
    mediump float dy;
    lowp float dz;
    o.pos = ( mvp * v.pos );
    o.color = v.color;
    o.color.xyz  += v.normal;
    o.uv = v.uv;
    dx = v.pos.x ;
    dy = v.pos.y ;
    dz = v.pos.z ;
    return o;
}
in highp vec4 _inVertex;
in mediump vec3 _inNormal;
in highp vec2 _uv0;
in lowp vec4 _color;
out mediump vec2 xlv_TEXCOORD0;
out lowp vec4 xlv_COLOR;
void main() {
    v2f xl_retval;
    a2v xlt_v;
    xlt_v.pos = _inVertex;
    xlt_v.uv = _uv0;
    xlt_v.normal = _inNormal;
    xlt_v.color = _color;
    xl_retval = xlat_main( xlt_v);
    gl_Position = vec4( xl_retval.pos);
    xlv_TEXCOORD0 = vec2( xl_retval.uv);
    xlv_COLOR = vec4( xl_retval.color);
}
