Browse Source

Merge pull request #8608 from sebavan/master

Fix Effect Layer Orientation
sebavan 5 năm trước cách đây
mục cha
commit
0eb201aac6
1 tập tin đã thay đổi với 8 bổ sung1 xóa
  1. 8 1
      src/Layers/effectLayer.ts

+ 8 - 1
src/Layers/effectLayer.ts

@@ -675,7 +675,14 @@ export abstract class EffectLayer {
         }
 
         // Culling
-        engine.setState(material.backFaceCulling);
+        let sideOrientation = renderingMesh.overrideMaterialSideOrientation || material.sideOrientation;
+        const mainDeterminant = renderingMesh._getWorldMatrixDeterminant();
+        if (mainDeterminant < 0) {
+            sideOrientation = (sideOrientation === Material.ClockWiseSideOrientation ? Material.CounterClockWiseSideOrientation : Material.ClockWiseSideOrientation);
+        }
+
+        const reverse = sideOrientation === Material.ClockWiseSideOrientation;
+        engine.setState(material.backFaceCulling, material.zOffset, undefined, reverse);
 
         // Managing instances
         var batch = renderingMesh._getInstancesRenderList(subMesh._id, !!replacementMesh);