// A constant representing the combined model/view/projection matrix.
uniform mat4 uMVPMatrix;

// Per-vertex position information we will pass in.    
attribute vec4 a_position;

// Per-vertex color information we will pass in.
attribute vec4 a_color;

// This will be passed into the fragment shader.
varying vec4 v_Color;
    
attribute vec2 TexCoordIn;
varying vec2 TexCoordOut;

// The entry point for our vertex shader.
void main() 
{
    // Pass the color through to the fragment shader.
    v_Color = a_color;
    
    // Setting the default point size to 0.2f
    gl_PointSize = 8.0;
    
    // It will be interpolated across the triangle.
    // gl_Position is a special variable used to store the final position.
    // Multiply the vertex by the matrix to get the final point in
    gl_Position = uMVPMatrix * a_position;
        
    TexCoordOut = TexCoordIn;
}