I've noticed some things that aren't well explained in the opengl docs. Please correct me if I'm wrong.
You can't set the value of a uniform if the program isn't the one that opengl is using at that moment. That will generate an error.
If you set the value of a uniform in program A, then switch to program B, then switch back to program A, the value stays. Is this reliable?
There is no way to set a uniform value to a program that isn't being used at that moment. Is there a workaround?