Browse Source

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

0b5vr 3 years ago
parent
commit
74437e6a6a
1 changed files with 12 additions and 0 deletions
  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 );
 
+				function disposeTexture() {
+
+					texture.dispose();
+
+					morphTextures.delete( geometry );
+
+					geometry.removeEventListener( 'dispose', disposeTexture );
+
+				}
+
+				geometry.addEventListener( 'dispose', disposeTexture );
+
 			}
 
 			//