2
0
Эх сурвалжийг харах

Deprecated UniformsUtils. See #8016.

Mr.doob 8 жил өмнө
parent
commit
061505cbfa

+ 65 - 0
src/Three.Legacy.js

@@ -848,6 +848,71 @@ export var ImageUtils = {
 
 
 };
 };
 
 
+export var UniformsUtils = {
+
+	merge: function ( uniforms ) {
+
+		console.warn( 'THREE.UniformsUtils.merge() has been deprecated. Use Object.assign() instead.' );
+
+		var merged = {};
+
+		for ( var u = 0; u < uniforms.length; u ++ ) {
+
+			var tmp = this.clone( uniforms[ u ] );
+
+			for ( var p in tmp ) {
+
+				merged[ p ] = tmp[ p ];
+
+			}
+
+		}
+
+		return merged;
+
+	},
+
+	clone: function ( uniforms_src ) {
+
+		console.warn( 'THREE.UniformsUtils.clone() has been deprecated.' );
+
+		var uniforms_dst = {};
+
+		for ( var u in uniforms_src ) {
+
+			uniforms_dst[ u ] = {};
+
+			for ( var p in uniforms_src[ u ] ) {
+
+				var parameter_src = uniforms_src[ u ][ p ];
+
+				if ( parameter_src && ( parameter_src.isColor ||
+					parameter_src.isMatrix3 || parameter_src.isMatrix4 ||
+					parameter_src.isVector2 || parameter_src.isVector3 || parameter_src.isVector4 ||
+					parameter_src.isTexture ) ) {
+
+					uniforms_dst[ u ][ p ] = parameter_src.clone();
+
+				} else if ( Array.isArray( parameter_src ) ) {
+
+					uniforms_dst[ u ][ p ] = parameter_src.slice();
+
+				} else {
+
+					uniforms_dst[ u ][ p ] = parameter_src;
+
+				}
+
+			}
+
+		}
+
+		return uniforms_dst;
+
+	}
+
+};
+
 //
 //
 
 
 export function Projector () {
 export function Projector () {

+ 0 - 1
src/Three.js

@@ -6,7 +6,6 @@ export { WebGLRenderer } from './renderers/WebGLRenderer.js';
 export { WebGL2Renderer } from './renderers/WebGL2Renderer.js';
 export { WebGL2Renderer } from './renderers/WebGL2Renderer.js';
 export { ShaderLib } from './renderers/shaders/ShaderLib.js';
 export { ShaderLib } from './renderers/shaders/ShaderLib.js';
 export { UniformsLib } from './renderers/shaders/UniformsLib.js';
 export { UniformsLib } from './renderers/shaders/UniformsLib.js';
-export { UniformsUtils } from './renderers/shaders/UniformsUtils.js';
 export { ShaderChunk } from './renderers/shaders/ShaderChunk.js';
 export { ShaderChunk } from './renderers/shaders/ShaderChunk.js';
 export { FogExp2 } from './scenes/FogExp2.js';
 export { FogExp2 } from './scenes/FogExp2.js';
 export { Fog } from './scenes/Fog.js';
 export { Fog } from './scenes/Fog.js';

+ 1 - 2
src/materials/ShaderMaterial.js

@@ -1,5 +1,4 @@
 import { Material } from './Material';
 import { Material } from './Material';
-import { UniformsUtils } from '../renderers/shaders/UniformsUtils';
 
 
 /**
 /**
  * @author alteredq / http://alteredqualia.com/
  * @author alteredq / http://alteredqualia.com/
@@ -90,7 +89,7 @@ ShaderMaterial.prototype.copy = function ( source ) {
 	this.fragmentShader = source.fragmentShader;
 	this.fragmentShader = source.fragmentShader;
 	this.vertexShader = source.vertexShader;
 	this.vertexShader = source.vertexShader;
 
 
-	this.uniforms = UniformsUtils.clone( source.uniforms );
+	this.uniforms = Object.assign( {}, source.uniforms );
 
 
 	this.defines = source.defines;
 	this.defines = source.defines;
 
 

+ 3 - 4
src/materials/ShadowMaterial.js

@@ -1,7 +1,6 @@
 import { ShaderMaterial } from './ShaderMaterial';
 import { ShaderMaterial } from './ShaderMaterial';
 import { ShaderChunk } from '../renderers/shaders/ShaderChunk';
 import { ShaderChunk } from '../renderers/shaders/ShaderChunk';
 import { UniformsLib } from '../renderers/shaders/UniformsLib';
 import { UniformsLib } from '../renderers/shaders/UniformsLib';
-import { UniformsUtils } from '../renderers/shaders/UniformsUtils';
 
 
 /**
 /**
  * @author mrdoob / http://mrdoob.com/
  * @author mrdoob / http://mrdoob.com/
@@ -10,12 +9,12 @@ import { UniformsUtils } from '../renderers/shaders/UniformsUtils';
 function ShadowMaterial() {
 function ShadowMaterial() {
 
 
 	ShaderMaterial.call( this, {
 	ShaderMaterial.call( this, {
-		uniforms: UniformsUtils.merge( [
-			UniformsLib[ "lights" ],
+		uniforms: Object.assign( {},
+			UniformsLib.lights,
 			{
 			{
 				opacity: { value: 1.0 }
 				opacity: { value: 1.0 }
 			}
 			}
-		] ),
+		),
 		vertexShader: ShaderChunk[ 'shadow_vert' ],
 		vertexShader: ShaderChunk[ 'shadow_vert' ],
 		fragmentShader: ShaderChunk[ 'shadow_frag' ]
 		fragmentShader: ShaderChunk[ 'shadow_frag' ]
 	} );
 	} );

+ 1 - 2
src/renderers/WebGLRenderer.js

@@ -1,7 +1,6 @@
 import { REVISION, MaxEquation, MinEquation, RGB_ETC1_Format, RGBA_PVRTC_2BPPV1_Format, RGBA_PVRTC_4BPPV1_Format, RGB_PVRTC_2BPPV1_Format, RGB_PVRTC_4BPPV1_Format, RGBA_S3TC_DXT5_Format, RGBA_S3TC_DXT3_Format, RGBA_S3TC_DXT1_Format, RGB_S3TC_DXT1_Format, SrcAlphaSaturateFactor, OneMinusDstColorFactor, DstColorFactor, OneMinusDstAlphaFactor, DstAlphaFactor, OneMinusSrcAlphaFactor, SrcAlphaFactor, OneMinusSrcColorFactor, SrcColorFactor, OneFactor, ZeroFactor, ReverseSubtractEquation, SubtractEquation, AddEquation, DepthFormat, DepthStencilFormat, LuminanceAlphaFormat, LuminanceFormat, RGBAFormat, RGBFormat, AlphaFormat, HalfFloatType, FloatType, UnsignedIntType, IntType, UnsignedShortType, ShortType, ByteType, UnsignedInt248Type, UnsignedShort565Type, UnsignedShort5551Type, UnsignedShort4444Type, UnsignedByteType, LinearMipMapLinearFilter, LinearMipMapNearestFilter, LinearFilter, NearestMipMapLinearFilter, NearestMipMapNearestFilter, NearestFilter, MirroredRepeatWrapping, ClampToEdgeWrapping, RepeatWrapping, FrontFaceDirectionCW, NoBlending, BackSide, DoubleSide, TriangleFanDrawMode, TriangleStripDrawMode, TrianglesDrawMode, NoColors, FlatShading, LinearToneMapping } from '../constants';
 import { REVISION, MaxEquation, MinEquation, RGB_ETC1_Format, RGBA_PVRTC_2BPPV1_Format, RGBA_PVRTC_4BPPV1_Format, RGB_PVRTC_2BPPV1_Format, RGB_PVRTC_4BPPV1_Format, RGBA_S3TC_DXT5_Format, RGBA_S3TC_DXT3_Format, RGBA_S3TC_DXT1_Format, RGB_S3TC_DXT1_Format, SrcAlphaSaturateFactor, OneMinusDstColorFactor, DstColorFactor, OneMinusDstAlphaFactor, DstAlphaFactor, OneMinusSrcAlphaFactor, SrcAlphaFactor, OneMinusSrcColorFactor, SrcColorFactor, OneFactor, ZeroFactor, ReverseSubtractEquation, SubtractEquation, AddEquation, DepthFormat, DepthStencilFormat, LuminanceAlphaFormat, LuminanceFormat, RGBAFormat, RGBFormat, AlphaFormat, HalfFloatType, FloatType, UnsignedIntType, IntType, UnsignedShortType, ShortType, ByteType, UnsignedInt248Type, UnsignedShort565Type, UnsignedShort5551Type, UnsignedShort4444Type, UnsignedByteType, LinearMipMapLinearFilter, LinearMipMapNearestFilter, LinearFilter, NearestMipMapLinearFilter, NearestMipMapNearestFilter, NearestFilter, MirroredRepeatWrapping, ClampToEdgeWrapping, RepeatWrapping, FrontFaceDirectionCW, NoBlending, BackSide, DoubleSide, TriangleFanDrawMode, TriangleStripDrawMode, TrianglesDrawMode, NoColors, FlatShading, LinearToneMapping } from '../constants';
 import { Matrix4 } from '../math/Matrix4';
 import { Matrix4 } from '../math/Matrix4';
 import { WebGLUniforms } from './webgl/WebGLUniforms';
 import { WebGLUniforms } from './webgl/WebGLUniforms';
-import { UniformsUtils } from './shaders/UniformsUtils';
 import { ShaderLib } from './shaders/ShaderLib';
 import { ShaderLib } from './shaders/ShaderLib';
 import { LensFlarePlugin } from './webgl/plugins/LensFlarePlugin';
 import { LensFlarePlugin } from './webgl/plugins/LensFlarePlugin';
 import { SpritePlugin } from './webgl/plugins/SpritePlugin';
 import { SpritePlugin } from './webgl/plugins/SpritePlugin';
@@ -1534,7 +1533,7 @@ function WebGLRenderer( parameters ) {
 
 
 				materialProperties.__webglShader = {
 				materialProperties.__webglShader = {
 					name: material.type,
 					name: material.type,
-					uniforms: UniformsUtils.clone( shader.uniforms ),
+					uniforms: Object.assign( {}, shader.uniforms ),
 					vertexShader: shader.vertexShader,
 					vertexShader: shader.vertexShader,
 					fragmentShader: shader.fragmentShader
 					fragmentShader: shader.fragmentShader
 				};
 				};

+ 16 - 42
src/renderers/shaders/ShaderLib.js

@@ -1,5 +1,4 @@
 import { ShaderChunk } from './ShaderChunk';
 import { ShaderChunk } from './ShaderChunk';
-import { UniformsUtils } from './UniformsUtils';
 import { Vector3 } from '../../math/Vector3';
 import { Vector3 } from '../../math/Vector3';
 import { UniformsLib } from './UniformsLib';
 import { UniformsLib } from './UniformsLib';
 import { Color } from '../../math/Color';
 import { Color } from '../../math/Color';
@@ -14,13 +13,11 @@ var ShaderLib = {
 
 
 	basic: {
 	basic: {
 
 
-		uniforms: UniformsUtils.merge( [
-
+		uniforms: Object.assign( {},
 			UniformsLib.common,
 			UniformsLib.common,
 			UniformsLib.aomap,
 			UniformsLib.aomap,
 			UniformsLib.fog
 			UniformsLib.fog
-
-		] ),
+		),
 
 
 		vertexShader: ShaderChunk.meshbasic_vert,
 		vertexShader: ShaderChunk.meshbasic_vert,
 		fragmentShader: ShaderChunk.meshbasic_frag
 		fragmentShader: ShaderChunk.meshbasic_frag
@@ -29,20 +26,17 @@ var ShaderLib = {
 
 
 	lambert: {
 	lambert: {
 
 
-		uniforms: UniformsUtils.merge( [
-
+		uniforms: Object.assign( {},
 			UniformsLib.common,
 			UniformsLib.common,
 			UniformsLib.aomap,
 			UniformsLib.aomap,
 			UniformsLib.lightmap,
 			UniformsLib.lightmap,
 			UniformsLib.emissivemap,
 			UniformsLib.emissivemap,
 			UniformsLib.fog,
 			UniformsLib.fog,
 			UniformsLib.lights,
 			UniformsLib.lights,
-
 			{
 			{
 				emissive : { value: new Color( 0x000000 ) }
 				emissive : { value: new Color( 0x000000 ) }
 			}
 			}
-
-		] ),
+		),
 
 
 		vertexShader: ShaderChunk.meshlambert_vert,
 		vertexShader: ShaderChunk.meshlambert_vert,
 		fragmentShader: ShaderChunk.meshlambert_frag
 		fragmentShader: ShaderChunk.meshlambert_frag
@@ -51,8 +45,7 @@ var ShaderLib = {
 
 
 	phong: {
 	phong: {
 
 
-		uniforms: UniformsUtils.merge( [
-
+		uniforms: Object.assign( {},
 			UniformsLib.common,
 			UniformsLib.common,
 			UniformsLib.aomap,
 			UniformsLib.aomap,
 			UniformsLib.lightmap,
 			UniformsLib.lightmap,
@@ -62,14 +55,12 @@ var ShaderLib = {
 			UniformsLib.displacementmap,
 			UniformsLib.displacementmap,
 			UniformsLib.fog,
 			UniformsLib.fog,
 			UniformsLib.lights,
 			UniformsLib.lights,
-
 			{
 			{
 				emissive : { value: new Color( 0x000000 ) },
 				emissive : { value: new Color( 0x000000 ) },
 				specular : { value: new Color( 0x111111 ) },
 				specular : { value: new Color( 0x111111 ) },
 				shininess: { value: 30 }
 				shininess: { value: 30 }
 			}
 			}
-
-		] ),
+		),
 
 
 		vertexShader: ShaderChunk.meshphong_vert,
 		vertexShader: ShaderChunk.meshphong_vert,
 		fragmentShader: ShaderChunk.meshphong_frag
 		fragmentShader: ShaderChunk.meshphong_frag
@@ -78,8 +69,7 @@ var ShaderLib = {
 
 
 	standard: {
 	standard: {
 
 
-		uniforms: UniformsUtils.merge( [
-
+		uniforms: Object.assign( {},
 			UniformsLib.common,
 			UniformsLib.common,
 			UniformsLib.aomap,
 			UniformsLib.aomap,
 			UniformsLib.lightmap,
 			UniformsLib.lightmap,
@@ -91,15 +81,13 @@ var ShaderLib = {
 			UniformsLib.metalnessmap,
 			UniformsLib.metalnessmap,
 			UniformsLib.fog,
 			UniformsLib.fog,
 			UniformsLib.lights,
 			UniformsLib.lights,
-
 			{
 			{
 				emissive : { value: new Color( 0x000000 ) },
 				emissive : { value: new Color( 0x000000 ) },
 				roughness: { value: 0.5 },
 				roughness: { value: 0.5 },
 				metalness: { value: 0 },
 				metalness: { value: 0 },
 				envMapIntensity : { value: 1 }, // temporary
 				envMapIntensity : { value: 1 }, // temporary
 			}
 			}
-
-		] ),
+		),
 
 
 		vertexShader: ShaderChunk.meshphysical_vert,
 		vertexShader: ShaderChunk.meshphysical_vert,
 		fragmentShader: ShaderChunk.meshphysical_frag
 		fragmentShader: ShaderChunk.meshphysical_frag
@@ -108,12 +96,10 @@ var ShaderLib = {
 
 
 	points: {
 	points: {
 
 
-		uniforms: UniformsUtils.merge( [
-
+		uniforms: Object.assign( {},
 			UniformsLib.points,
 			UniformsLib.points,
 			UniformsLib.fog
 			UniformsLib.fog
-
-		] ),
+		),
 
 
 		vertexShader: ShaderChunk.points_vert,
 		vertexShader: ShaderChunk.points_vert,
 		fragmentShader: ShaderChunk.points_frag
 		fragmentShader: ShaderChunk.points_frag
@@ -122,18 +108,15 @@ var ShaderLib = {
 
 
 	dashed: {
 	dashed: {
 
 
-		uniforms: UniformsUtils.merge( [
-
+		uniforms: Object.assign( {},
 			UniformsLib.common,
 			UniformsLib.common,
 			UniformsLib.fog,
 			UniformsLib.fog,
-
 			{
 			{
 				scale    : { value: 1 },
 				scale    : { value: 1 },
 				dashSize : { value: 1 },
 				dashSize : { value: 1 },
 				totalSize: { value: 2 }
 				totalSize: { value: 2 }
 			}
 			}
-
-		] ),
+		),
 
 
 		vertexShader: ShaderChunk.linedashed_vert,
 		vertexShader: ShaderChunk.linedashed_vert,
 		fragmentShader: ShaderChunk.linedashed_frag
 		fragmentShader: ShaderChunk.linedashed_frag
@@ -142,12 +125,10 @@ var ShaderLib = {
 
 
 	depth: {
 	depth: {
 
 
-		uniforms: UniformsUtils.merge( [
-
+		uniforms: Object.assign( {},
 			UniformsLib.common,
 			UniformsLib.common,
 			UniformsLib.displacementmap
 			UniformsLib.displacementmap
-
-		] ),
+		),
 
 
 		vertexShader: ShaderChunk.depth_vert,
 		vertexShader: ShaderChunk.depth_vert,
 		fragmentShader: ShaderChunk.depth_frag
 		fragmentShader: ShaderChunk.depth_frag
@@ -157,9 +138,7 @@ var ShaderLib = {
 	normal: {
 	normal: {
 
 
 		uniforms: {
 		uniforms: {
-
 			opacity : { value: 1.0 }
 			opacity : { value: 1.0 }
-
 		},
 		},
 
 
 		vertexShader: ShaderChunk.normal_vert,
 		vertexShader: ShaderChunk.normal_vert,
@@ -203,9 +182,7 @@ var ShaderLib = {
 	distanceRGBA: {
 	distanceRGBA: {
 
 
 		uniforms: {
 		uniforms: {
-
 			lightPos: { value: new Vector3() }
 			lightPos: { value: new Vector3() }
-
 		},
 		},
 
 
 		vertexShader: ShaderChunk.distanceRGBA_vert,
 		vertexShader: ShaderChunk.distanceRGBA_vert,
@@ -217,16 +194,13 @@ var ShaderLib = {
 
 
 ShaderLib.physical = {
 ShaderLib.physical = {
 
 
-	uniforms: UniformsUtils.merge( [
-
+	uniforms: Object.assign( {},
 		ShaderLib.standard.uniforms,
 		ShaderLib.standard.uniforms,
-
 		{
 		{
 			clearCoat: { value: 0 },
 			clearCoat: { value: 0 },
 			clearCoatRoughness: { value: 0 }
 			clearCoatRoughness: { value: 0 }
 		}
 		}
-
-	] ),
+	),
 
 
 	vertexShader: ShaderChunk.meshphysical_vert,
 	vertexShader: ShaderChunk.meshphysical_vert,
 	fragmentShader: ShaderChunk.meshphysical_frag
 	fragmentShader: ShaderChunk.meshphysical_frag

+ 0 - 67
src/renderers/shaders/UniformsUtils.js

@@ -1,67 +0,0 @@
-/**
- * Uniform Utilities
- */
-
-var UniformsUtils = {
-
-	merge: function ( uniforms ) {
-
-		var merged = {};
-
-		for ( var u = 0; u < uniforms.length; u ++ ) {
-
-			var tmp = this.clone( uniforms[ u ] );
-
-			for ( var p in tmp ) {
-
-				merged[ p ] = tmp[ p ];
-
-			}
-
-		}
-
-		return merged;
-
-	},
-
-	clone: function ( uniforms_src ) {
-
-		var uniforms_dst = {};
-
-		for ( var u in uniforms_src ) {
-
-			uniforms_dst[ u ] = {};
-
-			for ( var p in uniforms_src[ u ] ) {
-
-				var parameter_src = uniforms_src[ u ][ p ];
-
-				if ( parameter_src && ( parameter_src.isColor ||
-					parameter_src.isMatrix3 || parameter_src.isMatrix4 ||
-					parameter_src.isVector2 || parameter_src.isVector3 || parameter_src.isVector4 ||
-					parameter_src.isTexture ) ) {
-
-					uniforms_dst[ u ][ p ] = parameter_src.clone();
-
-				} else if ( Array.isArray( parameter_src ) ) {
-
-					uniforms_dst[ u ][ p ] = parameter_src.slice();
-
-				} else {
-
-					uniforms_dst[ u ][ p ] = parameter_src;
-
-				}
-
-			}
-
-		}
-
-		return uniforms_dst;
-
-	}
-
-};
-
-
-export { UniformsUtils };

+ 1 - 2
src/renderers/webgl/WebGLShadowMap.js

@@ -6,7 +6,6 @@
 import { FrontSide, BackSide, DoubleSide, RGBAFormat, NearestFilter, PCFShadowMap, RGBADepthPacking } from '../../constants';
 import { FrontSide, BackSide, DoubleSide, RGBAFormat, NearestFilter, PCFShadowMap, RGBADepthPacking } from '../../constants';
 import { WebGLRenderTarget } from '../WebGLRenderTarget';
 import { WebGLRenderTarget } from '../WebGLRenderTarget';
 import { ShaderMaterial } from '../../materials/ShaderMaterial';
 import { ShaderMaterial } from '../../materials/ShaderMaterial';
-import { UniformsUtils } from '../shaders/UniformsUtils';
 import { ShaderLib } from '../shaders/ShaderLib';
 import { ShaderLib } from '../shaders/ShaderLib';
 import { MeshDepthMaterial } from '../../materials/MeshDepthMaterial';
 import { MeshDepthMaterial } from '../../materials/MeshDepthMaterial';
 import { Vector4 } from '../../math/Vector4';
 import { Vector4 } from '../../math/Vector4';
@@ -64,7 +63,7 @@ function WebGLShadowMap( _renderer, _lights, _objects, capabilities ) {
 	depthMaterialTemplate.clipping = true;
 	depthMaterialTemplate.clipping = true;
 
 
 	var distanceShader = ShaderLib[ "distanceRGBA" ];
 	var distanceShader = ShaderLib[ "distanceRGBA" ];
-	var distanceUniforms = UniformsUtils.clone( distanceShader.uniforms );
+	var distanceUniforms = Object.assign( {}, distanceShader.uniforms );
 
 
 	for ( var i = 0; i !== _NumberOfMaterialVariants; ++ i ) {
 	for ( var i = 0; i !== _NumberOfMaterialVariants; ++ i ) {