Browse Source

Merge pull request #21346 from Mugen87/dev48

WebGPURenderPipelines: Set material dispose listener only once.
Michael Herzog 4 years ago
parent
commit
cb99e7e08c
1 changed files with 7 additions and 3 deletions
  1. 7 3
      examples/jsm/renderers/webgpu/WebGPURenderPipelines.js

+ 7 - 3
examples/jsm/renderers/webgpu/WebGPURenderPipelines.js

@@ -97,10 +97,14 @@ class WebGPURenderPipelines {
 
 			const materialProperties = properties.get( material );
 
-			const disposeCallback = onMaterialDispose.bind( this );
-			materialProperties.disposeCallback = disposeCallback;
+			if ( materialProperties.disposeCallback === undefined ) {
 
-			material.addEventListener( 'dispose', disposeCallback );
+				const disposeCallback = onMaterialDispose.bind( this );
+				materialProperties.disposeCallback = disposeCallback;
+
+				material.addEventListener( 'dispose', disposeCallback );
+
+			}
 
 			// determine shader attributes