Kaynağa Gözat

Updated builds.

Mr.doob 4 yıl önce
ebeveyn
işleme
49959aa515
3 değiştirilmiş dosya ile 24 ekleme ve 46 silme
  1. 12 21
      build/three.js
  2. 0 0
      build/three.min.js
  3. 12 25
      build/three.module.js

+ 12 - 21
build/three.js

@@ -11632,31 +11632,30 @@
 	}
 	}
 
 
 	function WebGLGeometries(gl, attributes, info, bindingStates) {
 	function WebGLGeometries(gl, attributes, info, bindingStates) {
-		var geometries = new WeakMap();
+		var geometries = {};
 		var wireframeAttributes = new WeakMap();
 		var wireframeAttributes = new WeakMap();
 
 
 		function onGeometryDispose(event) {
 		function onGeometryDispose(event) {
 			var geometry = event.target;
 			var geometry = event.target;
-			var buffergeometry = geometries.get(geometry);
 
 
-			if (buffergeometry.index !== null) {
-				attributes.remove(buffergeometry.index);
+			if (geometry.index !== null) {
+				attributes.remove(geometry.index);
 			}
 			}
 
 
-			for (var name in buffergeometry.attributes) {
-				attributes.remove(buffergeometry.attributes[name]);
+			for (var name in geometry.attributes) {
+				attributes.remove(geometry.attributes[name]);
 			}
 			}
 
 
 			geometry.removeEventListener('dispose', onGeometryDispose);
 			geometry.removeEventListener('dispose', onGeometryDispose);
-			geometries.delete(geometry);
-			var attribute = wireframeAttributes.get(buffergeometry);
+			delete geometries[geometry.id];
+			var attribute = wireframeAttributes.get(geometry);
 
 
 			if (attribute) {
 			if (attribute) {
 				attributes.remove(attribute);
 				attributes.remove(attribute);
-				wireframeAttributes.delete(buffergeometry);
+				wireframeAttributes.delete(geometry);
 			}
 			}
 
 
-			bindingStates.releaseStatesOfGeometry(buffergeometry);
+			bindingStates.releaseStatesOfGeometry(geometry);
 
 
 			if (geometry.isInstancedBufferGeometry === true) {
 			if (geometry.isInstancedBufferGeometry === true) {
 				delete geometry._maxInstanceCount;
 				delete geometry._maxInstanceCount;
@@ -11667,19 +11666,11 @@
 		}
 		}
 
 
 		function get(object, geometry) {
 		function get(object, geometry) {
-			var buffergeometry = geometries.get(geometry);
-			if (buffergeometry) return buffergeometry;
+			if (geometries[geometry.id] === true) return geometry;
 			geometry.addEventListener('dispose', onGeometryDispose);
 			geometry.addEventListener('dispose', onGeometryDispose);
-
-			if (geometry.isBufferGeometry) {
-				buffergeometry = geometry;
-			} else {
-				console.log('TODO: Remove this', geometry);
-			}
-
-			geometries.set(geometry, buffergeometry);
+			geometries[geometry.id] = true;
 			info.memory.geometries++;
 			info.memory.geometries++;
-			return buffergeometry;
+			return geometry;
 		}
 		}
 
 
 		function update(geometry) {
 		function update(geometry) {

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
build/three.min.js


+ 12 - 25
build/three.module.js

@@ -14795,40 +14795,39 @@ function WebGLExtensions( gl ) {
 
 
 function WebGLGeometries( gl, attributes, info, bindingStates ) {
 function WebGLGeometries( gl, attributes, info, bindingStates ) {
 
 
-	const geometries = new WeakMap();
+	const geometries = {};
 	const wireframeAttributes = new WeakMap();
 	const wireframeAttributes = new WeakMap();
 
 
 	function onGeometryDispose( event ) {
 	function onGeometryDispose( event ) {
 
 
 		const geometry = event.target;
 		const geometry = event.target;
-		const buffergeometry = geometries.get( geometry );
 
 
-		if ( buffergeometry.index !== null ) {
+		if ( geometry.index !== null ) {
 
 
-			attributes.remove( buffergeometry.index );
+			attributes.remove( geometry.index );
 
 
 		}
 		}
 
 
-		for ( const name in buffergeometry.attributes ) {
+		for ( const name in geometry.attributes ) {
 
 
-			attributes.remove( buffergeometry.attributes[ name ] );
+			attributes.remove( geometry.attributes[ name ] );
 
 
 		}
 		}
 
 
 		geometry.removeEventListener( 'dispose', onGeometryDispose );
 		geometry.removeEventListener( 'dispose', onGeometryDispose );
 
 
-		geometries.delete( geometry );
+		delete geometries[ geometry.id ];
 
 
-		const attribute = wireframeAttributes.get( buffergeometry );
+		const attribute = wireframeAttributes.get( geometry );
 
 
 		if ( attribute ) {
 		if ( attribute ) {
 
 
 			attributes.remove( attribute );
 			attributes.remove( attribute );
-			wireframeAttributes.delete( buffergeometry );
+			wireframeAttributes.delete( geometry );
 
 
 		}
 		}
 
 
-		bindingStates.releaseStatesOfGeometry( buffergeometry );
+		bindingStates.releaseStatesOfGeometry( geometry );
 
 
 		if ( geometry.isInstancedBufferGeometry === true ) {
 		if ( geometry.isInstancedBufferGeometry === true ) {
 
 
@@ -14844,27 +14843,15 @@ function WebGLGeometries( gl, attributes, info, bindingStates ) {
 
 
 	function get( object, geometry ) {
 	function get( object, geometry ) {
 
 
-		let buffergeometry = geometries.get( geometry );
-
-		if ( buffergeometry ) return buffergeometry;
+		if ( geometries[ geometry.id ] === true ) return geometry;
 
 
 		geometry.addEventListener( 'dispose', onGeometryDispose );
 		geometry.addEventListener( 'dispose', onGeometryDispose );
 
 
-		if ( geometry.isBufferGeometry ) {
-
-			buffergeometry = geometry;
-
-		} else {
-
-			console.log( 'TODO: Remove this', geometry );
-
-		}
-
-		geometries.set( geometry, buffergeometry );
+		geometries[ geometry.id ] = true;
 
 
 		info.memory.geometries ++;
 		info.memory.geometries ++;
 
 
-		return buffergeometry;
+		return geometry;
 
 
 	}
 	}
 
 

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor