`#version 300 es // an attribute is an input (in) to a vertex shader. // It will receive data from a buffer //WebGL1 attribute vec4 aVertexPosition; in vec3 aVertexPosition; //WebGL1 attribute vec4 aVertexColor ; in vec4 aVertexColor ; //WebGL1 varying vec4 vColor; out vec4 vColor; // 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; }`