uniform_slots = other.uniform_slots;
for(vector<Uniform *>::const_iterator i=other.uniforms.begin(); i!=other.uniforms.end(); ++i)
uniforms.push_back((*i)->clone());
uniform_slots = other.uniform_slots;
for(vector<Uniform *>::const_iterator i=other.uniforms.begin(); i!=other.uniforms.end(); ++i)
uniforms.push_back((*i)->clone());