@babylonjs/core 5.50.1 → 5.52.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 (118) hide show
  1. package/Animations/animatable.d.ts +5 -3
  2. package/Animations/animatable.js +10 -7
  3. package/Animations/animatable.js.map +1 -1
  4. package/Animations/animationGroup.js +3 -1
  5. package/Animations/animationGroup.js.map +1 -1
  6. package/Animations/runtimeAnimation.d.ts +1 -0
  7. package/Animations/runtimeAnimation.js +1 -0
  8. package/Animations/runtimeAnimation.js.map +1 -1
  9. package/Cameras/Inputs/freeCameraKeyboardMoveInput.d.ts +8 -0
  10. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +28 -2
  11. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
  12. package/Cameras/freeCamera.d.ts +10 -0
  13. package/Cameras/freeCamera.js +32 -0
  14. package/Cameras/freeCamera.js.map +1 -1
  15. package/Cameras/targetCamera.js +4 -1
  16. package/Cameras/targetCamera.js.map +1 -1
  17. package/Engines/engineCapabilities.d.ts +2 -0
  18. package/Engines/engineCapabilities.js.map +1 -1
  19. package/Engines/nativeEngine.js +1 -0
  20. package/Engines/nativeEngine.js.map +1 -1
  21. package/Engines/nullEngine.js +1 -0
  22. package/Engines/nullEngine.js.map +1 -1
  23. package/Engines/thinEngine.js +3 -2
  24. package/Engines/thinEngine.js.map +1 -1
  25. package/Engines/webgpuEngine.js +1 -0
  26. package/Engines/webgpuEngine.js.map +1 -1
  27. package/Inputs/scene.inputManager.d.ts +6 -3
  28. package/Inputs/scene.inputManager.js +67 -12
  29. package/Inputs/scene.inputManager.js.map +1 -1
  30. package/Materials/Node/Blocks/Dual/sceneDepthBlock.d.ts +4 -0
  31. package/Materials/Node/Blocks/Dual/sceneDepthBlock.js +37 -2
  32. package/Materials/Node/Blocks/Dual/sceneDepthBlock.js.map +1 -1
  33. package/Materials/Node/nodeMaterialDecorator.d.ts +1 -1
  34. package/Materials/Node/nodeMaterialDecorator.js.map +1 -1
  35. package/Materials/PBR/pbrMaterial.js +1 -0
  36. package/Materials/PBR/pbrMaterial.js.map +1 -1
  37. package/Materials/Textures/cubeTexture.js +7 -1
  38. package/Materials/Textures/cubeTexture.js.map +1 -1
  39. package/Meshes/mesh.js +2 -2
  40. package/Meshes/mesh.js.map +1 -1
  41. package/Meshes/mesh.vertexData.d.ts +4 -1
  42. package/Meshes/mesh.vertexData.js +21 -17
  43. package/Meshes/mesh.vertexData.js.map +1 -1
  44. package/Misc/decorators.d.ts +8 -0
  45. package/Misc/decorators.js +22 -12
  46. package/Misc/decorators.js.map +1 -1
  47. package/Misc/environmentTextureTools.js +7 -0
  48. package/Misc/environmentTextureTools.js.map +1 -1
  49. package/Misc/khronosTextureContainer.js +4 -0
  50. package/Misc/khronosTextureContainer.js.map +1 -1
  51. package/Misc/observable.js +3 -0
  52. package/Misc/observable.js.map +1 -1
  53. package/Misc/sceneRecorder.js +3 -0
  54. package/Misc/sceneRecorder.js.map +1 -1
  55. package/Misc/virtualJoystick.js +2 -2
  56. package/Misc/virtualJoystick.js.map +1 -1
  57. package/Morph/morphTargetManager.js +7 -1
  58. package/Morph/morphTargetManager.js.map +1 -1
  59. package/Particles/gpuParticleSystem.js +18 -14
  60. package/Particles/gpuParticleSystem.js.map +1 -1
  61. package/Physics/v2/IPhysicsEnginePlugin.d.ts +126 -19
  62. package/Physics/v2/IPhysicsEnginePlugin.js +6 -0
  63. package/Physics/v2/IPhysicsEnginePlugin.js.map +1 -1
  64. package/Physics/v2/physicsAggregate.d.ts +7 -1
  65. package/Physics/v2/physicsAggregate.js +21 -7
  66. package/Physics/v2/physicsAggregate.js.map +1 -1
  67. package/Physics/v2/physicsBody.d.ts +24 -15
  68. package/Physics/v2/physicsBody.js +46 -20
  69. package/Physics/v2/physicsBody.js.map +1 -1
  70. package/Physics/v2/physicsEngineComponent.d.ts +10 -0
  71. package/Physics/v2/physicsEngineComponent.js +27 -0
  72. package/Physics/v2/physicsEngineComponent.js.map +1 -1
  73. package/Physics/v2/physicsMaterial.d.ts +52 -46
  74. package/Physics/v2/physicsMaterial.js +23 -80
  75. package/Physics/v2/physicsMaterial.js.map +1 -1
  76. package/Physics/v2/physicsShape.d.ts +27 -2
  77. package/Physics/v2/physicsShape.js +52 -1
  78. package/Physics/v2/physicsShape.js.map +1 -1
  79. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.d.ts +59 -13
  80. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +131 -56
  81. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
  82. package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.d.ts +65 -13
  83. package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.js +218 -80
  84. package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.js.map +1 -1
  85. package/Rendering/depthRenderer.js +1 -1
  86. package/Rendering/depthRenderer.js.map +1 -1
  87. package/Rendering/depthRendererSceneComponent.d.ts +2 -1
  88. package/Rendering/depthRendererSceneComponent.js +2 -2
  89. package/Rendering/depthRendererSceneComponent.js.map +1 -1
  90. package/Rendering/geometryBufferRenderer.d.ts +8 -2
  91. package/Rendering/geometryBufferRenderer.js +32 -10
  92. package/Rendering/geometryBufferRenderer.js.map +1 -1
  93. package/Rendering/prePassRenderer.d.ts +18 -2
  94. package/Rendering/prePassRenderer.js +72 -26
  95. package/Rendering/prePassRenderer.js.map +1 -1
  96. package/Shaders/ShadersInclude/screenSpaceRayTrace.js +3 -3
  97. package/Shaders/ShadersInclude/screenSpaceRayTrace.js.map +1 -1
  98. package/Shaders/geometry.fragment.js +2 -2
  99. package/Shaders/geometry.fragment.js.map +1 -1
  100. package/Shaders/screenSpaceReflection2.fragment.js +20 -10
  101. package/Shaders/screenSpaceReflection2.fragment.js.map +1 -1
  102. package/Shaders/screenSpaceReflection2Blur.fragment.js +1 -1
  103. package/Shaders/screenSpaceReflection2Blur.fragment.js.map +1 -1
  104. package/Shaders/screenSpaceReflection2BlurCombiner.fragment.js +9 -2
  105. package/Shaders/screenSpaceReflection2BlurCombiner.fragment.js.map +1 -1
  106. package/Shaders/sprites.fragment.js +6 -1
  107. package/Shaders/sprites.fragment.js.map +1 -1
  108. package/Shaders/ssao2.fragment.js +0 -2
  109. package/Shaders/ssao2.fragment.js.map +1 -1
  110. package/Sprites/spriteManager.d.ts +7 -0
  111. package/Sprites/spriteManager.js +27 -0
  112. package/Sprites/spriteManager.js.map +1 -1
  113. package/Sprites/spriteRenderer.d.ts +8 -0
  114. package/Sprites/spriteRenderer.js +42 -19
  115. package/Sprites/spriteRenderer.js.map +1 -1
  116. package/assetContainer.js +5 -1
  117. package/assetContainer.js.map +1 -1
  118. package/package.json +1 -1
@@ -209,7 +209,10 @@ export declare class VertexData {
209
209
  /**
210
210
  * @internal
211
211
  */
212
- _mergeCoroutine(transform: Matrix | undefined, vertexDatas: (readonly [vertexData: VertexData, transform?: Matrix])[], use32BitsIndices: boolean | undefined, isAsync: boolean, forceCloneIndices: boolean): Coroutine<VertexData>;
212
+ _mergeCoroutine(transform: Matrix | undefined, vertexDatas: {
213
+ vertexData: VertexData;
214
+ transform?: Matrix;
215
+ }[], use32BitsIndices: boolean | undefined, isAsync: boolean, forceCloneIndices: boolean): Coroutine<VertexData>;
213
216
  private static _MergeElement;
214
217
  private _validate;
215
218
  /**
@@ -325,7 +325,11 @@ export class VertexData {
325
325
  * @returns the modified VertexData
326
326
  */
327
327
  merge(others, use32BitsIndices = false, forceCloneIndices = false) {
328
- const vertexDatas = Array.isArray(others) ? others.map((other) => [other, undefined]) : [[others, undefined]];
328
+ const vertexDatas = Array.isArray(others)
329
+ ? others.map((other) => {
330
+ return { vertexData: other };
331
+ })
332
+ : [{ vertexData: others }];
329
333
  return runCoroutineSync(this._mergeCoroutine(undefined, vertexDatas, use32BitsIndices, false, forceCloneIndices));
330
334
  }
331
335
  /**
@@ -334,7 +338,7 @@ export class VertexData {
334
338
  *_mergeCoroutine(transform, vertexDatas, use32BitsIndices = false, isAsync, forceCloneIndices) {
335
339
  var _a, _b, _c, _d;
336
340
  this._validate();
337
- const others = vertexDatas.map((vertexData) => vertexData[0]);
341
+ const others = vertexDatas.map((vertexData) => vertexData.vertexData);
338
342
  for (const other of others) {
339
343
  other._validate();
340
344
  if (!this.normals !== !other.normals ||
@@ -375,7 +379,7 @@ export class VertexData {
375
379
  }
376
380
  }
377
381
  let positionsOffset = this.positions ? this.positions.length / 3 : 0;
378
- for (const [other, transform] of vertexDatas) {
382
+ for (const { vertexData: other, transform } of vertexDatas) {
379
383
  if (other.indices) {
380
384
  for (let index = 0; index < other.indices.length; index++) {
381
385
  indices[indicesOffset + index] = other.indices[index] + positionsOffset;
@@ -393,59 +397,59 @@ export class VertexData {
393
397
  }
394
398
  }
395
399
  this.indices = indices;
396
- this.positions = VertexData._MergeElement(VertexBuffer.PositionKind, this.positions, transform, vertexDatas.map((other) => [other[0].positions, other[1]]));
400
+ this.positions = VertexData._MergeElement(VertexBuffer.PositionKind, this.positions, transform, vertexDatas.map((other) => [other.vertexData.positions, other.transform]));
397
401
  if (isAsync) {
398
402
  yield;
399
403
  }
400
- this.normals = VertexData._MergeElement(VertexBuffer.NormalKind, this.normals, transform, vertexDatas.map((other) => [other[0].normals, other[1]]));
404
+ this.normals = VertexData._MergeElement(VertexBuffer.NormalKind, this.normals, transform, vertexDatas.map((other) => [other.vertexData.normals, other.transform]));
401
405
  if (isAsync) {
402
406
  yield;
403
407
  }
404
- this.tangents = VertexData._MergeElement(VertexBuffer.TangentKind, this.tangents, transform, vertexDatas.map((other) => [other[0].tangents, other[1]]));
408
+ this.tangents = VertexData._MergeElement(VertexBuffer.TangentKind, this.tangents, transform, vertexDatas.map((other) => [other.vertexData.tangents, other.transform]));
405
409
  if (isAsync) {
406
410
  yield;
407
411
  }
408
- this.uvs = VertexData._MergeElement(VertexBuffer.UVKind, this.uvs, transform, vertexDatas.map((other) => [other[0].uvs, other[1]]));
412
+ this.uvs = VertexData._MergeElement(VertexBuffer.UVKind, this.uvs, transform, vertexDatas.map((other) => [other.vertexData.uvs, other.transform]));
409
413
  if (isAsync) {
410
414
  yield;
411
415
  }
412
- this.uvs2 = VertexData._MergeElement(VertexBuffer.UV2Kind, this.uvs2, transform, vertexDatas.map((other) => [other[0].uvs2, other[1]]));
416
+ this.uvs2 = VertexData._MergeElement(VertexBuffer.UV2Kind, this.uvs2, transform, vertexDatas.map((other) => [other.vertexData.uvs2, other.transform]));
413
417
  if (isAsync) {
414
418
  yield;
415
419
  }
416
- this.uvs3 = VertexData._MergeElement(VertexBuffer.UV3Kind, this.uvs3, transform, vertexDatas.map((other) => [other[0].uvs3, other[1]]));
420
+ this.uvs3 = VertexData._MergeElement(VertexBuffer.UV3Kind, this.uvs3, transform, vertexDatas.map((other) => [other.vertexData.uvs3, other.transform]));
417
421
  if (isAsync) {
418
422
  yield;
419
423
  }
420
- this.uvs4 = VertexData._MergeElement(VertexBuffer.UV4Kind, this.uvs4, transform, vertexDatas.map((other) => [other[0].uvs4, other[1]]));
424
+ this.uvs4 = VertexData._MergeElement(VertexBuffer.UV4Kind, this.uvs4, transform, vertexDatas.map((other) => [other.vertexData.uvs4, other.transform]));
421
425
  if (isAsync) {
422
426
  yield;
423
427
  }
424
- this.uvs5 = VertexData._MergeElement(VertexBuffer.UV5Kind, this.uvs5, transform, vertexDatas.map((other) => [other[0].uvs5, other[1]]));
428
+ this.uvs5 = VertexData._MergeElement(VertexBuffer.UV5Kind, this.uvs5, transform, vertexDatas.map((other) => [other.vertexData.uvs5, other.transform]));
425
429
  if (isAsync) {
426
430
  yield;
427
431
  }
428
- this.uvs6 = VertexData._MergeElement(VertexBuffer.UV6Kind, this.uvs6, transform, vertexDatas.map((other) => [other[0].uvs6, other[1]]));
432
+ this.uvs6 = VertexData._MergeElement(VertexBuffer.UV6Kind, this.uvs6, transform, vertexDatas.map((other) => [other.vertexData.uvs6, other.transform]));
429
433
  if (isAsync) {
430
434
  yield;
431
435
  }
432
- this.colors = VertexData._MergeElement(VertexBuffer.ColorKind, this.colors, transform, vertexDatas.map((other) => [other[0].colors, other[1]]));
436
+ this.colors = VertexData._MergeElement(VertexBuffer.ColorKind, this.colors, transform, vertexDatas.map((other) => [other.vertexData.colors, other.transform]));
433
437
  if (isAsync) {
434
438
  yield;
435
439
  }
436
- this.matricesIndices = VertexData._MergeElement(VertexBuffer.MatricesIndicesKind, this.matricesIndices, transform, vertexDatas.map((other) => [other[0].matricesIndices, other[1]]));
440
+ this.matricesIndices = VertexData._MergeElement(VertexBuffer.MatricesIndicesKind, this.matricesIndices, transform, vertexDatas.map((other) => [other.vertexData.matricesIndices, other.transform]));
437
441
  if (isAsync) {
438
442
  yield;
439
443
  }
440
- this.matricesWeights = VertexData._MergeElement(VertexBuffer.MatricesWeightsKind, this.matricesWeights, transform, vertexDatas.map((other) => [other[0].matricesWeights, other[1]]));
444
+ this.matricesWeights = VertexData._MergeElement(VertexBuffer.MatricesWeightsKind, this.matricesWeights, transform, vertexDatas.map((other) => [other.vertexData.matricesWeights, other.transform]));
441
445
  if (isAsync) {
442
446
  yield;
443
447
  }
444
- this.matricesIndicesExtra = VertexData._MergeElement(VertexBuffer.MatricesIndicesExtraKind, this.matricesIndicesExtra, transform, vertexDatas.map((other) => [other[0].matricesIndicesExtra, other[1]]));
448
+ this.matricesIndicesExtra = VertexData._MergeElement(VertexBuffer.MatricesIndicesExtraKind, this.matricesIndicesExtra, transform, vertexDatas.map((other) => [other.vertexData.matricesIndicesExtra, other.transform]));
445
449
  if (isAsync) {
446
450
  yield;
447
451
  }
448
- this.matricesWeightsExtra = VertexData._MergeElement(VertexBuffer.MatricesWeightsExtraKind, this.matricesWeightsExtra, transform, vertexDatas.map((other) => [other[0].matricesWeightsExtra, other[1]]));
452
+ this.matricesWeightsExtra = VertexData._MergeElement(VertexBuffer.MatricesWeightsExtraKind, this.matricesWeightsExtra, transform, vertexDatas.map((other) => [other.vertexData.matricesWeightsExtra, other.transform]));
449
453
  return this;
450
454
  }
451
455
  static _MergeElement(kind, source, transform, others) {