Several meshes are usually used for an object:
- The rendering meshes, for rendering on screen. There can be several rendering meshes, for example to manage Level of Detail (LOD) or to display several states of the same object.
- The collision mesh, used by the physics engine for collision detection and resolution. This mesh is usually very simple compared to the rendering meshes to avoid very costly operations while being good enough for its purpose.
A mesh is a mesh, whether you intend to use it in OpenGL to render that magnificent ball or in your favorite physics engine to make that bouncy ball bounce.
Moreover, the physics engine will probably expect data not in the same format as OpenGL.
It is usual to have both the rendering mesh and collision mesh to be manually created, with the collision mesh being a crude approximation of the rendering mesh. I'm not aware of tools to automate this process, but they certainly exist, although it might be simpler to create the collision mesh manually.
If you still insist on using a single mesh to generate collision data, you still have a few options:
1. Use a single mesh to generate both OpenGL vertex data and to use in your collision system (NOT ADVISED)
This will be a performance nightmare. Really.
2. Simplify the rendering mesh to use in your collision system
You can do the transformation from a complex rendering mesh to a simplified collision mesh at runtime if you find an algorithm/tool that suits your need for it, although I would advise that you do it during the development process and that you embed the result along with the initial mesh in your game.
For this, you will need not to discard the data after loading it to OpenGL. You already have access to the data you need, use it!