Ver Fonte

CSMHelper: Add dispose(). (#24669)

Michael Herzog há 2 anos atrás
pai
commit
1c1a861ceb
1 ficheiros alterados com 30 adições e 0 exclusões
  1. 30 0
      examples/jsm/csm/CSMHelper.js

+ 30 - 0
examples/jsm/csm/CSMHelper.js

@@ -158,6 +158,36 @@ class CSMHelper extends Group {
 
 
 	}
 	}
 
 
+	dispose() {
+
+		const frustumLines = this.frustumLines;
+		const cascadeLines = this.cascadeLines;
+		const cascadePlanes = this.cascadePlanes;
+		const shadowLines = this.shadowLines;
+
+		frustumLines.geometry.dispose();
+		frustumLines.material.dispose();
+
+		const cascades = this.csm.cascades;
+
+		for ( let i = 0; i < cascades; i ++ ) {
+
+			const cascadeLine = cascadeLines[ i ];
+			const cascadePlane = cascadePlanes[ i ];
+			const shadowLineGroup = shadowLines[ i ];
+			const shadowLine = shadowLineGroup.children[ 0 ];
+
+			cascadeLine.dispose(); // Box3Helper
+
+			cascadePlane.geometry.dispose();
+			cascadePlane.material.dispose();
+
+			shadowLine.dispose(); // Box3Helper
+
+		}
+
+	}
+
 }
 }
 
 
 export { CSMHelper };
 export { CSMHelper };