Browse Source

add disposal of textures

Garrett Johnson 5 năm trước cách đây
mục cha
commit
b389782859
1 tập tin đã thay đổi với 16 bổ sung5 xóa
  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 => {
 
-				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
+						}
+
+					}
 
 				}