I am working on a small game engine for some of my friends, and I am using OpenGL (and GLFW and GLEW and all of that stuff) for rendering. As you may know, OpenGL is a C library and therefore does not contain classes. Now, I don't want my friends (or myself for that matter) seeing all of that gobbledygook from glfw3.h and glew.h, and I was wondering if there is an easy way to hide stuff like that from users.
I understand that in many cases, one might try pimpl in this case, but the problem is, all I have is functions. I could put them all in a static class or a namespace that is then included by necessary classes, but that still really wouldn't hide those functions from the user. The only thing off the top of my head would be something weird and cumbersome with function pointers, but I'm going to be using these functions so often that it would slow development.
In the end, I guess it wouldn't be TERRIBLE if scary things like glVertexAttribPointer
were visible, but its just something that I would like. Thanks in advance.