Sets a 4fv uniform value based on the given name on this shader.
The uniform is only set if the value/s given are different to those previously set.
This method works by first setting this shader as being the current shader within the WebGL Renderer, if it isn't already. It also sets this shader as being the current one within the pipeline it belongs to.
The name of the uniform to set.
|arr||Array.<number> | Float32Array||
The new value to be used for the uniform variable.
This WebGLShader instance.