Still need to handle systems where opengl is below 3.3 and the subsequent glsl discrepancies