Browse Source

Merge pull request #10151 from aardgoose/examples

remove deprecated UniformsUtils.[merge|copy] from examples.
Mr.doob 8 years ago
parent
commit
bd1350563a
36 changed files with 88 additions and 84 deletions
  1. 1 1
      examples/js/Mirror.js
  2. 7 7
      examples/js/Ocean.js
  3. 12 12
      examples/js/ShaderSkin.js
  4. 6 5
      examples/js/ShaderTerrain.js
  5. 1 1
      examples/js/SkyShader.js
  6. 6 5
      examples/js/WaterShader.js
  7. 1 1
      examples/js/cameras/CinematicCamera.js
  8. 1 1
      examples/js/loaders/GLTFLoader.js
  9. 6 6
      examples/js/loaders/MMDLoader.js
  10. 1 1
      examples/js/loaders/deprecated/gltf/glTFLoader.js
  11. 2 2
      examples/js/nodes/materials/PhongNode.js
  12. 2 2
      examples/js/nodes/materials/StandardNode.js
  13. 4 4
      examples/js/postprocessing/AdaptiveToneMappingPass.js
  14. 2 2
      examples/js/postprocessing/BloomPass.js
  15. 1 1
      examples/js/postprocessing/BokehPass.js
  16. 1 1
      examples/js/postprocessing/DotScreenPass.js
  17. 1 1
      examples/js/postprocessing/FilmPass.js
  18. 1 1
      examples/js/postprocessing/GlitchPass.js
  19. 1 1
      examples/js/postprocessing/ManualMSAARenderPass.js
  20. 1 1
      examples/js/postprocessing/OutlinePass.js
  21. 3 3
      examples/js/postprocessing/SMAAPass.js
  22. 1 1
      examples/js/postprocessing/SavePass.js
  23. 1 1
      examples/js/postprocessing/ShaderPass.js
  24. 1 1
      examples/js/postprocessing/TexturePass.js
  25. 2 2
      examples/js/postprocessing/UnrealBloomPass.js
  26. 1 1
      examples/js/utils/ShadowMapViewer.js
  27. 6 4
      examples/webgl_gpgpu_water.html
  28. 1 1
      examples/webgl_marchingcubes.html
  29. 1 1
      examples/webgl_materials_bumpmap_skin.html
  30. 1 1
      examples/webgl_materials_parallaxmap.html
  31. 1 1
      examples/webgl_materials_shaders_fresnel.html
  32. 2 2
      examples/webgl_materials_skin.html
  33. 1 1
      examples/webgl_postprocessing_dof2.html
  34. 3 3
      examples/webgl_postprocessing_godrays.html
  35. 2 2
      examples/webgl_shaders_tonemapping.html
  36. 3 3
      examples/webgl_terrain_dynamic.html

+ 1 - 1
examples/js/Mirror.js

@@ -119,7 +119,7 @@ THREE.Mirror = function ( renderer, camera, options ) {
 	this.renderTarget2 = new THREE.WebGLRenderTarget( width, height, parameters );
 
 	var mirrorShader = THREE.ShaderLib[ "mirror" ];
-	var mirrorUniforms = THREE.UniformsUtils.clone( mirrorShader.uniforms );
+	var mirrorUniforms = Object.assign( {}, mirrorShader.uniforms );
 
 	this.material = new THREE.ShaderMaterial( {
 

+ 7 - 7
examples/js/Ocean.js

@@ -91,7 +91,7 @@
 
 	// 1 - Horizontal wave vertices used for FFT
 	var oceanHorizontalShader = THREE.ShaderLib[ "ocean_subtransform" ];
-	var oceanHorizontalUniforms = THREE.UniformsUtils.clone( oceanHorizontalShader.uniforms );
+	var oceanHorizontalUniforms = Object.assign( {}, oceanHorizontalShader.uniforms );
 	this.materialOceanHorizontal = new THREE.ShaderMaterial( {
 		uniforms: oceanHorizontalUniforms,
 		vertexShader: fullscreeenVertexShader.vertexShader,
@@ -104,7 +104,7 @@
 
 	// 2 - Vertical wave vertices used for FFT
 	var oceanVerticalShader = THREE.ShaderLib[ "ocean_subtransform" ];
-	var oceanVerticalUniforms = THREE.UniformsUtils.clone( oceanVerticalShader.uniforms );
+	var oceanVerticalUniforms = Object.assign( {}, oceanVerticalShader.uniforms );
 	this.materialOceanVertical = new THREE.ShaderMaterial( {
 		uniforms: oceanVerticalUniforms,
 		vertexShader: fullscreeenVertexShader.vertexShader,
@@ -117,7 +117,7 @@
 
 	// 3 - Initial spectrum used to generate height map
 	var initialSpectrumShader = THREE.ShaderLib[ "ocean_initial_spectrum" ];
-	var initialSpectrumUniforms = THREE.UniformsUtils.clone( initialSpectrumShader.uniforms );
+	var initialSpectrumUniforms = Object.assign( {}, initialSpectrumShader.uniforms );
 	this.materialInitialSpectrum = new THREE.ShaderMaterial( {
 		uniforms: initialSpectrumUniforms,
 		vertexShader: fullscreeenVertexShader.vertexShader,
@@ -129,7 +129,7 @@
 
 	// 4 - Phases used to animate heightmap
 	var phaseShader = THREE.ShaderLib[ "ocean_phase" ];
-	var phaseUniforms = THREE.UniformsUtils.clone( phaseShader.uniforms );
+	var phaseUniforms = Object.assign( {}, phaseShader.uniforms );
 	this.materialPhase = new THREE.ShaderMaterial( {
 		uniforms: phaseUniforms,
 		vertexShader: fullscreeenVertexShader.vertexShader,
@@ -140,7 +140,7 @@
 
 	// 5 - Shader used to update spectrum
 	var spectrumShader = THREE.ShaderLib[ "ocean_spectrum" ];
-	var spectrumUniforms = THREE.UniformsUtils.clone( spectrumShader.uniforms );
+	var spectrumUniforms = Object.assign( {}, spectrumShader.uniforms );
 	this.materialSpectrum = new THREE.ShaderMaterial( {
 		uniforms: spectrumUniforms,
 		vertexShader: fullscreeenVertexShader.vertexShader,
@@ -152,7 +152,7 @@
 
 	// 6 - Shader used to update spectrum normals
 	var normalShader = THREE.ShaderLib[ "ocean_normals" ];
-	var normalUniforms = THREE.UniformsUtils.clone( normalShader.uniforms );
+	var normalUniforms = Object.assign( {}, normalShader.uniforms );
 	this.materialNormal = new THREE.ShaderMaterial( {
 		uniforms: normalUniforms,
 		vertexShader: fullscreeenVertexShader.vertexShader,
@@ -164,7 +164,7 @@
 
 	// 7 - Shader used to update normals
 	var oceanShader = THREE.ShaderLib[ "ocean_main" ];
-	var oceanUniforms = THREE.UniformsUtils.clone( oceanShader.uniforms );
+	var oceanUniforms = Object.assign( {}, oceanShader.uniforms );
 	this.materialOcean = new THREE.ShaderMaterial( {
 		uniforms: oceanUniforms,
 		vertexShader: oceanShader.vertexShader,

+ 12 - 12
examples/js/ShaderSkin.js

@@ -22,10 +22,7 @@ THREE.ShaderSkin = {
 
 	'skinSimple' : {
 
-		uniforms: THREE.UniformsUtils.merge( [
-
-			THREE.UniformsLib[ "fog" ],
-			THREE.UniformsLib[ "lights" ],
+		uniforms: Object.assign(
 
 			{
 
@@ -51,9 +48,12 @@ THREE.ShaderSkin = {
 
 				"uWrapRGB": { value: new THREE.Vector3( 0.75, 0.375, 0.1875 ) }
 
-			}
+			},
+
+			THREE.UniformsLib[ "fog" ],
+			THREE.UniformsLib[ "lights" ]
 
-		] ),
+		),
 
 		fragmentShader: [
 
@@ -305,10 +305,7 @@ THREE.ShaderSkin = {
 
 	'skin' : {
 
-		uniforms: THREE.UniformsUtils.merge( [
-
-			THREE.UniformsLib[ "fog" ],
-			THREE.UniformsLib[ "lights" ],
+		uniforms: Object.assign(
 
 			{
 
@@ -333,9 +330,12 @@ THREE.ShaderSkin = {
 				"uRoughness": 	  		{ value: 0.15 },
 				"uSpecularBrightness": 	{ value: 0.75 }
 
-			}
+			},
+
+			THREE.UniformsLib[ "fog" ],
+			THREE.UniformsLib[ "lights" ]
 
-		] ),
+		),
 
 		fragmentShader: [
 

+ 6 - 5
examples/js/ShaderTerrain.js

@@ -15,10 +15,8 @@ THREE.ShaderTerrain = {
 
 	'terrain' : {
 
-		uniforms: THREE.UniformsUtils.merge( [
+		uniforms: Object.assign(
 
-			THREE.UniformsLib[ "fog" ],
-			THREE.UniformsLib[ "lights" ],
 
 			{
 
@@ -49,9 +47,12 @@ THREE.ShaderTerrain = {
 
 				"uOffset": { value: new THREE.Vector2( 0, 0 ) }
 
-			}
+			},
+
+			THREE.UniformsLib[ "fog" ],
+			THREE.UniformsLib[ "lights" ]
 
-		] ),
+		),
 
 		fragmentShader: [
 

+ 1 - 1
examples/js/SkyShader.js

@@ -210,7 +210,7 @@ THREE.ShaderLib[ 'sky' ] = {
 THREE.Sky = function () {
 
 	var skyShader = THREE.ShaderLib[ "sky" ];
-	var skyUniforms = THREE.UniformsUtils.clone( skyShader.uniforms );
+	var skyUniforms = Object.assign( {}, skyShader.uniforms );
 
 	var skyMat = new THREE.ShaderMaterial( {
 		fragmentShader: skyShader.fragmentShader,

+ 6 - 5
examples/js/WaterShader.js

@@ -9,8 +9,8 @@
 
 THREE.ShaderLib[ 'water' ] = {
 
-	uniforms: THREE.UniformsUtils.merge( [
-		THREE.UniformsLib[ "fog" ], {
+	uniforms: Object.assign(
+		 {
 			"normalSampler":    { value: null },
 			"mirrorSampler":    { value: null },
 			"alpha":            { value: 1.0 },
@@ -22,8 +22,9 @@ THREE.ShaderLib[ 'water' ] = {
 			"sunDirection":     { value: new THREE.Vector3( 0.70707, 0.70707, 0 ) },
 			"eye":              { value: new THREE.Vector3() },
 			"waterColor":       { value: new THREE.Color( 0x555555 ) }
-		}
-	] ),
+		},
+		THREE.UniformsLib[ "fog" ]
+	),
 
 	vertexShader: [
 		'uniform mat4 textureMatrix;',
@@ -169,7 +170,7 @@ THREE.Water = function ( renderer, camera, scene, options ) {
 	this.renderTarget2 = new THREE.WebGLRenderTarget( width, height );
 
 	var mirrorShader = THREE.ShaderLib[ "water" ];
-	var mirrorUniforms = THREE.UniformsUtils.clone( mirrorShader.uniforms );
+	var mirrorUniforms = Object.assign( {}, mirrorShader.uniforms );
 
 	this.material = new THREE.ShaderMaterial( {
 		fragmentShader: mirrorShader.fragmentShader,

+ 1 - 1
examples/js/cameras/CinematicCamera.js

@@ -121,7 +121,7 @@ THREE.CinematicCamera.prototype.initPostProcessing = function () {
 
 		var bokeh_shader = THREE.BokehShader;
 
-		this.postprocessing.bokeh_uniforms = THREE.UniformsUtils.clone( bokeh_shader.uniforms );
+		this.postprocessing.bokeh_uniforms = Object.assign( {}, bokeh_shader.uniforms );
 
 		this.postprocessing.bokeh_uniforms[ "tColor" ].value = this.postprocessing.rtTextureColor.texture;
 		this.postprocessing.bokeh_uniforms[ "tDepth" ].value = this.postprocessing.rtTextureDepth.texture;

+ 1 - 1
examples/js/loaders/GLTFLoader.js

@@ -713,7 +713,7 @@ var DeferredShaderMaterial = function( params ) {
 
 DeferredShaderMaterial.prototype.create = function() {
 
-	var uniforms = THREE.UniformsUtils.clone( this.params.uniforms );
+	var uniforms = Object.assign( {}, this.params.uniforms );
 
 	_each( this.params.uniforms, function( originalUniform, uniformId ) {
 

+ 6 - 6
examples/js/loaders/MMDLoader.js

@@ -1076,7 +1076,7 @@ THREE.MMDLoader.prototype.createMesh = function ( model, texturePath, onProgress
 			var p = materialParams[ i ];
 			var p2 = model.materials[ i ];
 			var m = new THREE.ShaderMaterial( {
-				uniforms: THREE.UniformsUtils.clone( shader.uniforms ),
+				uniforms: Object.assign( {}, shader.uniforms ),
 				vertexShader: shader.vertexShader,
 				fragmentShader: shader.fragmentShader
 			} );
@@ -1983,18 +1983,18 @@ THREE.MMDLoader.CubicBezierInterpolation.prototype._calculate = function( x1, x2
  */
 THREE.ShaderLib[ 'mmd' ] = {
 
-	uniforms: THREE.UniformsUtils.merge( [
-
-		THREE.ShaderLib[ 'phong' ].uniforms,
+	uniforms: Object.assign(
 
 		// MMD specific for toon mapping
 		{
 			"celShading"      : { type: "i", value: 0 },
 			"toonMap"         : { type: "t", value: null },
 			"hasToonTexture"  : { type: "i", value: 0 }
-		}
+		},
+
+		THREE.ShaderLib[ 'phong' ].uniforms
 
-	] ),
+	),
 
 	vertexShader: THREE.ShaderLib[ 'phong' ].vertexShader,
 

+ 1 - 1
examples/js/loaders/deprecated/gltf/glTFLoader.js

@@ -151,7 +151,7 @@ THREE.glTFLoader.prototype.load = function( url, callback ) {
 
 		// clone most uniforms but then clobber textures, we want them to
 		// be reused
-		var uniforms = THREE.UniformsUtils.clone(material.params.uniforms);
+		var uniforms = Objecct.asasign( {}, material.params.uniforms);
 		for (uniform in material.params.uniforms) {
 			var src = material.params.uniforms[uniform];
 			var dst = uniforms[uniform];

+ 2 - 2
examples/js/nodes/materials/PhongNode.js

@@ -29,13 +29,13 @@ THREE.PhongNode.prototype.build = function( builder ) {
 
 		var transform = this.transform ? this.transform.parseAndBuildCode( builder, 'v3', { cache : 'transform' } ) : undefined;
 
-		material.mergeUniform( THREE.UniformsUtils.merge( [
+		material.mergeUniform( Object.assign( {},
 
 			THREE.UniformsLib[ "fog" ],
 			THREE.UniformsLib[ "ambient" ],
 			THREE.UniformsLib[ "lights" ]
 
-		] ) );
+		) );
 
 		material.addVertexPars( [
 			"varying vec3 vViewPosition;",

+ 2 - 2
examples/js/nodes/materials/StandardNode.js

@@ -30,13 +30,13 @@ THREE.StandardNode.prototype.build = function( builder ) {
 
 		var transform = this.transform ? this.transform.parseAndBuildCode( builder, 'v3', { cache : 'transform' } ) : undefined;
 
-		material.mergeUniform( THREE.UniformsUtils.merge( [
+		material.mergeUniform( Object.assign( {},
 
 			THREE.UniformsLib[ "fog" ],
 			THREE.UniformsLib[ "ambient" ],
 			THREE.UniformsLib[ "lights" ]
 
-		] ) );
+		) );
 
 		material.addVertexPars( [
 			"varying vec3 vViewPosition;",

+ 4 - 4
examples/js/postprocessing/AdaptiveToneMappingPass.js

@@ -24,7 +24,7 @@ THREE.AdaptiveToneMappingPass = function ( adaptive, resolution ) {
 
 	var copyShader = THREE.CopyShader;
 
-	this.copyUniforms = THREE.UniformsUtils.clone( copyShader.uniforms );
+	this.copyUniforms = Object.assign( {}, copyShader.uniforms );
 
 	this.materialCopy = new THREE.ShaderMaterial( {
 
@@ -41,7 +41,7 @@ THREE.AdaptiveToneMappingPass = function ( adaptive, resolution ) {
 
 	this.materialLuminance = new THREE.ShaderMaterial( {
 
-		uniforms: THREE.UniformsUtils.clone( THREE.LuminosityShader.uniforms ),
+		uniforms: Object.assign( {}, THREE.LuminosityShader.uniforms ),
 		vertexShader: THREE.LuminosityShader.vertexShader,
 		fragmentShader: THREE.LuminosityShader.fragmentShader,
 		blending: THREE.NoBlending
@@ -97,7 +97,7 @@ THREE.AdaptiveToneMappingPass = function ( adaptive, resolution ) {
 
 	this.materialAdaptiveLum = new THREE.ShaderMaterial( {
 
-		uniforms: THREE.UniformsUtils.clone( this.adaptLuminanceShader.uniforms ),
+		uniforms: Object.assign( {}, this.adaptLuminanceShader.uniforms ),
 		vertexShader: this.adaptLuminanceShader.vertexShader,
 		fragmentShader: this.adaptLuminanceShader.fragmentShader,
 		defines: this.adaptLuminanceShader.defines,
@@ -109,7 +109,7 @@ THREE.AdaptiveToneMappingPass = function ( adaptive, resolution ) {
 
 	this.materialToneMap = new THREE.ShaderMaterial( {
 
-		uniforms: THREE.UniformsUtils.clone( THREE.ToneMapShader.uniforms ),
+		uniforms: Object.assign( {}, THREE.ToneMapShader.uniforms ),
 		vertexShader: THREE.ToneMapShader.vertexShader,
 		fragmentShader: THREE.ToneMapShader.fragmentShader,
 		blending: THREE.NoBlending

+ 2 - 2
examples/js/postprocessing/BloomPass.js

@@ -25,7 +25,7 @@ THREE.BloomPass = function ( strength, kernelSize, sigma, resolution ) {
 
 	var copyShader = THREE.CopyShader;
 
-	this.copyUniforms = THREE.UniformsUtils.clone( copyShader.uniforms );
+	this.copyUniforms = Object.assign( {}, copyShader.uniforms );
 
 	this.copyUniforms[ "opacity" ].value = strength;
 
@@ -46,7 +46,7 @@ THREE.BloomPass = function ( strength, kernelSize, sigma, resolution ) {
 
 	var convolutionShader = THREE.ConvolutionShader;
 
-	this.convolutionUniforms = THREE.UniformsUtils.clone( convolutionShader.uniforms );
+	this.convolutionUniforms = Object.assign( {}, convolutionShader.uniforms );
 
 	this.convolutionUniforms[ "uImageIncrement" ].value = THREE.BloomPass.blurX;
 	this.convolutionUniforms[ "cKernel" ].value = THREE.ConvolutionShader.buildKernel( sigma );

+ 1 - 1
examples/js/postprocessing/BokehPass.js

@@ -41,7 +41,7 @@ THREE.BokehPass = function ( scene, camera, params ) {
 	}
 
 	var bokehShader = THREE.BokehShader;
-	var bokehUniforms = THREE.UniformsUtils.clone( bokehShader.uniforms );
+	var bokehUniforms = Object.assign( {}, bokehShader.uniforms );
 
 	bokehUniforms[ "tDepth" ].value = this.renderTargetDepth.texture;
 

+ 1 - 1
examples/js/postprocessing/DotScreenPass.js

@@ -11,7 +11,7 @@ THREE.DotScreenPass = function ( center, angle, scale ) {
 
 	var shader = THREE.DotScreenShader;
 
-	this.uniforms = THREE.UniformsUtils.clone( shader.uniforms );
+	this.uniforms = Object.assign( {}, shader.uniforms );
 
 	if ( center !== undefined ) this.uniforms[ "center" ].value.copy( center );
 	if ( angle !== undefined ) this.uniforms[ "angle" ].value = angle;

+ 1 - 1
examples/js/postprocessing/FilmPass.js

@@ -11,7 +11,7 @@ THREE.FilmPass = function ( noiseIntensity, scanlinesIntensity, scanlinesCount,
 
 	var shader = THREE.FilmShader;
 
-	this.uniforms = THREE.UniformsUtils.clone( shader.uniforms );
+	this.uniforms = Object.assign( {}, shader.uniforms );
 
 	this.material = new THREE.ShaderMaterial( {
 

+ 1 - 1
examples/js/postprocessing/GlitchPass.js

@@ -9,7 +9,7 @@ THREE.GlitchPass = function ( dt_size ) {
 	if ( THREE.DigitalGlitch === undefined ) console.error( "THREE.GlitchPass relies on THREE.DigitalGlitch" );
 
 	var shader = THREE.DigitalGlitch;
-	this.uniforms = THREE.UniformsUtils.clone( shader.uniforms );
+	this.uniforms = Object.assign( {}, shader.uniforms );
 
 	if ( dt_size == undefined ) dt_size = 64;
 

+ 1 - 1
examples/js/postprocessing/ManualMSAARenderPass.js

@@ -27,7 +27,7 @@ THREE.ManualMSAARenderPass = function ( scene, camera, clearColor, clearAlpha )
 	if ( THREE.CopyShader === undefined ) console.error( "THREE.ManualMSAARenderPass relies on THREE.CopyShader" );
 
 	var copyShader = THREE.CopyShader;
-	this.copyUniforms = THREE.UniformsUtils.clone( copyShader.uniforms );
+	this.copyUniforms = Object.assign( {}, copyShader.uniforms );
 
 	this.copyMaterial = new THREE.ShaderMaterial(	{
 		uniforms: this.copyUniforms,

+ 1 - 1
examples/js/postprocessing/OutlinePass.js

@@ -74,7 +74,7 @@ THREE.OutlinePass = function ( resolution, scene, camera, selectedObjects ) {
 
 	var copyShader = THREE.CopyShader;
 
-	this.copyUniforms = THREE.UniformsUtils.clone( copyShader.uniforms );
+	this.copyUniforms = Object.assign( {}, copyShader.uniforms );
 	this.copyUniforms[ "opacity" ].value = 1.0;
 
 	this.materialCopy = new THREE.ShaderMaterial( {

+ 3 - 3
examples/js/postprocessing/SMAAPass.js

@@ -54,7 +54,7 @@ THREE.SMAAPass = function ( width, height ) {
 		console.error( "THREE.SMAAPass relies on THREE.SMAAShader" );
 	}
 
-	this.uniformsEdges = THREE.UniformsUtils.clone( THREE.SMAAShader[0].uniforms );
+	this.uniformsEdges = Object.assign( {}, THREE.SMAAShader[0].uniforms );
 
 	this.uniformsEdges[ "resolution" ].value.set( 1 / width, 1 / height );
 
@@ -67,7 +67,7 @@ THREE.SMAAPass = function ( width, height ) {
 
 	// materials - pass 2
 
-	this.uniformsWeights = THREE.UniformsUtils.clone( THREE.SMAAShader[1].uniforms );
+	this.uniformsWeights = Object.assign( {}, THREE.SMAAShader[1].uniforms );
 
 	this.uniformsWeights[ "resolution" ].value.set( 1 / width, 1 / height );
 	this.uniformsWeights[ "tDiffuse" ].value = this.edgesRT.texture;
@@ -83,7 +83,7 @@ THREE.SMAAPass = function ( width, height ) {
 
 	// materials - pass 3
 
-	this.uniformsBlend = THREE.UniformsUtils.clone( THREE.SMAAShader[2].uniforms );
+	this.uniformsBlend = Object.assign( {}, THREE.SMAAShader[2].uniforms );
 
 	this.uniformsBlend[ "resolution" ].value.set( 1 / width, 1 / height );
 	this.uniformsBlend[ "tDiffuse" ].value = this.weightsRT.texture;

+ 1 - 1
examples/js/postprocessing/SavePass.js

@@ -13,7 +13,7 @@ THREE.SavePass = function ( renderTarget ) {
 
 	this.textureID = "tDiffuse";
 
-	this.uniforms = THREE.UniformsUtils.clone( shader.uniforms );
+	this.uniforms = Object.assign( {}, shader.uniforms );
 
 	this.material = new THREE.ShaderMaterial( {
 

+ 1 - 1
examples/js/postprocessing/ShaderPass.js

@@ -16,7 +16,7 @@ THREE.ShaderPass = function ( shader, textureID ) {
 
 	} else if ( shader ) {
 
-		this.uniforms = THREE.UniformsUtils.clone( shader.uniforms );
+		this.uniforms = Object.assign( {}, shader.uniforms );
 
 		this.material = new THREE.ShaderMaterial( {
 

+ 1 - 1
examples/js/postprocessing/TexturePass.js

@@ -14,7 +14,7 @@ THREE.TexturePass = function ( map, opacity ) {
 	this.map = map;
 	this.opacity = ( opacity !== undefined ) ? opacity : 1.0;
 
-	this.uniforms = THREE.UniformsUtils.clone( shader.uniforms );
+	this.uniforms = Object.assign( {}, shader.uniforms );
 
 	this.material = new THREE.ShaderMaterial( {
 

+ 2 - 2
examples/js/postprocessing/UnrealBloomPass.js

@@ -49,7 +49,7 @@ THREE.UnrealBloomPass = function ( resolution, strength, radius, threshold ) {
 		console.error( "THREE.UnrealBloomPass relies on THREE.LuminosityHighPassShader" );
 
 	var highPassShader = THREE.LuminosityHighPassShader;
-	this.highPassUniforms = THREE.UniformsUtils.clone( highPassShader.uniforms );
+	this.highPassUniforms = Object.assign( {}, highPassShader.uniforms );
 
 	this.highPassUniforms[ "luminosityThreshold" ].value = threshold;
 	this.highPassUniforms[ "smoothWidth" ].value = 0.01;
@@ -101,7 +101,7 @@ THREE.UnrealBloomPass = function ( resolution, strength, radius, threshold ) {
 
 	var copyShader = THREE.CopyShader;
 
-	this.copyUniforms = THREE.UniformsUtils.clone( copyShader.uniforms );
+	this.copyUniforms = Object.assign( {}, copyShader.uniforms );
 	this.copyUniforms[ "opacity" ].value = 1.0;
 
 	this.materialCopy = new THREE.ShaderMaterial( {

+ 1 - 1
examples/js/utils/ShadowMapViewer.js

@@ -49,7 +49,7 @@ THREE.ShadowMapViewer = function ( light ) {
 	//HUD for shadow map
 	var shader = THREE.UnpackDepthRGBAShader;
 
-	var uniforms = new THREE.UniformsUtils.clone( shader.uniforms );
+	var uniforms = Object.assign( {}, shader.uniforms );
 	var material = new THREE.ShaderMaterial( {
 		uniforms: uniforms,
 		vertexShader: shader.vertexShader,

+ 6 - 4
examples/webgl_gpgpu_water.html

@@ -339,12 +339,14 @@
 
 				// material: make a ShaderMaterial clone of MeshPhongMaterial, with customized vertex shader
 				var material = new THREE.ShaderMaterial( {
-					uniforms: THREE.UniformsUtils.merge( [
-						THREE.ShaderLib[ 'phong' ].uniforms,
+					uniforms: Object.assign(
+
 						{
 							heightmap: { value: null }
-						}
-					] ),
+						},
+
+						THREE.ShaderLib[ 'phong' ].uniforms
+					),
 					vertexShader: document.getElementById( 'waterVertexShader' ).textContent,
 					fragmentShader: THREE.ShaderChunk[ 'meshphong_frag' ]
 

+ 1 - 1
examples/webgl_marchingcubes.html

@@ -383,7 +383,7 @@
 
 			var shader = THREE.ShaderToon[ id ];
 
-			var u = THREE.UniformsUtils.clone( shader.uniforms );
+			var u = Object.assign( {}, shader.uniforms );
 
 			var vs = shader.vertexShader;
 			var fs = shader.fragmentShader;

+ 1 - 1
examples/webgl_materials_bumpmap_skin.html

@@ -211,7 +211,7 @@
 				var fragmentShader = shader.fragmentShader;
 				var vertexShader = shader.vertexShader;
 
-				var uniforms = THREE.UniformsUtils.clone( shader.uniforms );
+				var uniforms = Object.assign( {}, shader.uniforms );
 
 				uniforms[ "enableBump" ].value = true;
 				uniforms[ "enableSpecular" ].value = true;

+ 1 - 1
examples/webgl_materials_parallaxmap.html

@@ -138,7 +138,7 @@
 			function initScene() {
 
 				var shader = THREE.ParallaxShader;
-				var uniforms = THREE.UniformsUtils.clone( shader.uniforms );
+				var uniforms = Object.assign( {}, shader.uniforms );
 				var parameters = {
 					fragmentShader: shader.fragmentShader,
 					vertexShader: shader.vertexShader,

+ 1 - 1
examples/webgl_materials_shaders_fresnel.html

@@ -92,7 +92,7 @@
 				var geometry = new THREE.SphereGeometry( 100, 32, 16 );
 
 				var shader = THREE.FresnelShader;
-				var uniforms = THREE.UniformsUtils.clone( shader.uniforms );
+				var uniforms = Object.assign( {}, shader.uniforms );
 
 				uniforms[ "tCube" ].value = textureCube;
 

+ 2 - 2
examples/webgl_materials_skin.html

@@ -115,7 +115,7 @@
 
 				var shader = THREE.ShaderSkin[ "skin" ];
 
-				var uniformsUV = THREE.UniformsUtils.clone( shader.uniforms );
+				var uniformsUV = Object.assign( {}, shader.uniforms );
 
 				var textureLoader = new THREE.TextureLoader();
 
@@ -133,7 +133,7 @@
 				uniformsUV[ "uSpecularBrightness" ].value = 0.7;
 
 
-				var uniforms = THREE.UniformsUtils.clone( uniformsUV );
+				var uniforms = Object.assign( {}, uniformsUV );
 				uniforms[ "tDiffuse" ].value = uniformsUV[ "tDiffuse" ].value;
 				uniforms[ "tNormal" ].value = uniformsUV[ "tNormal" ].value;
 				uniforms[ "passID" ].value = 1;

+ 1 - 1
examples/webgl_postprocessing_dof2.html

@@ -402,7 +402,7 @@ Use WEBGL Depth buffer support?
 
 				var bokeh_shader = THREE.BokehShader;
 
-				postprocessing.bokeh_uniforms = THREE.UniformsUtils.clone( bokeh_shader.uniforms );
+				postprocessing.bokeh_uniforms = Object.assign( {}, bokeh_shader.uniforms );
 
 				postprocessing.bokeh_uniforms[ "tColor" ].value = postprocessing.rtTextureColor.texture;
 				postprocessing.bokeh_uniforms[ "tDepth" ].value = postprocessing.rtTextureDepth.texture;

+ 3 - 3
examples/webgl_postprocessing_godrays.html

@@ -203,7 +203,7 @@
 				// god-ray shaders
 
 				var godraysGenShader = THREE.ShaderGodRays[ "godrays_generate" ];
-				postprocessing.godrayGenUniforms = THREE.UniformsUtils.clone( godraysGenShader.uniforms );
+				postprocessing.godrayGenUniforms = Object.assign( {}, godraysGenShader.uniforms );
 				postprocessing.materialGodraysGenerate = new THREE.ShaderMaterial( {
 
 					uniforms: postprocessing.godrayGenUniforms,
@@ -213,7 +213,7 @@
 				} );
 
 				var godraysCombineShader = THREE.ShaderGodRays[ "godrays_combine" ];
-				postprocessing.godrayCombineUniforms = THREE.UniformsUtils.clone( godraysCombineShader.uniforms );
+				postprocessing.godrayCombineUniforms = Object.assign( {}, godraysCombineShader.uniforms );
 				postprocessing.materialGodraysCombine = new THREE.ShaderMaterial( {
 
 					uniforms: postprocessing.godrayCombineUniforms,
@@ -223,7 +223,7 @@
 				} );
 
 				var godraysFakeSunShader = THREE.ShaderGodRays[ "godrays_fake_sun" ];
-				postprocessing.godraysFakeSunUniforms = THREE.UniformsUtils.clone( godraysFakeSunShader.uniforms );
+				postprocessing.godraysFakeSunUniforms = Object.assign( {}, godraysFakeSunShader.uniforms );
 				postprocessing.materialGodraysFakeSun = new THREE.ShaderMaterial( {
 
 					uniforms: postprocessing.godraysFakeSunUniforms,

+ 2 - 2
examples/webgl_shaders_tonemapping.html

@@ -135,12 +135,12 @@
 					// blending: THREE.AdditiveBlending,
 					transparent: true,
 					lights: true,
-					uniforms: THREE.UniformsUtils.merge( [
+					uniforms: Object.assign( {},
 
 						THREE.UniformsLib[ "common" ],
 						THREE.UniformsLib[ "lights" ]
 
-					] ),
+					),
 					vertexShader: [
 						"varying vec3 vViewPosition;",
 						"varying vec3 vNormal;",

+ 3 - 3
examples/webgl_terrain_dynamic.html

@@ -214,7 +214,7 @@
 			var camera, scene;
 			var cameraOrtho, sceneRenderTarget;
 
-			var uniformsNoise, uniformsNormal,
+			var uniformsNoise, uniformsNormal, uniformsTerrain,
 				heightMap, normalMap,
 				quadTarget;
 
@@ -304,7 +304,7 @@
 
 				};
 
-				uniformsNormal = THREE.UniformsUtils.clone( normalShader.uniforms );
+				uniformsNormal = Object.assign( {}, normalShader.uniforms );
 
 				uniformsNormal.height.value = 0.05;
 				uniformsNormal.resolution.value.set( rx, ry );
@@ -335,7 +335,7 @@
 
 				var terrainShader = THREE.ShaderTerrain[ "terrain" ];
 
-				var uniformsTerrain = THREE.UniformsUtils.clone( terrainShader.uniforms );
+				uniformsTerrain = Object.assign( {}, terrainShader.uniforms );
 
 				uniformsTerrain[ 'tNormal' ].value = normalMap.texture;
 				uniformsTerrain[ 'uNormalScale' ].value = 3.5;