Przeglądaj źródła

RenderObjects: Force `material.needsUpdate=true` to update the material if geometry is changed. (#29873)

sunag 1 rok temu
rodzic
commit
e5e8d20b8b
1 zmienionych plików z 6 dodań i 8 usunięć
  1. 6 8
      src/renderers/common/RenderObjects.js

+ 6 - 8
src/renderers/common/RenderObjects.js

@@ -40,9 +40,13 @@ class RenderObjects {
 
 			renderObject.updateClipping( clippingContext );
 
-			const needsGeometryUpdate = renderObject.needsGeometryUpdate;
+			if ( renderObject.needsGeometryUpdate ) {
 
-			if ( renderObject.version !== material.version || renderObject.needsUpdate || needsGeometryUpdate ) {
+				renderObject.setGeometry( object.geometry );
+
+			}
+
+			if ( renderObject.version !== material.version || renderObject.needsUpdate ) {
 
 				if ( renderObject.initialCacheKey !== renderObject.getCacheKey() ) {
 
@@ -54,12 +58,6 @@ class RenderObjects {
 
 					renderObject.version = material.version;
 
-					if ( needsGeometryUpdate ) {
-
-						renderObject.setGeometry( object.geometry );
-
-					}
-
 				}
 
 			}

粤ICP备19079148号