`#version 300 es // an attribute is an input (in) to a vertex shader. // It will receive data from a buffer //attribute vec4 aVertexPosition; //in vec4 aVertexPosition; in vec3 aVertexPosition; in vec4 aVertexColor ; out vec4 vColor; in vec2 aTextureCoord; out highp vec2 vTextureCoord; // all shaders have a main function void main() { // gl_Position is a special variable a vertex shader // is responsible for setting // gl_Position = aVertexPosition ; gl_Position = vec4(aVertexPosition , 1.0 ) ; vColor = aVertexColor; vTextureCoord = aTextureCoord; }`