title: best way to wrap opengl models
body: <p><strong>In short:</strong> What is the "preferred" way to wrap OpenGL's buffers, shaders and/or matrices required for a more high level "model" object?</p>
  
  <p>I am trying to write this tiny graphics engine in C++ built on core OpenGL 3.3 and I would like to implement an as clean as possible solution to wrapping a higher level "model" object, which would contain its vertex buffer, global position/rotation, textures (and also a shader maybe?) and potentially other information.</p>
  
  <p>I have looked into <a href="https://github.com/gameplay3d/GamePlay" rel="nofollow">this open source engine, called GamePlay3D</a> and don't quite agree with many aspects of its solution to this problem. Is there any good resource that discusses this topic for modern OpenGL? Or is there some simple and clean way to do this? </p>