@babylonjs/core 5.0.3 → 5.2.0

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 (129) hide show
  1. package/Audio/audioSceneComponent.d.ts +2 -0
  2. package/Audio/audioSceneComponent.js +9 -7
  3. package/Audio/audioSceneComponent.js.map +1 -1
  4. package/Cameras/arcRotateCamera.d.ts +5 -0
  5. package/Cameras/arcRotateCamera.js +5 -0
  6. package/Cameras/arcRotateCamera.js.map +1 -1
  7. package/Cameras/camera.d.ts +5 -1
  8. package/Cameras/camera.js +7 -7
  9. package/Cameras/camera.js.map +1 -1
  10. package/Debug/debugLayer.d.ts +5 -0
  11. package/Debug/debugLayer.js +24 -0
  12. package/Debug/debugLayer.js.map +1 -1
  13. package/Engines/Processors/shaderCodeCursor.js +5 -0
  14. package/Engines/Processors/shaderCodeCursor.js.map +1 -1
  15. package/Engines/constants.d.ts +25 -1
  16. package/Engines/constants.js +25 -1
  17. package/Engines/constants.js.map +1 -1
  18. package/Engines/engine.d.ts +1 -1
  19. package/Engines/engine.js +1 -1
  20. package/Engines/engine.js.map +1 -1
  21. package/Engines/nativeEngine.d.ts +1 -1
  22. package/Engines/nativeEngine.js +7 -8
  23. package/Engines/nativeEngine.js.map +1 -1
  24. package/Engines/thinEngine.js +2 -2
  25. package/Engines/thinEngine.js.map +1 -1
  26. package/Engines/webgpuEngine.d.ts +4 -0
  27. package/Engines/webgpuEngine.js +2 -0
  28. package/Engines/webgpuEngine.js.map +1 -1
  29. package/Gizmos/boundingBoxGizmo.js +6 -6
  30. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  31. package/Gizmos/gizmo.d.ts +5 -0
  32. package/Gizmos/gizmo.js +8 -2
  33. package/Gizmos/gizmo.js.map +1 -1
  34. package/Inputs/scene.inputManager.js +7 -1
  35. package/Inputs/scene.inputManager.js.map +1 -1
  36. package/Lights/Shadows/shadowGenerator.d.ts +5 -0
  37. package/Lights/Shadows/shadowGenerator.js +20 -2
  38. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  39. package/Loading/Plugins/babylonFileLoader.js +8 -6
  40. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  41. package/Materials/Node/Blocks/PBR/clearCoatBlock.d.ts +4 -0
  42. package/Materials/Node/Blocks/PBR/clearCoatBlock.js +19 -1
  43. package/Materials/Node/Blocks/PBR/clearCoatBlock.js.map +1 -1
  44. package/Materials/Node/Blocks/PBR/iridescenceBlock.d.ts +54 -0
  45. package/Materials/Node/Blocks/PBR/iridescenceBlock.js +135 -0
  46. package/Materials/Node/Blocks/PBR/iridescenceBlock.js.map +1 -0
  47. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.d.ts +4 -0
  48. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +42 -24
  49. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  50. package/Materials/PBR/index.d.ts +1 -0
  51. package/Materials/PBR/index.js +1 -0
  52. package/Materials/PBR/index.js.map +1 -1
  53. package/Materials/PBR/pbrBaseMaterial.d.ts +5 -0
  54. package/Materials/PBR/pbrBaseMaterial.js +2 -0
  55. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  56. package/Materials/PBR/pbrIridescenceConfiguration.d.ts +102 -0
  57. package/Materials/PBR/pbrIridescenceConfiguration.js +257 -0
  58. package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -0
  59. package/Materials/Textures/Loaders/ktxTextureLoader.js +31 -0
  60. package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
  61. package/Materials/Textures/MultiviewRenderTarget.js +1 -0
  62. package/Materials/Textures/MultiviewRenderTarget.js.map +1 -1
  63. package/Materials/Textures/videoTexture.js +12 -12
  64. package/Materials/Textures/videoTexture.js.map +1 -1
  65. package/Materials/materialFlags.d.ts +6 -0
  66. package/Materials/materialFlags.js +18 -0
  67. package/Materials/materialFlags.js.map +1 -1
  68. package/Materials/materialPluginFactoryExport.d.ts +6 -0
  69. package/Materials/materialPluginFactoryExport.js +12 -0
  70. package/Materials/materialPluginFactoryExport.js.map +1 -1
  71. package/Maths/math.color.d.ts +11 -2
  72. package/Maths/math.color.js +12 -7
  73. package/Maths/math.color.js.map +1 -1
  74. package/Meshes/abstractMesh.d.ts +1 -1
  75. package/Meshes/abstractMesh.js +6 -3
  76. package/Meshes/abstractMesh.js.map +1 -1
  77. package/Meshes/mesh.d.ts +2 -2
  78. package/Meshes/mesh.js +11 -3
  79. package/Meshes/mesh.js.map +1 -1
  80. package/Misc/khronosTextureContainer.js +1 -1
  81. package/Misc/khronosTextureContainer.js.map +1 -1
  82. package/Physics/physicsImpostor.js +1 -1
  83. package/Physics/physicsImpostor.js.map +1 -1
  84. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.d.ts +6 -1
  85. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +13 -2
  86. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
  87. package/Rendering/boundingBoxRenderer.js +4 -4
  88. package/Rendering/boundingBoxRenderer.js.map +1 -1
  89. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js +1 -1
  90. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js.map +1 -1
  91. package/Shaders/ShadersInclude/helperFunctions.js +1 -1
  92. package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
  93. package/Shaders/ShadersInclude/lightFragment.js +1 -1
  94. package/Shaders/ShadersInclude/lightFragment.js.map +1 -1
  95. package/Shaders/ShadersInclude/pbrBRDFFunctions.js +1 -1
  96. package/Shaders/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
  97. package/Shaders/ShadersInclude/pbrBlockIridescence.d.ts +5 -0
  98. package/Shaders/ShadersInclude/pbrBlockIridescence.js +9 -0
  99. package/Shaders/ShadersInclude/pbrBlockIridescence.js.map +1 -0
  100. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +1 -1
  101. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  102. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js +1 -1
  103. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js.map +1 -1
  104. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +1 -1
  105. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js.map +1 -1
  106. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +1 -1
  107. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
  108. package/Shaders/ShadersInclude/pbrVertexDeclaration.js +1 -1
  109. package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
  110. package/Shaders/pbr.fragment.d.ts +1 -0
  111. package/Shaders/pbr.fragment.js +2 -1
  112. package/Shaders/pbr.fragment.js.map +1 -1
  113. package/Shaders/pbr.vertex.js +1 -1
  114. package/Shaders/pbr.vertex.js.map +1 -1
  115. package/XR/features/WebXRHandTracking.js +1 -1
  116. package/XR/features/WebXRHandTracking.js.map +1 -1
  117. package/XR/features/WebXRImageTracking.d.ts +0 -5
  118. package/XR/features/WebXRImageTracking.js +5 -8
  119. package/XR/features/WebXRImageTracking.js.map +1 -1
  120. package/XR/native/nativeXRFrame.d.ts +2 -1
  121. package/XR/native/nativeXRFrame.js +5 -1
  122. package/XR/native/nativeXRFrame.js.map +1 -1
  123. package/assetContainer.d.ts +13 -1
  124. package/assetContainer.js +130 -17
  125. package/assetContainer.js.map +1 -1
  126. package/package.json +1 -1
  127. package/scene.d.ts +4 -0
  128. package/scene.js +4 -0
  129. package/scene.js.map +1 -1
package/Meshes/mesh.d.ts CHANGED
@@ -970,12 +970,12 @@ export declare class Mesh extends AbstractMesh implements IGetSetVerticesData {
970
970
  * Prepare internal position array for software CPU skinning
971
971
  * @returns original positions used for CPU skinning. Useful for integrating Morphing with skeletons in same mesh
972
972
  */
973
- setPositionsForCPUSkinning(): Float32Array;
973
+ setPositionsForCPUSkinning(): Nullable<Float32Array>;
974
974
  /**
975
975
  * Prepare internal normal array for software CPU skinning
976
976
  * @returns original normals used for CPU skinning. Useful for integrating Morphing with skeletons in same mesh.
977
977
  */
978
- setNormalsForCPUSkinning(): Float32Array;
978
+ setNormalsForCPUSkinning(): Nullable<Float32Array>;
979
979
  /**
980
980
  * Updates the vertex buffer by applying transformation from the bones
981
981
  * @param skeleton defines the skeleton to apply to current mesh
package/Meshes/mesh.js CHANGED
@@ -349,10 +349,12 @@ var Mesh = /** @class */ (function (_super) {
349
349
  }
350
350
  if (value && this._internalMeshDataInfo._sourcePositions) {
351
351
  // switch from software to GPU computation: we need to reset the vertex and normal buffers that have been updated by the software process
352
- this.setVerticesData(VertexBuffer.PositionKind, this._internalMeshDataInfo._sourcePositions.slice(), true);
352
+ this.setVerticesData(VertexBuffer.PositionKind, this._internalMeshDataInfo._sourcePositions, true);
353
353
  if (this._internalMeshDataInfo._sourceNormals) {
354
- this.setVerticesData(VertexBuffer.NormalKind, this._internalMeshDataInfo._sourceNormals.slice(), true);
354
+ this.setVerticesData(VertexBuffer.NormalKind, this._internalMeshDataInfo._sourceNormals, true);
355
355
  }
356
+ this._internalMeshDataInfo._sourcePositions = null;
357
+ this._internalMeshDataInfo._sourceNormals = null;
356
358
  }
357
359
  this._internalAbstractMeshDataInfo._computeBonesUsingShaders = value;
358
360
  this._markSubMeshesAsAttributesDirty();
@@ -3754,7 +3756,7 @@ var Mesh = /** @class */ (function (_super) {
3754
3756
  return runCoroutineAsync(Mesh._MergeMeshesCoroutine(meshes, disposeSource, allow32BitsIndices, meshSubclass, subdivideWithSubMeshes, multiMultiMaterials, true), createYieldingScheduler());
3755
3757
  };
3756
3758
  Mesh._MergeMeshesCoroutine = function (meshes, disposeSource, allow32BitsIndices, meshSubclass, subdivideWithSubMeshes, multiMultiMaterials, isAsync) {
3757
- var index, totalVertices, materialArray, materialIndexArray, indiceArray, mesh, material, matIndex, subIndex, subIndex, subIndex, source, getVertexDataFromMesh, _a, sourceVertexData, sourceTransform, meshVertexDatas, i, mergeCoroutine, mergeCoroutineStep, vertexData, applyToCoroutine, applyToCoroutineStep, offset, _i, _b, subMesh, newMultiMaterial, subIndex;
3759
+ var index, totalVertices, materialArray, materialIndexArray, indiceArray, currentOverrideMaterialSideOrientation, mesh, material, matIndex, subIndex, subIndex, subIndex, source, getVertexDataFromMesh, _a, sourceVertexData, sourceTransform, meshVertexDatas, i, mergeCoroutine, mergeCoroutineStep, vertexData, applyToCoroutine, applyToCoroutineStep, offset, _i, _b, subMesh, newMultiMaterial, subIndex;
3758
3760
  if (disposeSource === void 0) { disposeSource = true; }
3759
3761
  return __generator(this, function (_c) {
3760
3762
  switch (_c.label) {
@@ -3781,12 +3783,17 @@ var Mesh = /** @class */ (function (_super) {
3781
3783
  materialArray = new Array();
3782
3784
  materialIndexArray = new Array();
3783
3785
  indiceArray = new Array();
3786
+ currentOverrideMaterialSideOrientation = meshes[0].overrideMaterialSideOrientation;
3784
3787
  for (index = 0; index < meshes.length; index++) {
3785
3788
  mesh = meshes[index];
3786
3789
  if (mesh.isAnInstance) {
3787
3790
  Logger.Warn("Cannot merge instance meshes.");
3788
3791
  return [2 /*return*/, null];
3789
3792
  }
3793
+ if (currentOverrideMaterialSideOrientation !== mesh.overrideMaterialSideOrientation) {
3794
+ Logger.Warn("Cannot merge meshes with different overrideMaterialSideOrientation values.");
3795
+ return [2 /*return*/, null];
3796
+ }
3790
3797
  if (subdivideWithSubMeshes) {
3791
3798
  indiceArray.push(mesh.getTotalIndices());
3792
3799
  }
@@ -3884,6 +3891,7 @@ var Mesh = /** @class */ (function (_super) {
3884
3891
  case 14:
3885
3892
  // Setting properties
3886
3893
  meshSubclass.checkCollisions = source.checkCollisions;
3894
+ meshSubclass.overrideMaterialSideOrientation = source.overrideMaterialSideOrientation;
3887
3895
  // Cleaning
3888
3896
  if (disposeSource) {
3889
3897
  for (index = 0; index < meshes.length; index++) {