@babylonjs/core 5.0.0-beta.9 → 5.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/Actions/actionEvent.d.ts +3 -4
  2. package/Actions/actionEvent.js.map +1 -1
  3. package/Animations/animation.d.ts +4 -4
  4. package/Animations/animation.js +4 -4
  5. package/Animations/animation.js.map +1 -1
  6. package/Audio/sound.d.ts +12 -6
  7. package/Audio/sound.js +48 -24
  8. package/Audio/sound.js.map +1 -1
  9. package/BakedVertexAnimation/vertexAnimationBaker.js +0 -1
  10. package/BakedVertexAnimation/vertexAnimationBaker.js.map +1 -1
  11. package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
  12. package/Behaviors/Meshes/pointerDragBehavior.js +5 -0
  13. package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
  14. package/Bones/skeleton.js +20 -13
  15. package/Bones/skeleton.js.map +1 -1
  16. package/Cameras/Inputs/BaseCameraPointersInput.d.ts +1 -0
  17. package/Cameras/Inputs/BaseCameraPointersInput.js +4 -3
  18. package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
  19. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js +10 -9
  20. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js.map +1 -1
  21. package/Cameras/Inputs/followCameraMouseWheelInput.js.map +1 -1
  22. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  23. package/Cameras/arcRotateCamera.d.ts +4 -2
  24. package/Cameras/arcRotateCamera.js +11 -6
  25. package/Cameras/arcRotateCamera.js.map +1 -1
  26. package/Cameras/targetCamera.d.ts +1 -0
  27. package/Cameras/targetCamera.js +1 -0
  28. package/Cameras/targetCamera.js.map +1 -1
  29. package/Culling/ray.js +4 -2
  30. package/Culling/ray.js.map +1 -1
  31. package/DeviceInput/Helpers/eventFactory.d.ts +6 -6
  32. package/DeviceInput/Helpers/eventFactory.js +34 -16
  33. package/DeviceInput/Helpers/eventFactory.js.map +1 -1
  34. package/DeviceInput/InputDevices/deviceEnums.d.ts +26 -3
  35. package/DeviceInput/InputDevices/deviceEnums.js +31 -7
  36. package/DeviceInput/InputDevices/deviceEnums.js.map +1 -1
  37. package/DeviceInput/InputDevices/deviceSource.d.ts +11 -3
  38. package/DeviceInput/InputDevices/deviceSource.js.map +1 -1
  39. package/DeviceInput/InputDevices/deviceSourceManager.d.ts +12 -9
  40. package/DeviceInput/InputDevices/deviceSourceManager.js +75 -12
  41. package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
  42. package/DeviceInput/InputDevices/deviceTypes.d.ts +1 -1
  43. package/DeviceInput/InputDevices/deviceTypes.js.map +1 -1
  44. package/DeviceInput/InputDevices/inputInterfaces.d.ts +3 -28
  45. package/DeviceInput/InputDevices/inputInterfaces.js.map +1 -1
  46. package/DeviceInput/InputDevices/internalDeviceSourceManager.d.ts +4 -24
  47. package/DeviceInput/InputDevices/internalDeviceSourceManager.js +27 -91
  48. package/DeviceInput/InputDevices/internalDeviceSourceManager.js.map +1 -1
  49. package/DeviceInput/InputDevices/nativeDeviceInputSystem.d.ts +3 -2
  50. package/DeviceInput/InputDevices/nativeDeviceInputSystem.js +7 -13
  51. package/DeviceInput/InputDevices/nativeDeviceInputSystem.js.map +1 -1
  52. package/DeviceInput/InputDevices/webDeviceInputSystem.d.ts +4 -2
  53. package/DeviceInput/InputDevices/webDeviceInputSystem.js +54 -77
  54. package/DeviceInput/InputDevices/webDeviceInputSystem.js.map +1 -1
  55. package/Engines/Extensions/engine.query.d.ts +7 -0
  56. package/Engines/Extensions/engine.query.js +12 -0
  57. package/Engines/Extensions/engine.query.js.map +1 -1
  58. package/Engines/Extensions/engine.renderTarget.d.ts +5 -0
  59. package/Engines/Extensions/engine.renderTarget.js.map +1 -1
  60. package/Engines/ICanvas.d.ts +4 -0
  61. package/Engines/ICanvas.js.map +1 -1
  62. package/Engines/Native/nativeInterfaces.d.ts +1 -1
  63. package/Engines/Native/nativeInterfaces.js.map +1 -1
  64. package/Engines/engine.d.ts +14 -2
  65. package/Engines/engine.js +25 -0
  66. package/Engines/engine.js.map +1 -1
  67. package/Engines/index.d.ts +1 -0
  68. package/Engines/index.js +1 -0
  69. package/Engines/index.js.map +1 -1
  70. package/Engines/nativeEngine.d.ts +8 -0
  71. package/Engines/nativeEngine.js +38 -10
  72. package/Engines/nativeEngine.js.map +1 -1
  73. package/Engines/thinEngine.js +2 -2
  74. package/Engines/thinEngine.js.map +1 -1
  75. package/Engines/webgpuEngine.js +2 -2
  76. package/Engines/webgpuEngine.js.map +1 -1
  77. package/Events/deviceInputEvents.d.ts +17 -18
  78. package/Events/deviceInputEvents.js.map +1 -1
  79. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  80. package/Helpers/environmentHelper.js +2 -2
  81. package/Helpers/environmentHelper.js.map +1 -1
  82. package/Helpers/videoDome.d.ts +8 -0
  83. package/Helpers/videoDome.js +18 -4
  84. package/Helpers/videoDome.js.map +1 -1
  85. package/Inputs/scene.inputManager.js +50 -24
  86. package/Inputs/scene.inputManager.js.map +1 -1
  87. package/Layers/effectLayer.d.ts +1 -0
  88. package/Layers/effectLayer.js +24 -0
  89. package/Layers/effectLayer.js.map +1 -1
  90. package/Materials/Node/Blocks/Dual/textureBlock.d.ts +6 -2
  91. package/Materials/Node/Blocks/Dual/textureBlock.js +50 -8
  92. package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
  93. package/Materials/Node/Blocks/elbowBlock.d.ts +6 -0
  94. package/Materials/Node/Blocks/elbowBlock.js +25 -0
  95. package/Materials/Node/Blocks/elbowBlock.js.map +1 -1
  96. package/Materials/Node/Blocks/simplexPerlin3DBlock.js +1 -0
  97. package/Materials/Node/Blocks/simplexPerlin3DBlock.js.map +1 -1
  98. package/Materials/Node/nodeMaterialBlock.d.ts +1 -1
  99. package/Materials/Node/nodeMaterialBlock.js.map +1 -1
  100. package/Materials/PBR/pbrBaseMaterial.js +1 -0
  101. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  102. package/Materials/Textures/Procedurals/proceduralTexture.d.ts +1 -1
  103. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  104. package/Materials/Textures/dynamicTexture.d.ts +1 -1
  105. package/Materials/Textures/dynamicTexture.js.map +1 -1
  106. package/Materials/materialPluginBase.d.ts +5 -0
  107. package/Materials/materialPluginBase.js +5 -0
  108. package/Materials/materialPluginBase.js.map +1 -1
  109. package/Materials/materialPluginEvent.d.ts +1 -0
  110. package/Materials/materialPluginEvent.js.map +1 -1
  111. package/Materials/materialPluginManager.d.ts +1 -0
  112. package/Materials/materialPluginManager.js +20 -15
  113. package/Materials/materialPluginManager.js.map +1 -1
  114. package/Materials/standardMaterial.js +1 -0
  115. package/Materials/standardMaterial.js.map +1 -1
  116. package/Maths/math.vector.d.ts +5 -0
  117. package/Maths/math.vector.js +20 -9
  118. package/Maths/math.vector.js.map +1 -1
  119. package/Meshes/Builders/polygonBuilder.js +2 -1
  120. package/Meshes/Builders/polygonBuilder.js.map +1 -1
  121. package/Meshes/Compression/dracoCompression.js +3 -7
  122. package/Meshes/Compression/dracoCompression.js.map +1 -1
  123. package/Meshes/abstractMesh.d.ts +1 -1
  124. package/Meshes/abstractMesh.js +0 -1
  125. package/Meshes/abstractMesh.js.map +1 -1
  126. package/Meshes/geometry.js +5 -0
  127. package/Meshes/geometry.js.map +1 -1
  128. package/Meshes/instancedMesh.js +7 -4
  129. package/Meshes/instancedMesh.js.map +1 -1
  130. package/Meshes/mesh.js +21 -22
  131. package/Meshes/mesh.js.map +1 -1
  132. package/Meshes/mesh.vertexData.d.ts +3 -2
  133. package/Meshes/mesh.vertexData.js +114 -85
  134. package/Meshes/mesh.vertexData.js.map +1 -1
  135. package/Meshes/transformNode.d.ts +3 -3
  136. package/Meshes/transformNode.js +9 -6
  137. package/Meshes/transformNode.js.map +1 -1
  138. package/Misc/fileTools.js +23 -9
  139. package/Misc/fileTools.js.map +1 -1
  140. package/Misc/khronosTextureContainer2.d.ts +10 -15
  141. package/Misc/khronosTextureContainer2.js +31 -60
  142. package/Misc/khronosTextureContainer2.js.map +1 -1
  143. package/Misc/videoRecorder.d.ts +1 -1
  144. package/Misc/videoRecorder.js +1 -1
  145. package/Misc/videoRecorder.js.map +1 -1
  146. package/Misc/workerPool.d.ts +37 -3
  147. package/Misc/workerPool.js +91 -15
  148. package/Misc/workerPool.js.map +1 -1
  149. package/Morph/morphTarget.d.ts +2 -1
  150. package/Morph/morphTarget.js +5 -1
  151. package/Morph/morphTarget.js.map +1 -1
  152. package/Morph/morphTargetManager.js +1 -1
  153. package/Morph/morphTargetManager.js.map +1 -1
  154. package/Particles/particleSystem.d.ts +13 -1
  155. package/Particles/particleSystem.js +20 -0
  156. package/Particles/particleSystem.js.map +1 -1
  157. package/Particles/pointsCloudSystem.d.ts +1 -1
  158. package/Particles/pointsCloudSystem.js +1 -1
  159. package/Particles/pointsCloudSystem.js.map +1 -1
  160. package/Rendering/prePassRenderer.js +12 -2
  161. package/Rendering/prePassRenderer.js.map +1 -1
  162. package/Rendering/subSurfaceConfiguration.js +1 -1
  163. package/Rendering/subSurfaceConfiguration.js.map +1 -1
  164. package/Rendering/utilityLayerRenderer.js +2 -0
  165. package/Rendering/utilityLayerRenderer.js.map +1 -1
  166. package/Shaders/ShadersInclude/pointCloudVertex.js +1 -1
  167. package/Shaders/ShadersInclude/pointCloudVertex.js.map +1 -1
  168. package/Shaders/background.vertex.js +1 -1
  169. package/Shaders/background.vertex.js.map +1 -1
  170. package/Shaders/pbr.vertex.js +1 -1
  171. package/Shaders/pbr.vertex.js.map +1 -1
  172. package/XR/features/WebXRImageTracking.d.ts +2 -1
  173. package/XR/features/WebXRImageTracking.js +43 -64
  174. package/XR/features/WebXRImageTracking.js.map +1 -1
  175. package/XR/features/WebXRNearInteraction.js +4 -2
  176. package/XR/features/WebXRNearInteraction.js.map +1 -1
  177. package/XR/native/nativeXRFrame.d.ts +1 -0
  178. package/XR/native/nativeXRFrame.js +1 -0
  179. package/XR/native/nativeXRFrame.js.map +1 -1
  180. package/XR/webXRSessionManager.js +1 -0
  181. package/XR/webXRSessionManager.js.map +1 -1
  182. package/package.json +1 -1
  183. package/scene.d.ts +1 -10
  184. package/scene.js +36 -39
  185. package/scene.js.map +1 -1
  186. package/types.d.ts +1 -1
  187. package/types.js.map +1 -1
package/scene.js CHANGED
@@ -63,8 +63,13 @@ var Scene = /** @class */ (function (_super) {
63
63
  * Defines the color used to simulate the ambient color (Default is (0, 0, 0))
64
64
  */
65
65
  _this.ambientColor = new Color3(0, 0, 0);
66
- /** @hidden */
67
- _this._environmentIntensity = 1;
66
+ /**
67
+ * Intensity of the environment in all pbr material.
68
+ * This dims or reinforces the IBL lighting overall (reflection and diffuse).
69
+ * As in the majority of the scene they are the same (exception for multi room and so on),
70
+ * this is easier to reference from here than from all the materials.
71
+ */
72
+ _this.environmentIntensity = 1;
68
73
  _this._forceWireframe = false;
69
74
  _this._skipFrustumClipping = false;
70
75
  _this._forcePointsCloud = false;
@@ -457,7 +462,7 @@ var Scene = /** @class */ (function (_super) {
457
462
  _this.animationTimeScale = 1;
458
463
  _this._renderId = 0;
459
464
  _this._frameId = 0;
460
- _this._executeWhenReadyTimeoutId = -1;
465
+ _this._executeWhenReadyTimeoutId = null;
461
466
  _this._intermediateRendering = false;
462
467
  _this._defaultFrameBufferCleared = false;
463
468
  _this._viewUpdateFlag = -1;
@@ -731,32 +736,6 @@ var Scene = /** @class */ (function (_super) {
731
736
  enumerable: false,
732
737
  configurable: true
733
738
  });
734
- Object.defineProperty(Scene.prototype, "environmentIntensity", {
735
- /**
736
- * Intensity of the environment in all pbr material.
737
- * This dims or reinforces the IBL lighting overall (reflection and diffuse).
738
- * As in the majority of the scene they are the same (exception for multi room and so on),
739
- * this is easier to reference from here than from all the materials.
740
- */
741
- get: function () {
742
- return this._environmentIntensity;
743
- },
744
- /**
745
- * Intensity of the environment in all pbr material.
746
- * This dims or reinforces the IBL lighting overall (reflection and diffuse).
747
- * As in the majority of the scene they are the same (exception for multi room and so on),
748
- * this is easier to set here than in all the materials.
749
- */
750
- set: function (value) {
751
- if (this._environmentIntensity === value) {
752
- return;
753
- }
754
- this._environmentIntensity = value;
755
- this.markAllMaterialsAsDirty(1);
756
- },
757
- enumerable: false,
758
- configurable: true
759
- });
760
739
  Object.defineProperty(Scene.prototype, "imageProcessingConfiguration", {
761
740
  /**
762
741
  * Default image processing configuration used either in the rendering
@@ -1739,7 +1718,7 @@ var Scene = /** @class */ (function (_super) {
1739
1718
  var _this = this;
1740
1719
  if (checkRenderTargets === void 0) { checkRenderTargets = false; }
1741
1720
  this.onReadyObservable.add(func);
1742
- if (this._executeWhenReadyTimeoutId !== -1) {
1721
+ if (this._executeWhenReadyTimeoutId !== null) {
1743
1722
  return;
1744
1723
  }
1745
1724
  this._executeWhenReadyTimeoutId = setTimeout(function () {
@@ -1768,12 +1747,12 @@ var Scene = /** @class */ (function (_super) {
1768
1747
  if (this.isReady(checkRenderTargets)) {
1769
1748
  this.onReadyObservable.notifyObservers(this);
1770
1749
  this.onReadyObservable.clear();
1771
- this._executeWhenReadyTimeoutId = -1;
1750
+ this._executeWhenReadyTimeoutId = null;
1772
1751
  return;
1773
1752
  }
1774
1753
  if (this._isDisposed) {
1775
1754
  this.onReadyObservable.clear();
1776
- this._executeWhenReadyTimeoutId = -1;
1755
+ this._executeWhenReadyTimeoutId = null;
1777
1756
  return;
1778
1757
  }
1779
1758
  this._executeWhenReadyTimeoutId = setTimeout(function () {
@@ -1827,6 +1806,11 @@ var Scene = /** @class */ (function (_super) {
1827
1806
  * @param projectionR defines the right Projection matrix to use (if provided)
1828
1807
  */
1829
1808
  Scene.prototype.setTransformMatrix = function (viewL, projectionL, viewR, projectionR) {
1809
+ // clear the multiviewSceneUbo if no viewR and projectionR are defined
1810
+ if (!viewR && !projectionR && this._multiviewSceneUbo) {
1811
+ this._multiviewSceneUbo.dispose();
1812
+ this._multiviewSceneUbo = null;
1813
+ }
1830
1814
  if (this._viewUpdateFlag === viewL.updateFlag && this._projectionUpdateFlag === projectionL.updateFlag) {
1831
1815
  return;
1832
1816
  }
@@ -3312,6 +3296,7 @@ var Scene = /** @class */ (function (_super) {
3312
3296
  if (this._skeletonsEnabled && mesh.skeleton !== null && mesh.skeleton !== undefined) {
3313
3297
  if (this._activeSkeletons.pushNoDuplicate(mesh.skeleton)) {
3314
3298
  mesh.skeleton.prepare();
3299
+ this._activeBones.addCount(mesh.skeleton.bones.length, false);
3315
3300
  }
3316
3301
  if (!mesh.computeBonesUsingShaders) {
3317
3302
  this._softwareSkinnedMeshes.pushNoDuplicate(mesh);
@@ -3405,7 +3390,17 @@ var Scene = /** @class */ (function (_super) {
3405
3390
  this.resetCachedMaterial();
3406
3391
  this._renderId++;
3407
3392
  if (!this.prePass && bindFrameBuffer) {
3393
+ var skipInitialClear = true;
3394
+ if (camera._renderingMultiview && camera.outputRenderTarget) {
3395
+ skipInitialClear = camera.outputRenderTarget.skipInitialClear;
3396
+ if (this.autoClear) {
3397
+ camera.outputRenderTarget.skipInitialClear = false;
3398
+ }
3399
+ }
3408
3400
  this._bindFrameBuffer(this._activeCamera);
3401
+ if (camera._renderingMultiview && camera.outputRenderTarget) {
3402
+ camera.outputRenderTarget.skipInitialClear = skipInitialClear;
3403
+ }
3409
3404
  }
3410
3405
  this.updateTransformMatrix();
3411
3406
  this.onBeforeCameraRenderObservable.notifyObservers(this.activeCamera);
@@ -3648,7 +3643,7 @@ var Scene = /** @class */ (function (_super) {
3648
3643
  if (this.isDisposed) {
3649
3644
  return;
3650
3645
  }
3651
- if (this.onReadyObservable.hasObservers() && this._executeWhenReadyTimeoutId === -1) {
3646
+ if (this.onReadyObservable.hasObservers() && this._executeWhenReadyTimeoutId === null) {
3652
3647
  this._checkIsReady();
3653
3648
  }
3654
3649
  this._frameId++;
@@ -3844,10 +3839,6 @@ var Scene = /** @class */ (function (_super) {
3844
3839
  this._pointerMoveStage.clear();
3845
3840
  this._pointerDownStage.clear();
3846
3841
  this._pointerUpStage.clear();
3847
- for (var _i = 0, _b = this._components; _i < _b.length; _i++) {
3848
- var component = _b[_i];
3849
- component.dispose();
3850
- }
3851
3842
  this.importedMeshesFiles = new Array();
3852
3843
  if (this.stopAllAnimations) {
3853
3844
  this.stopAllAnimations();
@@ -3869,10 +3860,11 @@ var Scene = /** @class */ (function (_super) {
3869
3860
  this._meshesForIntersections.dispose();
3870
3861
  this._toBeDisposed = [];
3871
3862
  // Abort active requests
3872
- for (var _c = 0, _d = this._activeRequests; _c < _d.length; _c++) {
3873
- var request = _d[_c];
3863
+ for (var _i = 0, _b = this._activeRequests; _i < _b.length; _i++) {
3864
+ var request = _b[_i];
3874
3865
  request.abort();
3875
3866
  }
3867
+ this._activeRequests = [];
3876
3868
  // Events
3877
3869
  this.onDisposeObservable.notifyObservers(this);
3878
3870
  this.onDisposeObservable.clear();
@@ -3984,6 +3976,11 @@ var Scene = /** @class */ (function (_super) {
3984
3976
  }
3985
3977
  // Post-processes
3986
3978
  this.postProcessManager.dispose();
3979
+ // Components
3980
+ for (var _c = 0, _d = this._components; _c < _d.length; _c++) {
3981
+ var component = _d[_c];
3982
+ component.dispose();
3983
+ }
3987
3984
  // Remove from engine
3988
3985
  index = this._engine.scenes.indexOf(this);
3989
3986
  if (index > -1) {