Selaa lähdekoodia

Fixed bug with `Mesh.attachToBone` when bone's matrix has a negative determinant

David catuhe 10 vuotta sitten
vanhempi
commit
2c71fe50b3
100 muutettua tiedostoa jossa 1010 lisäystä ja 1087 poistoa
  1. 938 937
      dist/preview release/babylon.d.ts
  2. 20 25
      dist/preview release/babylon.js
  3. 13 5
      dist/preview release/babylon.max.js
  4. 20 25
      dist/preview release/babylon.noworker.js
  5. 1 0
      dist/preview release/what's new.md
  6. 0 1
      src/Actions/babylon.action.js
  7. 0 1
      src/Actions/babylon.actionManager.js
  8. 0 1
      src/Actions/babylon.condition.js
  9. 0 1
      src/Actions/babylon.directActions.js
  10. 0 1
      src/Actions/babylon.interpolateValueAction.js
  11. 0 1
      src/Animations/babylon.animatable.js
  12. 0 1
      src/Animations/babylon.animation.js
  13. 0 1
      src/Animations/babylon.easing.js
  14. 0 1
      src/Audio/babylon.analyser.js
  15. 0 1
      src/Audio/babylon.audioEngine.js
  16. 0 1
      src/Audio/babylon.sound.js
  17. 0 1
      src/Audio/babylon.soundtrack.js
  18. 0 1
      src/Bones/babylon.bone.js
  19. 0 1
      src/Bones/babylon.skeleton.js
  20. 0 1
      src/Cameras/VR/babylon.vrDeviceOrientationCamera.js
  21. 0 1
      src/Cameras/VR/babylon.webVRCamera.js
  22. 0 1
      src/Cameras/babylon.arcRotateCamera.js
  23. 0 1
      src/Cameras/babylon.camera.js
  24. 0 1
      src/Cameras/babylon.deviceOrientationCamera.js
  25. 0 1
      src/Cameras/babylon.followCamera.js
  26. 0 1
      src/Cameras/babylon.freeCamera.js
  27. 0 1
      src/Cameras/babylon.gamepadCamera.js
  28. 0 1
      src/Cameras/babylon.stereoscopicCameras.js
  29. 0 1
      src/Cameras/babylon.targetCamera.js
  30. 0 1
      src/Cameras/babylon.touchCamera.js
  31. 0 1
      src/Cameras/babylon.virtualJoysticksCamera.js
  32. 0 1
      src/Collisions/babylon.collider.js
  33. 0 1
      src/Collisions/babylon.collisionCoordinator.js
  34. 0 1
      src/Collisions/babylon.collisionWorker.js
  35. 0 1
      src/Collisions/babylon.pickingInfo.js
  36. 0 1
      src/Culling/Octrees/babylon.octree.js
  37. 0 1
      src/Culling/Octrees/babylon.octreeBlock.js
  38. 0 1
      src/Culling/babylon.boundingBox.js
  39. 0 1
      src/Culling/babylon.boundingInfo.js
  40. 0 1
      src/Culling/babylon.boundingSphere.js
  41. 0 1
      src/Debug/babylon.debugLayer.js
  42. 0 1
      src/Layer/babylon.layer.js
  43. 0 1
      src/LensFlare/babylon.lensFlare.js
  44. 0 1
      src/LensFlare/babylon.lensFlareSystem.js
  45. 0 1
      src/Lights/Shadows/babylon.shadowGenerator.js
  46. 0 1
      src/Lights/babylon.directionalLight.js
  47. 0 1
      src/Lights/babylon.hemisphericLight.js
  48. 0 1
      src/Lights/babylon.light.js
  49. 0 1
      src/Lights/babylon.pointLight.js
  50. 0 1
      src/Lights/babylon.spotLight.js
  51. 0 1
      src/Loading/Plugins/babylon.babylonFileLoader.js
  52. 0 1
      src/Loading/babylon.sceneLoader.js
  53. 0 1
      src/Materials/Textures/Procedurals/babylon.customProceduralTexture.js
  54. 0 1
      src/Materials/Textures/Procedurals/babylon.proceduralTexture.js
  55. 0 1
      src/Materials/Textures/Procedurals/babylon.standardProceduralTexture.js
  56. 0 1
      src/Materials/Textures/babylon.baseTexture.js
  57. 0 1
      src/Materials/Textures/babylon.cubeTexture.js
  58. 0 1
      src/Materials/Textures/babylon.dynamicTexture.js
  59. 0 1
      src/Materials/Textures/babylon.mirrorTexture.js
  60. 0 1
      src/Materials/Textures/babylon.rawTexture.js
  61. 0 1
      src/Materials/Textures/babylon.renderTargetTexture.js
  62. 0 1
      src/Materials/Textures/babylon.texture.js
  63. 0 1
      src/Materials/Textures/babylon.videoTexture.js
  64. 0 1
      src/Materials/babylon.effect.js
  65. 0 1
      src/Materials/babylon.material.js
  66. 0 1
      src/Materials/babylon.multiMaterial.js
  67. 0 1
      src/Materials/babylon.shaderMaterial.js
  68. 0 1
      src/Materials/babylon.standardMaterial.js
  69. 0 1
      src/Math/babylon.math.js
  70. 8 2
      src/Mesh/babylon.abstractMesh.js
  71. 10 1
      src/Mesh/babylon.abstractMesh.ts
  72. 0 1
      src/Mesh/babylon.csg.js
  73. 0 1
      src/Mesh/babylon.geometry.js
  74. 0 1
      src/Mesh/babylon.groundMesh.js
  75. 0 1
      src/Mesh/babylon.instancedMesh.js
  76. 0 1
      src/Mesh/babylon.linesMesh.js
  77. 0 1
      src/Mesh/babylon.mesh.js
  78. 0 1
      src/Mesh/babylon.mesh.vertexData.js
  79. 0 1
      src/Mesh/babylon.meshLODLevel.js
  80. 0 1
      src/Mesh/babylon.meshSimplification.js
  81. 0 1
      src/Mesh/babylon.polygonMesh.js
  82. 0 1
      src/Mesh/babylon.subMesh.js
  83. 0 1
      src/Mesh/babylon.vertexBuffer.js
  84. 0 1
      src/Particles/babylon.particle.js
  85. 0 1
      src/Particles/babylon.particleSystem.js
  86. 0 1
      src/Physics/Plugins/babylon.cannonJSPlugin.js
  87. 0 1
      src/Physics/Plugins/babylon.oimoJSPlugin.js
  88. 0 1
      src/Physics/babylon.physicsEngine.js
  89. 0 1
      src/PostProcess/RenderPipeline/babylon.postProcessRenderEffect.js
  90. 0 1
      src/PostProcess/RenderPipeline/babylon.postProcessRenderPass.js
  91. 0 1
      src/PostProcess/RenderPipeline/babylon.postProcessRenderPipeline.js
  92. 0 1
      src/PostProcess/RenderPipeline/babylon.postProcessRenderPipelineManager.js
  93. 0 1
      src/PostProcess/babylon.anaglyphPostProcess.js
  94. 0 1
      src/PostProcess/babylon.blackAndWhitePostProcess.js
  95. 0 1
      src/PostProcess/babylon.blurPostProcess.js
  96. 0 1
      src/PostProcess/babylon.colorCorrectionPostProcess.js
  97. 0 1
      src/PostProcess/babylon.convolutionPostProcess.js
  98. 0 1
      src/PostProcess/babylon.displayPassPostProcess.js
  99. 0 1
      src/PostProcess/babylon.filterPostProcess.js
  100. 0 0
      src/PostProcess/babylon.fxaaPostProcess.js

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 938 - 937
dist/preview release/babylon.d.ts


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 20 - 25
dist/preview release/babylon.js


+ 13 - 5
dist/preview release/babylon.max.js

@@ -6311,11 +6311,12 @@ var BABYLON;
             if (zOffset === void 0) { zOffset = 0; }
             if (reverseSide === void 0) { reverseSide = false; }
             // Culling        
-            if (this._depthCullingState.cull !== culling || force) {
+            var showSide = reverseSide ? this._gl.FRONT : this._gl.BACK;
+            var hideSide = reverseSide ? this._gl.BACK : this._gl.FRONT;
+            var cullFace = this.cullBackFaces ? showSide : hideSide;
+            if (this._depthCullingState.cull !== culling || force || this._depthCullingState.cullFace != cullFace) {
                 if (culling) {
-                    var showSide = reverseSide ? this._gl.FRONT : this._gl.BACK;
-                    var hideSide = reverseSide ? this._gl.BACK : this._gl.FRONT;
-                    this._depthCullingState.cullFace = this.cullBackFaces ? showSide : hideSide;
+                    this._depthCullingState.cullFace = cullFace;
                     this._depthCullingState.cull = true;
                 }
                 else {
@@ -7835,6 +7836,7 @@ var BABYLON;
             this.useVertexColors = true;
             this.applyFog = true;
             this.computeBonesUsingShaders = true;
+            this.scalingDeterminant = 1;
             this.useOctreeForRenderingSelection = true;
             this.useOctreeForPicking = true;
             this.useOctreeForCollisions = true;
@@ -8211,7 +8213,7 @@ var BABYLON;
             this._currentRenderId = this.getScene().getRenderId();
             this._isDirty = false;
             // Scaling
-            BABYLON.Matrix.ScalingToRef(this.scaling.x, this.scaling.y, this.scaling.z, this._localScaling);
+            BABYLON.Matrix.ScalingToRef(this.scaling.x * this.scalingDeterminant, this.scaling.y * this.scalingDeterminant, this.scaling.z * this.scalingDeterminant, this._localScaling);
             // Rotation
             if (this.rotationQuaternion) {
                 this.rotationQuaternion.toRotationMatrix(this._localRotation);
@@ -8333,8 +8335,14 @@ var BABYLON;
         AbstractMesh.prototype.attachToBone = function (bone, affectedMesh) {
             this._meshToBoneReferal = affectedMesh;
             this.parent = bone;
+            if (bone.getWorldMatrix().determinant() < 0) {
+                this.scalingDeterminant *= -1;
+            }
         };
         AbstractMesh.prototype.detachFromBone = function () {
+            if (this.parent.getWorldMatrix().determinant() < 0) {
+                this.scalingDeterminant *= -1;
+            }
             this._meshToBoneReferal = null;
             this.parent = null;
         };

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 20 - 25
dist/preview release/babylon.noworker.js


+ 1 - 0
dist/preview release/what's new.md

@@ -6,5 +6,6 @@
   - **Bug fixes**
     - Fixed bug with texture coordinates matrices ([deltakosh](https://github.com/deltakosh))
     - Fixed Sphere texture coordinates generation ([deltakosh](https://github.com/deltakosh))
+    - Fixed bug with `Mesh.attachToBone` when bone's matrix has a negative determinant ([deltakosh](https://github.com/deltakosh))
   - **Breaking changes**
 

+ 0 - 1
src/Actions/babylon.action.js

@@ -67,4 +67,3 @@ var BABYLON;
     })();
     BABYLON.Action = Action;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.action.js.map

+ 0 - 1
src/Actions/babylon.actionManager.js

@@ -287,4 +287,3 @@ var BABYLON;
     })();
     BABYLON.ActionManager = ActionManager;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.actionManager.js.map

+ 0 - 1
src/Actions/babylon.condition.js

@@ -115,4 +115,3 @@ var BABYLON;
     })(Condition);
     BABYLON.StateCondition = StateCondition;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.condition.js.map

+ 0 - 1
src/Actions/babylon.directActions.js

@@ -202,4 +202,3 @@ var BABYLON;
     })(BABYLON.Action);
     BABYLON.StopSoundAction = StopSoundAction;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.directActions.js.map

+ 0 - 1
src/Actions/babylon.interpolateValueAction.js

@@ -62,4 +62,3 @@ var BABYLON;
     })(BABYLON.Action);
     BABYLON.InterpolateValueAction = InterpolateValueAction;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.interpolateValueAction.js.map

+ 0 - 1
src/Animations/babylon.animatable.js

@@ -100,4 +100,3 @@ var BABYLON;
     })();
     BABYLON.Animatable = Animatable;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.animatable.js.map

+ 0 - 1
src/Animations/babylon.animation.js

@@ -387,4 +387,3 @@ var BABYLON;
     })();
     BABYLON.Animation = Animation;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.animation.js.map

+ 0 - 1
src/Animations/babylon.easing.js

@@ -247,4 +247,3 @@ var BABYLON;
     })(EasingFunction);
     BABYLON.BezierCurveEase = BezierCurveEase;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.easing.js.map

+ 0 - 1
src/Audio/babylon.analyser.js

@@ -109,4 +109,3 @@ var BABYLON;
     })();
     BABYLON.Analyser = Analyser;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.analyser.js.map

+ 0 - 1
src/Audio/babylon.audioEngine.js

@@ -77,4 +77,3 @@ var BABYLON;
     })();
     BABYLON.AudioEngine = AudioEngine;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.audioEngine.js.map

+ 0 - 1
src/Audio/babylon.sound.js

@@ -379,4 +379,3 @@ var BABYLON;
     })();
     BABYLON.Sound = Sound;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.sound.js.map

+ 0 - 1
src/Audio/babylon.soundtrack.js

@@ -92,4 +92,3 @@ var BABYLON;
     })();
     BABYLON.SoundTrack = SoundTrack;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.soundtrack.js.map

+ 0 - 1
src/Bones/babylon.bone.js

@@ -79,4 +79,3 @@ var BABYLON;
     })(BABYLON.Node);
     BABYLON.Bone = Bone;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.bone.js.map

+ 0 - 1
src/Bones/babylon.skeleton.js

@@ -74,4 +74,3 @@ var BABYLON;
     })();
     BABYLON.Skeleton = Skeleton;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.skeleton.js.map

+ 0 - 1
src/Cameras/VR/babylon.vrDeviceOrientationCamera.js

@@ -45,4 +45,3 @@ var BABYLON;
     })(BABYLON.FreeCamera);
     BABYLON.VRDeviceOrientationFreeCamera = VRDeviceOrientationFreeCamera;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.vrDeviceOrientationCamera.js.map

+ 0 - 1
src/Cameras/VR/babylon.webVRCamera.js

@@ -71,4 +71,3 @@ var BABYLON;
     })(BABYLON.FreeCamera);
     BABYLON.WebVRFreeCamera = WebVRFreeCamera;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.webVRCamera.js.map

+ 0 - 1
src/Cameras/babylon.arcRotateCamera.js

@@ -553,4 +553,3 @@ var BABYLON;
     })(BABYLON.TargetCamera);
     BABYLON.ArcRotateCamera = ArcRotateCamera;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.arcRotateCamera.js.map

+ 0 - 1
src/Cameras/babylon.camera.js

@@ -525,4 +525,3 @@ var BABYLON;
     })(BABYLON.Node);
     BABYLON.Camera = Camera;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.camera.js.map

+ 0 - 1
src/Cameras/babylon.deviceOrientationCamera.js

@@ -69,4 +69,3 @@ var BABYLON;
     })(BABYLON.FreeCamera);
     BABYLON.DeviceOrientationCamera = DeviceOrientationCamera;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.deviceOrientationCamera.js.map

+ 0 - 1
src/Cameras/babylon.followCamera.js

@@ -84,4 +84,3 @@ var BABYLON;
     })(BABYLON.TargetCamera);
     BABYLON.ArcFollowCamera = ArcFollowCamera;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.followCamera.js.map

+ 0 - 1
src/Cameras/babylon.freeCamera.js

@@ -223,4 +223,3 @@ var BABYLON;
     })(BABYLON.TargetCamera);
     BABYLON.FreeCamera = FreeCamera;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.freeCamera.js.map

+ 0 - 1
src/Cameras/babylon.gamepadCamera.js

@@ -49,4 +49,3 @@ var BABYLON;
     })(BABYLON.FreeCamera);
     BABYLON.GamepadCamera = GamepadCamera;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.gamepadCamera.js.map

+ 0 - 1
src/Cameras/babylon.stereoscopicCameras.js

@@ -60,4 +60,3 @@ var BABYLON;
     })(BABYLON.GamepadCamera);
     BABYLON.StereoscopicGamepadCamera = StereoscopicGamepadCamera;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.stereoscopicCameras.js.map

+ 0 - 1
src/Cameras/babylon.targetCamera.js

@@ -244,4 +244,3 @@ var BABYLON;
     })(BABYLON.Camera);
     BABYLON.TargetCamera = TargetCamera;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.targetCamera.js.map

+ 0 - 1
src/Cameras/babylon.touchCamera.js

@@ -113,4 +113,3 @@ var BABYLON;
     })(BABYLON.FreeCamera);
     BABYLON.TouchCamera = TouchCamera;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.touchCamera.js.map

+ 0 - 1
src/Cameras/babylon.virtualJoysticksCamera.js

@@ -49,4 +49,3 @@ var BABYLON;
     })(BABYLON.FreeCamera);
     BABYLON.VirtualJoysticksCamera = VirtualJoysticksCamera;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.virtualJoysticksCamera.js.map

+ 0 - 1
src/Collisions/babylon.collider.js

@@ -270,4 +270,3 @@ var BABYLON;
     })();
     BABYLON.Collider = Collider;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.collider.js.map

+ 0 - 1
src/Collisions/babylon.collisionCoordinator.js

@@ -271,4 +271,3 @@ var BABYLON;
     })();
     BABYLON.CollisionCoordinatorLegacy = CollisionCoordinatorLegacy;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.collisionCoordinator.js.map

+ 0 - 1
src/Collisions/babylon.collisionWorker.js

@@ -227,4 +227,3 @@ var BABYLON;
         console.log("single worker init");
     }
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.collisionWorker.js.map

+ 0 - 1
src/Collisions/babylon.pickingInfo.js

@@ -73,4 +73,3 @@ var BABYLON;
     })();
     BABYLON.PickingInfo = PickingInfo;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.pickingInfo.js.map

+ 0 - 1
src/Culling/Octrees/babylon.octree.js

@@ -86,4 +86,3 @@ var BABYLON;
     })();
     BABYLON.Octree = Octree;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.octree.js.map

+ 0 - 1
src/Culling/Octrees/babylon.octreeBlock.js

@@ -120,4 +120,3 @@ var BABYLON;
     })();
     BABYLON.OctreeBlock = OctreeBlock;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.octreeBlock.js.map

+ 0 - 1
src/Culling/babylon.boundingBox.js

@@ -137,4 +137,3 @@ var BABYLON;
     })();
     BABYLON.BoundingBox = BoundingBox;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.boundingBox.js.map

+ 0 - 1
src/Culling/babylon.boundingInfo.js

@@ -103,4 +103,3 @@ var BABYLON;
     })();
     BABYLON.BoundingInfo = BoundingInfo;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.boundingInfo.js.map

+ 0 - 1
src/Culling/babylon.boundingSphere.js

@@ -47,4 +47,3 @@ var BABYLON;
     })();
     BABYLON.BoundingSphere = BoundingSphere;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.boundingSphere.js.map

+ 0 - 1
src/Debug/babylon.debugLayer.js

@@ -603,4 +603,3 @@ var BABYLON;
     })();
     BABYLON.DebugLayer = DebugLayer;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.debugLayer.js.map

+ 0 - 1
src/Layer/babylon.layer.js

@@ -74,4 +74,3 @@ var BABYLON;
     })();
     BABYLON.Layer = Layer;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.layer.js.map

+ 0 - 1
src/LensFlare/babylon.lensFlare.js

@@ -21,4 +21,3 @@ var BABYLON;
     })();
     BABYLON.LensFlare = LensFlare;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.lensFlare.js.map

+ 0 - 1
src/LensFlare/babylon.lensFlareSystem.js

@@ -180,4 +180,3 @@ var BABYLON;
     })();
     BABYLON.LensFlareSystem = LensFlareSystem;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.lensFlareSystem.js.map

+ 0 - 1
src/Lights/Shadows/babylon.shadowGenerator.js

@@ -333,4 +333,3 @@ var BABYLON;
     })();
     BABYLON.ShadowGenerator = ShadowGenerator;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.shadowGenerator.js.map

+ 0 - 1
src/Lights/babylon.directionalLight.js

@@ -92,4 +92,3 @@ var BABYLON;
     })(BABYLON.Light);
     BABYLON.DirectionalLight = DirectionalLight;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.directionalLight.js.map

+ 0 - 1
src/Lights/babylon.hemisphericLight.js

@@ -34,4 +34,3 @@ var BABYLON;
     })(BABYLON.Light);
     BABYLON.HemisphericLight = HemisphericLight;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.hemisphericLight.js.map

+ 0 - 1
src/Lights/babylon.light.js

@@ -75,4 +75,3 @@ var BABYLON;
     })(BABYLON.Node);
     BABYLON.Light = Light;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.light.js.map

+ 0 - 1
src/Lights/babylon.pointLight.js

@@ -39,4 +39,3 @@ var BABYLON;
     })(BABYLON.Light);
     BABYLON.PointLight = PointLight;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.pointLight.js.map

+ 0 - 1
src/Lights/babylon.spotLight.js

@@ -69,4 +69,3 @@ var BABYLON;
     })(BABYLON.Light);
     BABYLON.SpotLight = SpotLight;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.spotLight.js.map

+ 0 - 1
src/Loading/Plugins/babylon.babylonFileLoader.js

@@ -1431,4 +1431,3 @@ var BABYLON;
         });
     })(Internals = BABYLON.Internals || (BABYLON.Internals = {}));
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.babylonFileLoader.js.map

+ 0 - 1
src/Loading/babylon.sceneLoader.js

@@ -174,4 +174,3 @@ var BABYLON;
     BABYLON.SceneLoader = SceneLoader;
     ;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.sceneLoader.js.map

+ 0 - 1
src/Materials/Textures/Procedurals/babylon.customProceduralTexture.js

@@ -122,4 +122,3 @@ var BABYLON;
     })(BABYLON.ProceduralTexture);
     BABYLON.CustomProceduralTexture = CustomProceduralTexture;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.customProceduralTexture.js.map

+ 0 - 1
src/Materials/Textures/Procedurals/babylon.proceduralTexture.js

@@ -247,4 +247,3 @@ var BABYLON;
     })(BABYLON.Texture);
     BABYLON.ProceduralTexture = ProceduralTexture;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.proceduralTexture.js.map

+ 0 - 1
src/Materials/Textures/Procedurals/babylon.standardProceduralTexture.js

@@ -417,4 +417,3 @@ var BABYLON;
     })(BABYLON.ProceduralTexture);
     BABYLON.MarbleProceduralTexture = MarbleProceduralTexture;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.standardProceduralTexture.js.map

+ 0 - 1
src/Materials/Textures/babylon.baseTexture.js

@@ -125,4 +125,3 @@ var BABYLON;
     })();
     BABYLON.BaseTexture = BaseTexture;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.baseTexture.js.map

+ 0 - 1
src/Materials/Textures/babylon.cubeTexture.js

@@ -58,4 +58,3 @@ var BABYLON;
     })(BABYLON.BaseTexture);
     BABYLON.CubeTexture = CubeTexture;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.cubeTexture.js.map

+ 0 - 1
src/Materials/Textures/babylon.dynamicTexture.js

@@ -91,4 +91,3 @@ var BABYLON;
     })(BABYLON.Texture);
     BABYLON.DynamicTexture = DynamicTexture;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.dynamicTexture.js.map

+ 0 - 1
src/Materials/Textures/babylon.mirrorTexture.js

@@ -42,4 +42,3 @@ var BABYLON;
     })(BABYLON.RenderTargetTexture);
     BABYLON.MirrorTexture = MirrorTexture;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.mirrorTexture.js.map

+ 0 - 1
src/Materials/Textures/babylon.rawTexture.js

@@ -55,4 +55,3 @@ var BABYLON;
     })(BABYLON.Texture);
     BABYLON.RawTexture = RawTexture;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.rawTexture.js.map

+ 0 - 1
src/Materials/Textures/babylon.renderTargetTexture.js

@@ -164,4 +164,3 @@ var BABYLON;
     })(BABYLON.Texture);
     BABYLON.RenderTargetTexture = RenderTargetTexture;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.renderTargetTexture.js.map

+ 0 - 1
src/Materials/Textures/babylon.texture.js

@@ -211,4 +211,3 @@ var BABYLON;
     })(BABYLON.BaseTexture);
     BABYLON.Texture = Texture;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.texture.js.map

+ 0 - 1
src/Materials/Textures/babylon.videoTexture.js

@@ -56,4 +56,3 @@ var BABYLON;
     })(BABYLON.Texture);
     BABYLON.VideoTexture = VideoTexture;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.videoTexture.js.map

+ 0 - 1
src/Materials/babylon.effect.js

@@ -371,4 +371,3 @@ var BABYLON;
     })();
     BABYLON.Effect = Effect;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.effect.js.map

+ 0 - 1
src/Materials/babylon.material.js

@@ -156,4 +156,3 @@ var BABYLON;
     })();
     BABYLON.Material = Material;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.material.js.map

+ 0 - 1
src/Materials/babylon.multiMaterial.js

@@ -43,4 +43,3 @@ var BABYLON;
     })(BABYLON.Material);
     BABYLON.MultiMaterial = MultiMaterial;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.multiMaterial.js.map

+ 0 - 1
src/Materials/babylon.shaderMaterial.js

@@ -231,4 +231,3 @@ var BABYLON;
     })(BABYLON.Material);
     BABYLON.ShaderMaterial = ShaderMaterial;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.shaderMaterial.js.map

+ 0 - 1
src/Materials/babylon.standardMaterial.js

@@ -797,4 +797,3 @@ var BABYLON;
     })(BABYLON.Material);
     BABYLON.StandardMaterial = StandardMaterial;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.standardMaterial.js.map

+ 0 - 1
src/Math/babylon.math.js

@@ -3136,4 +3136,3 @@ var BABYLON;
     })();
     BABYLON.SIMDHelper = SIMDHelper;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.math.js.map

+ 8 - 2
src/Mesh/babylon.abstractMesh.js

@@ -37,6 +37,7 @@ var BABYLON;
             this.useVertexColors = true;
             this.applyFog = true;
             this.computeBonesUsingShaders = true;
+            this.scalingDeterminant = 1;
             this.useOctreeForRenderingSelection = true;
             this.useOctreeForPicking = true;
             this.useOctreeForCollisions = true;
@@ -413,7 +414,7 @@ var BABYLON;
             this._currentRenderId = this.getScene().getRenderId();
             this._isDirty = false;
             // Scaling
-            BABYLON.Matrix.ScalingToRef(this.scaling.x, this.scaling.y, this.scaling.z, this._localScaling);
+            BABYLON.Matrix.ScalingToRef(this.scaling.x * this.scalingDeterminant, this.scaling.y * this.scalingDeterminant, this.scaling.z * this.scalingDeterminant, this._localScaling);
             // Rotation
             if (this.rotationQuaternion) {
                 this.rotationQuaternion.toRotationMatrix(this._localRotation);
@@ -535,8 +536,14 @@ var BABYLON;
         AbstractMesh.prototype.attachToBone = function (bone, affectedMesh) {
             this._meshToBoneReferal = affectedMesh;
             this.parent = bone;
+            if (bone.getWorldMatrix().determinant() < 0) {
+                this.scalingDeterminant *= -1;
+            }
         };
         AbstractMesh.prototype.detachFromBone = function () {
+            if (this.parent.getWorldMatrix().determinant() < 0) {
+                this.scalingDeterminant *= -1;
+            }
             this._meshToBoneReferal = null;
             this.parent = null;
         };
@@ -881,4 +888,3 @@ var BABYLON;
     })(BABYLON.Node);
     BABYLON.AbstractMesh = AbstractMesh;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.abstractMesh.js.map

+ 10 - 1
src/Mesh/babylon.abstractMesh.ts

@@ -58,6 +58,7 @@
         public useVertexColors = true;
         public applyFog = true;
         public computeBonesUsingShaders = true;
+        public scalingDeterminant = 1;
 
         public useOctreeForRenderingSelection = true;
         public useOctreeForPicking = true;
@@ -453,7 +454,7 @@
             this._isDirty = false;
 
             // Scaling
-            Matrix.ScalingToRef(this.scaling.x, this.scaling.y, this.scaling.z, this._localScaling);
+            Matrix.ScalingToRef(this.scaling.x * this.scalingDeterminant, this.scaling.y * this.scalingDeterminant, this.scaling.z * this.scalingDeterminant, this._localScaling);
 
             // Rotation
             if (this.rotationQuaternion) {
@@ -604,9 +605,17 @@
         public attachToBone(bone: Bone, affectedMesh: AbstractMesh): void {
             this._meshToBoneReferal = affectedMesh;
             this.parent = bone;
+
+            if (bone.getWorldMatrix().determinant() < 0) {
+                this.scalingDeterminant *= -1;
+            }
         }
 
         public detachFromBone(): void {
+            if (this.parent.getWorldMatrix().determinant() < 0) {
+                this.scalingDeterminant *= -1;
+            }
+
             this._meshToBoneReferal = null;
             this.parent = null;
         }

+ 0 - 1
src/Mesh/babylon.csg.js

@@ -508,4 +508,3 @@ var BABYLON;
     })();
     BABYLON.CSG = CSG;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.csg.js.map

+ 0 - 1
src/Mesh/babylon.geometry.js

@@ -608,4 +608,3 @@ var BABYLON;
         })(Primitives = Geometry.Primitives || (Geometry.Primitives = {}));
     })(Geometry = BABYLON.Geometry || (BABYLON.Geometry = {}));
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.geometry.js.map

+ 0 - 1
src/Mesh/babylon.groundMesh.js

@@ -39,4 +39,3 @@ var BABYLON;
     })(BABYLON.Mesh);
     BABYLON.GroundMesh = GroundMesh;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.groundMesh.js.map

+ 0 - 1
src/Mesh/babylon.instancedMesh.js

@@ -150,4 +150,3 @@ var BABYLON;
     })(BABYLON.AbstractMesh);
     BABYLON.InstancedMesh = InstancedMesh;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.instancedMesh.js.map

+ 0 - 1
src/Mesh/babylon.linesMesh.js

@@ -69,4 +69,3 @@ var BABYLON;
     })(BABYLON.Mesh);
     BABYLON.LinesMesh = LinesMesh;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.linesMesh.js.map

+ 0 - 1
src/Mesh/babylon.mesh.js

@@ -1877,4 +1877,3 @@ var BABYLON;
     })(BABYLON.AbstractMesh);
     BABYLON.Mesh = Mesh;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.mesh.js.map

+ 0 - 1
src/Mesh/babylon.mesh.vertexData.js

@@ -1255,4 +1255,3 @@ var BABYLON;
     })();
     BABYLON.VertexData = VertexData;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.mesh.vertexData.js.map

+ 0 - 1
src/Mesh/babylon.meshLODLevel.js

@@ -12,4 +12,3 @@ var BABYLON;
         Internals.MeshLODLevel = MeshLODLevel;
     })(Internals = BABYLON.Internals || (BABYLON.Internals = {}));
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.meshLODLevel.js.map

+ 0 - 1
src/Mesh/babylon.meshSimplification.js

@@ -656,4 +656,3 @@ var BABYLON;
     })();
     BABYLON.QuadraticErrorSimplification = QuadraticErrorSimplification;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.meshSimplification.js.map

+ 0 - 1
src/Mesh/babylon.polygonMesh.js

@@ -243,4 +243,3 @@ var BABYLON;
     })();
     BABYLON.PolygonMeshBuilder = PolygonMeshBuilder;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.polygonMesh.js.map

+ 0 - 1
src/Mesh/babylon.subMesh.js

@@ -143,4 +143,3 @@ var BABYLON;
     })();
     BABYLON.SubMesh = SubMesh;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.subMesh.js.map

+ 0 - 1
src/Mesh/babylon.vertexBuffer.js

@@ -190,4 +190,3 @@ var BABYLON;
     })();
     BABYLON.VertexBuffer = VertexBuffer;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.vertexBuffer.js.map

+ 0 - 1
src/Particles/babylon.particle.js

@@ -27,4 +27,3 @@ var BABYLON;
     })();
     BABYLON.Particle = Particle;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.particle.js.map

+ 0 - 1
src/Particles/babylon.particleSystem.js

@@ -335,4 +335,3 @@ var BABYLON;
     })();
     BABYLON.ParticleSystem = ParticleSystem;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.particleSystem.js.map

+ 0 - 1
src/Physics/Plugins/babylon.cannonJSPlugin.js

@@ -251,4 +251,3 @@ var BABYLON;
     })();
     BABYLON.CannonJSPlugin = CannonJSPlugin;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.cannonJSPlugin.js.map

+ 0 - 1
src/Physics/Plugins/babylon.oimoJSPlugin.js

@@ -314,4 +314,3 @@ var BABYLON;
     })();
     BABYLON.OimoJSPlugin = OimoJSPlugin;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.oimoJSPlugin.js.map

+ 0 - 1
src/Physics/babylon.physicsEngine.js

@@ -60,4 +60,3 @@ var BABYLON;
     })();
     BABYLON.PhysicsEngine = PhysicsEngine;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.physicsEngine.js.map

+ 0 - 1
src/PostProcess/RenderPipeline/babylon.postProcessRenderEffect.js

@@ -138,4 +138,3 @@ var BABYLON;
     })();
     BABYLON.PostProcessRenderEffect = PostProcessRenderEffect;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.postProcessRenderEffect.js.map

+ 0 - 1
src/PostProcess/RenderPipeline/babylon.postProcessRenderPass.js

@@ -40,4 +40,3 @@ var BABYLON;
     })();
     BABYLON.PostProcessRenderPass = PostProcessRenderPass;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.postProcessRenderPass.js.map

+ 0 - 1
src/PostProcess/RenderPipeline/babylon.postProcessRenderPipeline.js

@@ -110,4 +110,3 @@ var BABYLON;
     })();
     BABYLON.PostProcessRenderPipeline = PostProcessRenderPipeline;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.postProcessRenderPipeline.js.map

+ 0 - 1
src/PostProcess/RenderPipeline/babylon.postProcessRenderPipelineManager.js

@@ -58,4 +58,3 @@ var BABYLON;
     })();
     BABYLON.PostProcessRenderPipelineManager = PostProcessRenderPipelineManager;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.postProcessRenderPipelineManager.js.map

+ 0 - 1
src/PostProcess/babylon.anaglyphPostProcess.js

@@ -14,4 +14,3 @@ var BABYLON;
     })(BABYLON.PostProcess);
     BABYLON.AnaglyphPostProcess = AnaglyphPostProcess;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.anaglyphPostProcess.js.map

+ 0 - 1
src/PostProcess/babylon.blackAndWhitePostProcess.js

@@ -14,4 +14,3 @@ var BABYLON;
     })(BABYLON.PostProcess);
     BABYLON.BlackAndWhitePostProcess = BlackAndWhitePostProcess;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.blackAndWhitePostProcess.js.map

+ 0 - 1
src/PostProcess/babylon.blurPostProcess.js

@@ -23,4 +23,3 @@ var BABYLON;
     })(BABYLON.PostProcess);
     BABYLON.BlurPostProcess = BlurPostProcess;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.blurPostProcess.js.map

+ 0 - 1
src/PostProcess/babylon.colorCorrectionPostProcess.js

@@ -35,4 +35,3 @@ var BABYLON;
     })(BABYLON.PostProcess);
     BABYLON.ColorCorrectionPostProcess = ColorCorrectionPostProcess;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.colorCorrectionPostProcess.js.map

+ 0 - 1
src/PostProcess/babylon.convolutionPostProcess.js

@@ -28,4 +28,3 @@ var BABYLON;
     })(BABYLON.PostProcess);
     BABYLON.ConvolutionPostProcess = ConvolutionPostProcess;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.convolutionPostProcess.js.map

+ 0 - 1
src/PostProcess/babylon.displayPassPostProcess.js

@@ -14,4 +14,3 @@ var BABYLON;
     })(BABYLON.PostProcess);
     BABYLON.DisplayPassPostProcess = DisplayPassPostProcess;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.displayPassPostProcess.js.map

+ 0 - 1
src/PostProcess/babylon.filterPostProcess.js

@@ -19,4 +19,3 @@ var BABYLON;
     })(BABYLON.PostProcess);
     BABYLON.FilterPostProcess = FilterPostProcess;
 })(BABYLON || (BABYLON = {}));
-//# sourceMappingURL=babylon.filterPostProcess.js.map

+ 0 - 0
src/PostProcess/babylon.fxaaPostProcess.js


Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä