opengl stores matrices in column-major ordering