OpenGL cpp wrapper