Răsfoiți Sursa

Updated builds.

Mr.doob 6 ani în urmă
părinte
comite
0cc7dc57a1
3 a modificat fișierele cu 469 adăugiri și 276 ștergeri
  1. 135 31
      build/three.js
  2. 215 214
      build/three.min.js
  3. 119 31
      build/three.module.js

+ 135 - 31
build/three.js

@@ -335,6 +335,24 @@
 	var TangentSpaceNormalMap = 0;
 	var TangentSpaceNormalMap = 0;
 	var ObjectSpaceNormalMap = 1;
 	var ObjectSpaceNormalMap = 1;
 
 
+	var ZeroStencilOp = 0;
+	var KeepStencilOp = 7680;
+	var ReplaceStencilOp = 7681;
+	var IncrementStencilOp = 7682;
+	var DecrementStencilOp = 7683;
+	var IncrementWrapStencilOp = 34055;
+	var DecrementWrapStencilOp = 34056;
+	var InvertStencilOp = 5386;
+
+	var NeverStencilFunc = 512;
+	var LessStencilFunc = 513;
+	var EqualStencilFunc = 514;
+	var LessEqualStencilFunc = 515;
+	var GreaterStencilFunc = 516;
+	var NotEqualStencilFunc = 517;
+	var GreaterEqualStencilFunc = 518;
+	var AlwaysStencilFunc = 519;
+
 	/**
 	/**
 	 * @author alteredq / http://alteredqualia.com/
 	 * @author alteredq / http://alteredqualia.com/
 	 * @author mrdoob / http://mrdoob.com/
 	 * @author mrdoob / http://mrdoob.com/
@@ -8567,6 +8585,14 @@
 		this.depthTest = true;
 		this.depthTest = true;
 		this.depthWrite = true;
 		this.depthWrite = true;
 
 
+		this.stencilFunc = AlwaysStencilFunc;
+		this.stencilRef = 0;
+		this.stencilMask = 0xff;
+		this.stencilFail = KeepStencilOp;
+		this.stencilZFail = KeepStencilOp;
+		this.stencilZPass = KeepStencilOp;
+		this.stencilWrite = false;
+
 		this.clippingPlanes = null;
 		this.clippingPlanes = null;
 		this.clipIntersection = false;
 		this.clipIntersection = false;
 		this.clipShadows = false;
 		this.clipShadows = false;
@@ -8766,6 +8792,14 @@
 			data.depthTest = this.depthTest;
 			data.depthTest = this.depthTest;
 			data.depthWrite = this.depthWrite;
 			data.depthWrite = this.depthWrite;
 
 
+			data.stencilWrite = this.stencilWrite;
+			data.stencilFunc = this.stencilFunc;
+			data.stencilRef = this.stencilRef;
+			data.stencilMask = this.stencilMask;
+			data.stencilFail = this.stencilFail;
+			data.stencilZFail = this.stencilZFail;
+			data.stencilZPass = this.stencilZPass;
+
 			// rotation (SpriteMaterial)
 			// rotation (SpriteMaterial)
 			if ( this.rotation && this.rotation !== 0 ) data.rotation = this.rotation;
 			if ( this.rotation && this.rotation !== 0 ) data.rotation = this.rotation;
 
 
@@ -8859,6 +8893,14 @@
 			this.depthTest = source.depthTest;
 			this.depthTest = source.depthTest;
 			this.depthWrite = source.depthWrite;
 			this.depthWrite = source.depthWrite;
 
 
+			this.stencilWrite = source.stencilWrite;
+			this.stencilFunc = source.stencilFunc;
+			this.stencilRef = source.stencilRef;
+			this.stencilMask = source.stencilMask;
+			this.stencilFail = source.stencilFail;
+			this.stencilZFail = source.stencilZFail;
+			this.stencilZPass = source.stencilZPass;
+
 			this.colorWrite = source.colorWrite;
 			this.colorWrite = source.colorWrite;
 
 
 			this.precision = source.precision;
 			this.precision = source.precision;
@@ -12129,8 +12171,6 @@
 				vertices2 = geometry.vertices,
 				vertices2 = geometry.vertices,
 				faces1 = this.faces,
 				faces1 = this.faces,
 				faces2 = geometry.faces,
 				faces2 = geometry.faces,
-				uvs1 = this.faceVertexUvs[ 0 ],
-				uvs2 = geometry.faceVertexUvs[ 0 ],
 				colors1 = this.colors,
 				colors1 = this.colors,
 				colors2 = geometry.colors;
 				colors2 = geometry.colors;
 
 
@@ -12212,23 +12252,25 @@
 
 
 			// uvs
 			// uvs
 
 
-			for ( i = 0, il = uvs2.length; i < il; i ++ ) {
+			for ( var i = 0, il = geometry.faceVertexUvs.length; i < il; i ++ ) {
 
 
-				var uv = uvs2[ i ], uvCopy = [];
+				var faceVertexUvs2 = geometry.faceVertexUvs[ i ];
 
 
-				if ( uv === undefined ) {
+				if ( this.faceVertexUvs[ i ] === undefined ) this.faceVertexUvs[ i ] = [];
 
 
-					continue;
+				for ( var j = 0, jl = faceVertexUvs2.length; j < jl; j ++ ) {
 
 
-				}
+					var uvs2 = faceVertexUvs2[ j ], uvsCopy = [];
 
 
-				for ( var j = 0, jl = uv.length; j < jl; j ++ ) {
+					for ( var k = 0, kl = uvs2.length; k < kl; k ++ ) {
 
 
-					uvCopy.push( uv[ j ].clone() );
+						uvsCopy.push( uvs2[ k ].clone() );
 
 
-				}
+					}
+
+					this.faceVertexUvs[ i ].push( uvsCopy );
 
 
-				uvs1.push( uvCopy );
+				}
 
 
 			}
 			}
 
 
@@ -16192,22 +16234,18 @@
 
 
 		}
 		}
 
 
-		function getWireframeAttribute( geometry ) {
-
-			var attribute = wireframeAttributes[ geometry.id ];
-
-			if ( attribute ) return attribute;
+		function updateWireframeAttribute( geometry ) {
 
 
 			var indices = [];
 			var indices = [];
 
 
 			var geometryIndex = geometry.index;
 			var geometryIndex = geometry.index;
-			var geometryAttributes = geometry.attributes;
-
-			// console.time( 'wireframe' );
+			var geometryPosition = geometry.attributes.position;
+			var version = 0;
 
 
 			if ( geometryIndex !== null ) {
 			if ( geometryIndex !== null ) {
 
 
 				var array = geometryIndex.array;
 				var array = geometryIndex.array;
+				version = geometryIndex.version;
 
 
 				for ( var i = 0, l = array.length; i < l; i += 3 ) {
 				for ( var i = 0, l = array.length; i < l; i += 3 ) {
 
 
@@ -16221,7 +16259,8 @@
 
 
 			} else {
 			} else {
 
 
-				var array = geometryAttributes.position.array;
+				var array = geometryPosition.array;
+				version = geometryPosition.version;
 
 
 				for ( var i = 0, l = ( array.length / 3 ) - 1; i < l; i += 3 ) {
 				for ( var i = 0, l = ( array.length / 3 ) - 1; i < l; i += 3 ) {
 
 
@@ -16235,15 +16274,50 @@
 
 
 			}
 			}
 
 
-			// console.timeEnd( 'wireframe' );
-
-			attribute = new ( arrayMax( indices ) > 65535 ? Uint32BufferAttribute : Uint16BufferAttribute )( indices, 1 );
+			var attribute = new ( arrayMax( indices ) > 65535 ? Uint32BufferAttribute : Uint16BufferAttribute )( indices, 1 );
+			attribute.version = version;
 
 
 			attributes.update( attribute, 34963 );
 			attributes.update( attribute, 34963 );
 
 
+			//
+
+			var previousAttribute = wireframeAttributes[ geometry.id ];
+
+			if ( previousAttribute ) attributes.remove( previousAttribute );
+
+			//
+
 			wireframeAttributes[ geometry.id ] = attribute;
 			wireframeAttributes[ geometry.id ] = attribute;
 
 
-			return attribute;
+		}
+
+		function getWireframeAttribute( geometry ) {
+
+			var currentAttribute = wireframeAttributes[ geometry.id ];
+
+			if ( currentAttribute ) {
+
+				var geometryIndex = geometry.index;
+
+				if ( geometryIndex !== null ) {
+
+					// if the attribute is obsolete, create a new one
+
+					if ( currentAttribute.version < geometryIndex.version ) {
+
+						updateWireframeAttribute( geometry );
+
+					}
+
+				}
+
+			} else {
+
+				updateWireframeAttribute( geometry );
+
+			}
+
+			return wireframeAttributes[ geometry.id ];
 
 
 		}
 		}
 
 
@@ -17750,7 +17824,7 @@
 
 
 	function WebGLProgram( renderer, extensions, code, material, shader, parameters, capabilities ) {
 	function WebGLProgram( renderer, extensions, code, material, shader, parameters, capabilities ) {
 
 
-		var gl = renderer.context;
+		var gl = renderer.getContext();
 
 
 		var defines = material.defines;
 		var defines = material.defines;
 
 
@@ -20561,6 +20635,15 @@
 			depthBuffer.setMask( material.depthWrite );
 			depthBuffer.setMask( material.depthWrite );
 			colorBuffer.setMask( material.colorWrite );
 			colorBuffer.setMask( material.colorWrite );
 
 
+			var stencilWrite = material.stencilWrite;
+			stencilBuffer.setTest( stencilWrite );
+			if ( stencilWrite ) {
+
+				stencilBuffer.setFunc( material.stencilFunc, material.stencilRef, material.stencilMask );
+				stencilBuffer.setOp( material.stencilFail, material.stencilZFail, material.stencilZPass );
+
+			}
+
 			setPolygonOffset( material.polygonOffset, material.polygonOffsetFactor, material.polygonOffsetUnits );
 			setPolygonOffset( material.polygonOffset, material.polygonOffsetFactor, material.polygonOffsetUnits );
 
 
 		}
 		}
@@ -22720,12 +22803,10 @@
 	 * @author mrdoob / http://mrdoob.com/
 	 * @author mrdoob / http://mrdoob.com/
 	 */
 	 */
 
 
-	function WebXRManager( renderer ) {
+	function WebXRManager( renderer, gl ) {
 
 
 		var scope = this;
 		var scope = this;
 
 
-		var gl = renderer.context;
-
 		var session = null;
 		var session = null;
 
 
 		var referenceSpace = null;
 		var referenceSpace = null;
@@ -23067,7 +23148,6 @@
 		// public properties
 		// public properties
 
 
 		this.domElement = _canvas;
 		this.domElement = _canvas;
-		this.context = null;
 
 
 		// Debug configuration container
 		// Debug configuration container
 		this.debug = {
 		this.debug = {
@@ -23290,7 +23370,6 @@
 
 
 			info.programs = programCache.programs;
 			info.programs = programCache.programs;
 
 
-			_this.context = _gl;
 			_this.capabilities = capabilities;
 			_this.capabilities = capabilities;
 			_this.extensions = extensions;
 			_this.extensions = extensions;
 			_this.properties = properties;
 			_this.properties = properties;
@@ -23304,7 +23383,7 @@
 
 
 		// vr
 		// vr
 
 
-		var vr = ( typeof navigator !== 'undefined' && 'xr' in navigator && 'supportsSession' in navigator.xr ) ? new WebXRManager( _this ) : new WebVRManager( _this );
+		var vr = ( typeof navigator !== 'undefined' && 'xr' in navigator && 'supportsSession' in navigator.xr ) ? new WebXRManager( _this, _gl ) : new WebVRManager( _this );
 
 
 		this.vr = vr;
 		this.vr = vr;
 
 
@@ -48483,8 +48562,17 @@
 
 
 				console.warn( 'THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.' );
 				console.warn( 'THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.' );
 
 
+			}
+		},
+		context: {
+			get: function () {
+
+				console.warn( 'THREE.WebGLRenderer: .context has been removed. Use .getContext() instead.' );
+				return this.getContext();
+
 			}
 			}
 		}
 		}
+
 	} );
 	} );
 
 
 	Object.defineProperties( WebGLShadowMap.prototype, {
 	Object.defineProperties( WebGLShadowMap.prototype, {
@@ -48881,6 +48969,7 @@
 	exports.AdditiveBlending = AdditiveBlending;
 	exports.AdditiveBlending = AdditiveBlending;
 	exports.AlphaFormat = AlphaFormat;
 	exports.AlphaFormat = AlphaFormat;
 	exports.AlwaysDepth = AlwaysDepth;
 	exports.AlwaysDepth = AlwaysDepth;
+	exports.AlwaysStencilFunc = AlwaysStencilFunc;
 	exports.AmbientLight = AmbientLight;
 	exports.AmbientLight = AmbientLight;
 	exports.AmbientLightProbe = AmbientLightProbe;
 	exports.AmbientLightProbe = AmbientLightProbe;
 	exports.AnimationClip = AnimationClip;
 	exports.AnimationClip = AnimationClip;
@@ -48958,6 +49047,8 @@
 	exports.DataTexture2DArray = DataTexture2DArray;
 	exports.DataTexture2DArray = DataTexture2DArray;
 	exports.DataTexture3D = DataTexture3D;
 	exports.DataTexture3D = DataTexture3D;
 	exports.DataTextureLoader = DataTextureLoader;
 	exports.DataTextureLoader = DataTextureLoader;
+	exports.DecrementStencilOp = DecrementStencilOp;
+	exports.DecrementWrapStencilOp = DecrementWrapStencilOp;
 	exports.DefaultLoadingManager = DefaultLoadingManager;
 	exports.DefaultLoadingManager = DefaultLoadingManager;
 	exports.DepthFormat = DepthFormat;
 	exports.DepthFormat = DepthFormat;
 	exports.DepthStencilFormat = DepthStencilFormat;
 	exports.DepthStencilFormat = DepthStencilFormat;
@@ -48976,6 +49067,7 @@
 	exports.EdgesHelper = EdgesHelper;
 	exports.EdgesHelper = EdgesHelper;
 	exports.EllipseCurve = EllipseCurve;
 	exports.EllipseCurve = EllipseCurve;
 	exports.EqualDepth = EqualDepth;
 	exports.EqualDepth = EqualDepth;
+	exports.EqualStencilFunc = EqualStencilFunc;
 	exports.EquirectangularReflectionMapping = EquirectangularReflectionMapping;
 	exports.EquirectangularReflectionMapping = EquirectangularReflectionMapping;
 	exports.EquirectangularRefractionMapping = EquirectangularRefractionMapping;
 	exports.EquirectangularRefractionMapping = EquirectangularRefractionMapping;
 	exports.Euler = Euler;
 	exports.Euler = Euler;
@@ -49006,6 +49098,8 @@
 	exports.GeometryUtils = GeometryUtils;
 	exports.GeometryUtils = GeometryUtils;
 	exports.GreaterDepth = GreaterDepth;
 	exports.GreaterDepth = GreaterDepth;
 	exports.GreaterEqualDepth = GreaterEqualDepth;
 	exports.GreaterEqualDepth = GreaterEqualDepth;
+	exports.GreaterEqualStencilFunc = GreaterEqualStencilFunc;
+	exports.GreaterStencilFunc = GreaterStencilFunc;
 	exports.GridHelper = GridHelper;
 	exports.GridHelper = GridHelper;
 	exports.Group = Group;
 	exports.Group = Group;
 	exports.HalfFloatType = HalfFloatType;
 	exports.HalfFloatType = HalfFloatType;
@@ -49018,6 +49112,8 @@
 	exports.ImageLoader = ImageLoader;
 	exports.ImageLoader = ImageLoader;
 	exports.ImageUtils = ImageUtils;
 	exports.ImageUtils = ImageUtils;
 	exports.ImmediateRenderObject = ImmediateRenderObject;
 	exports.ImmediateRenderObject = ImmediateRenderObject;
+	exports.IncrementStencilOp = IncrementStencilOp;
+	exports.IncrementWrapStencilOp = IncrementWrapStencilOp;
 	exports.InstancedBufferAttribute = InstancedBufferAttribute;
 	exports.InstancedBufferAttribute = InstancedBufferAttribute;
 	exports.InstancedBufferGeometry = InstancedBufferGeometry;
 	exports.InstancedBufferGeometry = InstancedBufferGeometry;
 	exports.InstancedInterleavedBuffer = InstancedInterleavedBuffer;
 	exports.InstancedInterleavedBuffer = InstancedInterleavedBuffer;
@@ -49034,7 +49130,9 @@
 	exports.InterpolateDiscrete = InterpolateDiscrete;
 	exports.InterpolateDiscrete = InterpolateDiscrete;
 	exports.InterpolateLinear = InterpolateLinear;
 	exports.InterpolateLinear = InterpolateLinear;
 	exports.InterpolateSmooth = InterpolateSmooth;
 	exports.InterpolateSmooth = InterpolateSmooth;
+	exports.InvertStencilOp = InvertStencilOp;
 	exports.JSONLoader = JSONLoader;
 	exports.JSONLoader = JSONLoader;
+	exports.KeepStencilOp = KeepStencilOp;
 	exports.KeyframeTrack = KeyframeTrack;
 	exports.KeyframeTrack = KeyframeTrack;
 	exports.LOD = LOD;
 	exports.LOD = LOD;
 	exports.LatheBufferGeometry = LatheBufferGeometry;
 	exports.LatheBufferGeometry = LatheBufferGeometry;
@@ -49043,6 +49141,8 @@
 	exports.LensFlare = LensFlare;
 	exports.LensFlare = LensFlare;
 	exports.LessDepth = LessDepth;
 	exports.LessDepth = LessDepth;
 	exports.LessEqualDepth = LessEqualDepth;
 	exports.LessEqualDepth = LessEqualDepth;
+	exports.LessEqualStencilFunc = LessEqualStencilFunc;
+	exports.LessStencilFunc = LessStencilFunc;
 	exports.Light = Light;
 	exports.Light = Light;
 	exports.LightProbe = LightProbe;
 	exports.LightProbe = LightProbe;
 	exports.LightProbeHelper = LightProbeHelper;
 	exports.LightProbeHelper = LightProbeHelper;
@@ -49105,11 +49205,13 @@
 	exports.NearestMipmapLinearFilter = NearestMipmapLinearFilter;
 	exports.NearestMipmapLinearFilter = NearestMipmapLinearFilter;
 	exports.NearestMipmapNearestFilter = NearestMipmapNearestFilter;
 	exports.NearestMipmapNearestFilter = NearestMipmapNearestFilter;
 	exports.NeverDepth = NeverDepth;
 	exports.NeverDepth = NeverDepth;
+	exports.NeverStencilFunc = NeverStencilFunc;
 	exports.NoBlending = NoBlending;
 	exports.NoBlending = NoBlending;
 	exports.NoColors = NoColors;
 	exports.NoColors = NoColors;
 	exports.NoToneMapping = NoToneMapping;
 	exports.NoToneMapping = NoToneMapping;
 	exports.NormalBlending = NormalBlending;
 	exports.NormalBlending = NormalBlending;
 	exports.NotEqualDepth = NotEqualDepth;
 	exports.NotEqualDepth = NotEqualDepth;
+	exports.NotEqualStencilFunc = NotEqualStencilFunc;
 	exports.NumberKeyframeTrack = NumberKeyframeTrack;
 	exports.NumberKeyframeTrack = NumberKeyframeTrack;
 	exports.Object3D = Object3D;
 	exports.Object3D = Object3D;
 	exports.ObjectLoader = ObjectLoader;
 	exports.ObjectLoader = ObjectLoader;
@@ -49194,6 +49296,7 @@
 	exports.RedFormat = RedFormat;
 	exports.RedFormat = RedFormat;
 	exports.ReinhardToneMapping = ReinhardToneMapping;
 	exports.ReinhardToneMapping = ReinhardToneMapping;
 	exports.RepeatWrapping = RepeatWrapping;
 	exports.RepeatWrapping = RepeatWrapping;
+	exports.ReplaceStencilOp = ReplaceStencilOp;
 	exports.ReverseSubtractEquation = ReverseSubtractEquation;
 	exports.ReverseSubtractEquation = ReverseSubtractEquation;
 	exports.RingBufferGeometry = RingBufferGeometry;
 	exports.RingBufferGeometry = RingBufferGeometry;
 	exports.RingGeometry = RingGeometry;
 	exports.RingGeometry = RingGeometry;
@@ -49292,6 +49395,7 @@
 	exports.ZeroCurvatureEnding = ZeroCurvatureEnding;
 	exports.ZeroCurvatureEnding = ZeroCurvatureEnding;
 	exports.ZeroFactor = ZeroFactor;
 	exports.ZeroFactor = ZeroFactor;
 	exports.ZeroSlopeEnding = ZeroSlopeEnding;
 	exports.ZeroSlopeEnding = ZeroSlopeEnding;
+	exports.ZeroStencilOp = ZeroStencilOp;
 	exports.sRGBEncoding = sRGBEncoding;
 	exports.sRGBEncoding = sRGBEncoding;
 
 
 	Object.defineProperty(exports, '__esModule', { value: true });
 	Object.defineProperty(exports, '__esModule', { value: true });

Fișier diff suprimat deoarece este prea mare
+ 215 - 214
build/three.min.js


Fișier diff suprimat deoarece este prea mare
+ 119 - 31
build/three.module.js


Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff