#version 330


layout (location=0) in vec3 vsPosition;
layout (location=1) in vec2 vsTexture;


uniform mat4 worldViewProj;
uniform float timer=0.f;
uniform float uTransitionProgress=1.0;

out vec2 fsTexture;
out float pass;

void main()
{
    float stimer=timer;
    //    if(gl_InstanceID==1)
    //        stimer=-timer*3.;
    //    pass=float(gl_InstanceID);
    //    mat4 rotation = mat4(
    //                          cos(stimer),  0.0,-sin(stimer), 0.0,
    //                                 0.0,  1.0,        0.0, 0.0,
    //                         sin(stimer),  0.0, cos(stimer), 0.0,
    //                                 0.0,  0.0,        0.0, 1.0);
    //    mat4 rotation = mat4(
    //                         cos(timer), -sin(timer), 0.0, 0.0,
    //                         sin(timer), cos(timer), 0.0, 0.0,
    //                         0.0, 0.0, 1.0,0.0,
    //                         0.0,  0.0,        0.0, 1.0);

    mat4 projection = mat4(
                           2.4140,0.0000,0.0000,0.0000,
                           0.0000,2.4140,0.0000,0.0000,
                           0.0000,0.0000,-1.020,-.4870,
                           0.0000,0.0000,-1.000,0.0000);
    mat4 translation=mat4(
                          1.0, 0.0, 0.0, 0.00,
                          0.0, 1.0, 0.0, 0.00,
                          0.0, 0.0, 1.0,-2.42,
                          0.0, 0.0, 0.0, 1.00);
    mat4 scale=mat4(
                    1.0, 0.0, 0.0, 0.00,
                    0.0, 1.0, 0.0, 0.00,
                    0.0, 0.0, 1.0, 0.00,
                    0.0, 0.0, 0.0, 1.00);

    vec4 tmpPos=vec4(vsPosition.x,vsPosition.y,vsPosition.z,1.0);
    vec4 worldPos=tmpPos*scale;
    //    worldPos*=rotation;
    translation[2][3]+=4.0*uTransitionProgress;
    worldPos*=translation;
    gl_Position = worldPos*projection;

    fsTexture = vsTexture;
}
