Procházet zdrojové kódy

RenderObject: Honor sampler data in material cache key. (#31633)

Michael Herzog před 6 měsíci
rodič
revize
f0a5bf92af
1 změnil soubory, kde provedl 13 přidání a 1 odebrání
  1. 13 1
      src/renderers/common/RenderObject.js

+ 13 - 1
src/renderers/common/RenderObject.js

@@ -682,7 +682,7 @@ class RenderObject {
 	 */
 	 */
 	getMaterialCacheKey() {
 	getMaterialCacheKey() {
 
 
-		const { object, material } = this;
+		const { object, material, renderer } = this;
 
 
 		let cacheKey = material.customProgramCacheKey();
 		let cacheKey = material.customProgramCacheKey();
 
 
@@ -712,6 +712,18 @@ class RenderObject {
 
 
 						valueKey += value.mapping;
 						valueKey += value.mapping;
 
 
+						// WebGPU must honor the sampler data because they are part of the bindings
+
+						if ( renderer.backend.isWebGPUBackend === true ) {
+
+							valueKey += value.magFilter;
+							valueKey += value.minFilter;
+							valueKey += value.wrapS;
+							valueKey += value.wrapT;
+							valueKey += value.wrapR;
+
+						}
+
 					}
 					}
 
 
 					valueKey += '}';
 					valueKey += '}';

粤ICP备19079148号