A 3D graphics library in C++, creating an abstraction over OpenGL