Explorar o código

add disposal of textures

Garrett Johnson %!s(int64=5) %!d(string=hai) anos
pai
achega
b389782859
Modificáronse 1 ficheiros con 16 adicións e 5 borrados
  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
+						}
+
+					}
 
 				}