code: function cloneUniforms( src ) {
  
  	var dst = {};
  
  	for ( var u in src ) {
  
  		dst[ u ] = {};
  
  		for ( var p in src[ u ] ) {
  
  			var property = src[ u ][ p ];
  
  			if ( property && ( property.isColor ||
  				property.isMatrix3 || property.isMatrix4 ||
  				property.isVector2 || property.isVector3 || property.isVector4 ||
  				property.isTexture ) ) {
  
  				dst[ u ][ p ] = property.clone();
  
  			} else if ( Array.isArray( property ) ) {
  
  				dst[ u ][ p ] = property.slice();
  
  			} else {
  
  				dst[ u ][ p ] = property;
  
  			}
  
  		}
  
  	}
  
  	return dst;
  
  }
docs: Uniform Utilities