a starting template for GL 3.3+ using glut