The problem i am running into is that i am getting location clashes. When i create an seperate program for a vertex/pixel shader. Where both of them have an sampler object. The Id in both the vertex and pixel are 1 which makes sense. But how do i go about assigning an different texture for the vertex and pixel shader at the same time, when the id is 1 for both. glUniform does not take the program id has a parameter that would tell it which uniform in which shader to update. So is there anyway to do this.