Explorar o código

Add a dispose function

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