|
@@ -675,7 +675,14 @@ export abstract class EffectLayer {
|
|
}
|
|
}
|
|
|
|
|
|
// Culling
|
|
// 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
|
|
// Managing instances
|
|
var batch = renderingMesh._getInstancesRenderList(subMesh._id, !!replacementMesh);
|
|
var batch = renderingMesh._getInstancesRenderList(subMesh._id, !!replacementMesh);
|