currently user-facing types are concrete types containing opengl specific implementation. If support for multiple graphics apis (vulkan) is desirable then renaming these existing classes to e.g TextureGL, hiding them and instead exposing interface types Shader, Texture etc. from which they inherit, this would create an obvious layer in which I could support additional graphics apis.
would also allow me to hide implementation headers, reducing user header pollution
currently user-facing types are concrete types containing opengl specific implementation. If support for multiple graphics apis (vulkan) is desirable then renaming these existing classes to e.g TextureGL, hiding them and instead exposing interface types Shader, Texture etc. from which they inherit, this would create an obvious layer in which I could support additional graphics apis.
would also allow me to hide implementation headers, reducing user header pollution