浏览代码

add disposal of textures

Garrett Johnson 5 年之前
父节点
当前提交
b389782859
共有 1 个文件被更改,包括 16 次插入5 次删除
  1. 16 5
      src/three/TilesRenderer.js

+ 16 - 5
src/three/TilesRenderer.js

@@ -329,17 +329,28 @@ export class TilesRenderer extends TilesRendererBase {
 
 
 			scene.traverse( c => {
 			scene.traverse( c => {
 
 
-				if ( c.geometry ) {
+				const geometry = c.geometry;
+				const material = c.material;
 
 
-					c.geometry.dispose();
+				if ( geometry ) {
+
+					geometry.dispose();
 
 
 				}
 				}
 
 
-				if ( c.material ) {
+				if ( material ) {
+
+					material.dispose();
+					for ( const key in material ) {
+
+						const value = material[ key ];
+						if ( value && value.isTexture ) {
 
 
-					c.material.dispose();
+							value.dispose();
 
 
-					// TODO: dispose textures
+						}
+
+					}
 
 
 				}
 				}