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

WebGPUTextureUtils: Disable uv transform. (#29680)

Michael Herzog 1 год назад
Родитель
Сommit
20ce0ce14f
1 измененных файлов с 12 добавлено и 0 удалено
  1. 12 0
      examples/jsm/utils/WebGPUTextureUtils.js

+ 12 - 0
examples/jsm/utils/WebGPUTextureUtils.js

@@ -19,6 +19,13 @@ export async function decompress( blitTexture, maxTextureSize = Infinity, render
 	}
 
 	const material = new NodeMaterial();
+
+	// disable uv transform
+	const currentTextureMatrix = blitTexture.matrix.clone();
+	const currentTextureMatrixAutoUpdate = blitTexture.matrixAutoUpdate;
+	blitTexture.matrix.identity();
+	blitTexture.matrixAutoUpdate = false;
+
 	material.fragmentNode = texture( blitTexture ).uv( uv().flipY() );
 
 	const width = Math.min( blitTexture.image.width, maxTextureSize );
@@ -58,6 +65,11 @@ export async function decompress( blitTexture, maxTextureSize = Infinity, render
 
 	}
 
+	// restore
+
+	blitTexture.matrix.copy( currentTextureMatrix );
+	blitTexture.matrixAutoUpdate = currentTextureMatrixAutoUpdate;
+
 	return readableTexture;
 
 }

粤ICP备19079148号