I couldn't find anything about this so here goes: What I'm trying to do is make a generic game engine, I want to be able to load any 3D object and apply any shader to that model.
I'm at the point where I need to know where the vertex attributes in the shader are so I can feed them to glVertexAttribPointer, However, glVertexAttribPointer takes as input the location of the attribute. 
Different shaders could have different locations for the vertices. Is there a way to query the attributes in a shader and store them in a list in c++? 
Post Answer: I've found the following answer that explains it in more detail.
 
    