소스 검색

Merge pull request #21346 from Mugen87/dev48

WebGPURenderPipelines: Set material dispose listener only once.
Michael Herzog 4 년 전
부모
커밋
cb99e7e08c
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 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