Procházet zdrojové kódy

Add a dispose function

Garrett Johnson před 5 roky
rodič
revize
b0436ca155
1 změnil soubory, kde provedl 22 přidání a 0 odebrání
  1. 22 0
      examples/jsm/csm/CSM.js

+ 22 - 0
examples/jsm/csm/CSM.js

@@ -386,4 +386,26 @@ export default class CSM {
 
 	}
 
+	dispose() {
+
+		const shaders = this.shaders;
+		shaders.forEach( function ( shader, material ) {
+
+			delete material.onBeforeCompile;
+			delete material.defines.USE_CSM;
+			delete material.defines.CSM_CASCADES;
+			delete material.defines.CSM_FADE;
+
+			delete shader.uniforms.CSM_cascades;
+			delete shader.uniforms.cameraNear;
+			delete shader.uniforms.shadowFar;
+
+
+			material.needsUpdate = true;
+
+		} );
+		shaders.clear();
+
+	}
+
 }