Trying to do *every*thing as objects is a bit over the edge, IMHO. Thereare always tasks taht better resolved with the plais structural programming. Do not "wrap" the APIs. Create classes you need, make them call the required API functions from their methods.

Could anyone suggest what I should be *thinking* about when I try to
These APIs are about states. Think of how the state changes and API calls flow and how this maps onto your class ierarchy. For example, make sure that the texture wrappers are created only after the openGL loader class is created, together with the rendering context. And so on.