Well I was wondering if there was a way to use the same vertex shader across multiple programs. For example I need about 20 programs and each of them use the same vertex shader. So rather than storing the uniform location of the same thing for 20 different programs just store it for one? Is there a way to do this? Or better yet is there a way to use only 1 program yet still be able to use multiple fragment shaders?