Просмотр исходного кода

WebGPURenderPipelines: Set material dispose listener only once.

Mugen87 4 лет назад
Родитель
Сommit
4bf6228977
1 измененных файлов с 7 добавлено и 3 удалено
  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 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
 			// determine shader attributes