Object-oriented OpenGL