浏览代码

fix: dispose morph textures when corresponding geometry is disposed (#23104)

0b5vr 3 年之前
父节点
当前提交
74437e6a6a
共有 1 个文件被更改,包括 12 次插入0 次删除
  1. 12 0
      src/renderers/webgl/WebGLMorphtargets.js

+ 12 - 0
src/renderers/webgl/WebGLMorphtargets.js

@@ -135,6 +135,18 @@ function WebGLMorphtargets( gl, capabilities, textures ) {
 
 
 				morphTextures.set( geometry, entry );
 				morphTextures.set( geometry, entry );
 
 
+				function disposeTexture() {
+
+					texture.dispose();
+
+					morphTextures.delete( geometry );
+
+					geometry.removeEventListener( 'dispose', disposeTexture );
+
+				}
+
+				geometry.addEventListener( 'dispose', disposeTexture );
+
 			}
 			}
 
 
 			//
 			//