Or I could just use DDS.
Because ResMan is for host memory only, it is up to the Mesh class to handle its own vertex buffer. Each ModelNode drawing the same Mesh object from ResMan must call Mesh's createVBO() function on init. Obviously this shouldn't be done every time, so the Mesh object will use a boolean is_vbo flag to prevent regeneration.
The memory will therefore persist in device memory until the scene is removed (i.e. all GraphNodes are destructed) upon which the ModelNode will scan the next scene file to be loaded to see if it should call the mesh->deleteVBO() function. This is to prevent reloading of elements in device memory between scenes.
Note: ResMan should check if resource exists before returning it, else it should throw an exception.
Testing render loop with temporary material ...