An OpenGL learning engine