GLSL Variable Types
attribute – vertex data from WebGL buffers, only accessible in the vertex shader.
uniform – like global variables you pass in from the JavaScript side before executing the program
varying – passing attributes from the vertex shader to the fragment shader and interpolate in between coordinates