2
0
Mr.doob 4 жил өмнө
parent
commit
e2d317b38b

+ 12 - 0
build/three.js

@@ -11534,6 +11534,7 @@
 							renderer.setRenderTarget(currentRenderTarget);
 							renderer.setRenderTarget(currentRenderTarget);
 							renderer.setRenderList(currentRenderList);
 							renderer.setRenderList(currentRenderList);
 							renderer.setRenderState(currentRenderState);
 							renderer.setRenderState(currentRenderState);
+							texture.addEventListener('dispose', onTextureDispose);
 							return mapTextureMapping(renderTarget.texture, texture.mapping);
 							return mapTextureMapping(renderTarget.texture, texture.mapping);
 						} else {
 						} else {
 							// image not yet ready. try the conversion next frame
 							// image not yet ready. try the conversion next frame
@@ -11546,6 +11547,17 @@
 			return texture;
 			return texture;
 		}
 		}
 
 
+		function onTextureDispose(event) {
+			var texture = event.target;
+			texture.removeEventListener('dispose', onTextureDispose);
+			var cubemap = cubemaps.get(texture);
+
+			if (cubemap !== undefined) {
+				cubemaps.delete(texture);
+				cubemap.dispose();
+			}
+		}
+
 		function dispose() {
 		function dispose() {
 			cubemaps = new WeakMap();
 			cubemaps = new WeakMap();
 		}
 		}

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
build/three.min.js


+ 19 - 0
build/three.module.js

@@ -14973,6 +14973,8 @@ function WebGLCubeMaps( renderer ) {
 						renderer.setRenderList( currentRenderList );
 						renderer.setRenderList( currentRenderList );
 						renderer.setRenderState( currentRenderState );
 						renderer.setRenderState( currentRenderState );
 
 
+						texture.addEventListener( 'dispose', onTextureDispose );
+
 						return mapTextureMapping( renderTarget.texture, texture.mapping );
 						return mapTextureMapping( renderTarget.texture, texture.mapping );
 
 
 					} else {
 					} else {
@@ -14993,6 +14995,23 @@ function WebGLCubeMaps( renderer ) {
 
 
 	}
 	}
 
 
+	function onTextureDispose( event ) {
+
+		const texture = event.target;
+
+		texture.removeEventListener( 'dispose', onTextureDispose );
+
+		const cubemap = cubemaps.get( texture );
+
+		if ( cubemap !== undefined ) {
+
+			cubemaps.delete( texture );
+			cubemap.dispose();
+
+		}
+
+	}
+
 	function dispose() {
 	function dispose() {
 
 
 		cubemaps = new WeakMap();
 		cubemaps = new WeakMap();

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно