소스 검색

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 => {
 
-				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
+						}
+
+					}
 
 				}