@babylonjs/core 5.28.0 → 5.30.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 (154) hide show
  1. package/Actions/actionManager.js +2 -0
  2. package/Actions/actionManager.js.map +1 -1
  3. package/Cameras/camera.js +4 -4
  4. package/Cameras/camera.js.map +1 -1
  5. package/Collisions/pickingInfo.d.ts +1 -2
  6. package/Collisions/pickingInfo.js +7 -4
  7. package/Collisions/pickingInfo.js.map +1 -1
  8. package/Culling/ray.d.ts +1 -1
  9. package/Culling/ray.js +5 -6
  10. package/Culling/ray.js.map +1 -1
  11. package/Debug/debugLayer.d.ts +5 -0
  12. package/Debug/debugLayer.js.map +1 -1
  13. package/Engines/Extensions/engine.renderTarget.js +5 -1
  14. package/Engines/Extensions/engine.renderTarget.js.map +1 -1
  15. package/Engines/Extensions/engine.videoTexture.js +6 -3
  16. package/Engines/Extensions/engine.videoTexture.js.map +1 -1
  17. package/Engines/WebGPU/Extensions/engine.renderTarget.js +4 -1
  18. package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
  19. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +2 -0
  20. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  21. package/Engines/WebGPU/webgpuShaderProcessor.js +3 -7
  22. package/Engines/WebGPU/webgpuShaderProcessor.js.map +1 -1
  23. package/Engines/WebGPU/webgpuTextureHelper.js +2 -0
  24. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  25. package/Engines/WebGPU/webgpuTintWASM.d.ts +1 -0
  26. package/Engines/WebGPU/webgpuTintWASM.js +7 -1
  27. package/Engines/WebGPU/webgpuTintWASM.js.map +1 -1
  28. package/Engines/constants.d.ts +4 -0
  29. package/Engines/constants.js +4 -0
  30. package/Engines/constants.js.map +1 -1
  31. package/Engines/engine.d.ts +45 -12
  32. package/Engines/renderTargetWrapper.d.ts +2 -1
  33. package/Engines/renderTargetWrapper.js +1 -0
  34. package/Engines/renderTargetWrapper.js.map +1 -1
  35. package/Engines/thinEngine.js +6 -3
  36. package/Engines/thinEngine.js.map +1 -1
  37. package/Engines/webgpuEngine.d.ts +0 -2
  38. package/Engines/webgpuEngine.js +15 -14
  39. package/Engines/webgpuEngine.js.map +1 -1
  40. package/Events/pointerEvents.d.ts +11 -6
  41. package/Events/pointerEvents.js +24 -6
  42. package/Events/pointerEvents.js.map +1 -1
  43. package/IAccessibilityTag.d.ts +29 -0
  44. package/IAccessibilityTag.js +2 -0
  45. package/IAccessibilityTag.js.map +1 -0
  46. package/Inputs/scene.inputManager.d.ts +9 -1
  47. package/Inputs/scene.inputManager.js +83 -37
  48. package/Inputs/scene.inputManager.js.map +1 -1
  49. package/Layers/effectLayer.js +2 -6
  50. package/Layers/effectLayer.js.map +1 -1
  51. package/Materials/Node/Blocks/Fragment/heightToNormalBlock.d.ts +24 -3
  52. package/Materials/Node/Blocks/Fragment/heightToNormalBlock.js +92 -21
  53. package/Materials/Node/Blocks/Fragment/heightToNormalBlock.js.map +1 -1
  54. package/Materials/PBR/pbrMetallicRoughnessMaterial.d.ts +1 -1
  55. package/Materials/PBR/pbrMetallicRoughnessMaterial.js +1 -1
  56. package/Materials/PBR/pbrMetallicRoughnessMaterial.js.map +1 -1
  57. package/Materials/Textures/htmlElementTexture.d.ts +5 -0
  58. package/Materials/Textures/htmlElementTexture.js +4 -1
  59. package/Materials/Textures/htmlElementTexture.js.map +1 -1
  60. package/Materials/Textures/renderTargetTexture.d.ts +1 -1
  61. package/Materials/Textures/renderTargetTexture.js +2 -2
  62. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  63. package/Materials/Textures/videoTexture.d.ts +6 -1
  64. package/Materials/Textures/videoTexture.js +7 -2
  65. package/Materials/Textures/videoTexture.js.map +1 -1
  66. package/Maths/math.vector.d.ts +460 -337
  67. package/Maths/math.vector.js +370 -184
  68. package/Maths/math.vector.js.map +1 -1
  69. package/Meshes/Builders/decalBuilder.d.ts +8 -0
  70. package/Meshes/Builders/decalBuilder.js +270 -51
  71. package/Meshes/Builders/decalBuilder.js.map +1 -1
  72. package/Meshes/mesh.d.ts +1 -1
  73. package/Meshes/mesh.js +42 -1
  74. package/Meshes/mesh.js.map +1 -1
  75. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.d.ts +17 -4
  76. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js +49 -9
  77. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js.map +1 -1
  78. package/Misc/iInspectable.d.ts +5 -1
  79. package/Misc/iInspectable.js +4 -0
  80. package/Misc/iInspectable.js.map +1 -1
  81. package/Misc/index.d.ts +1 -1
  82. package/Misc/index.js +1 -1
  83. package/Misc/index.js.map +1 -1
  84. package/Misc/khronosTextureContainer2.js +41 -46
  85. package/Misc/khronosTextureContainer2.js.map +1 -1
  86. package/Misc/observable.js +4 -4
  87. package/Misc/observable.js.map +1 -1
  88. package/Misc/pressureObserverWrapper.d.ts +36 -0
  89. package/Misc/pressureObserverWrapper.js +68 -0
  90. package/Misc/pressureObserverWrapper.js.map +1 -0
  91. package/Misc/screenshotTools.js +0 -1
  92. package/Misc/screenshotTools.js.map +1 -1
  93. package/Particles/particleSystem.d.ts +4 -0
  94. package/Particles/particleSystem.js +12 -4
  95. package/Particles/particleSystem.js.map +1 -1
  96. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.d.ts +14 -8
  97. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js +16 -6
  98. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
  99. package/PostProcesses/blurPostProcess.d.ts +2 -1
  100. package/PostProcesses/blurPostProcess.js +3 -2
  101. package/PostProcesses/blurPostProcess.js.map +1 -1
  102. package/PostProcesses/circleOfConfusionPostProcess.js +2 -1
  103. package/PostProcesses/circleOfConfusionPostProcess.js.map +1 -1
  104. package/PostProcesses/depthOfFieldBlurPostProcess.d.ts +2 -1
  105. package/PostProcesses/depthOfFieldBlurPostProcess.js +3 -5
  106. package/PostProcesses/depthOfFieldBlurPostProcess.js.map +1 -1
  107. package/PostProcesses/depthOfFieldEffect.js +9 -4
  108. package/PostProcesses/depthOfFieldEffect.js.map +1 -1
  109. package/PostProcesses/depthOfFieldMergePostProcess.js.map +1 -1
  110. package/PostProcesses/postProcess.js +4 -4
  111. package/PostProcesses/postProcess.js.map +1 -1
  112. package/PostProcesses/volumetricLightScatteringPostProcess.js +2 -6
  113. package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
  114. package/Rendering/depthPeelingRenderer.js +4 -0
  115. package/Rendering/depthPeelingRenderer.js.map +1 -1
  116. package/Rendering/depthRenderer.js +2 -6
  117. package/Rendering/depthRenderer.js.map +1 -1
  118. package/Rendering/geometryBufferRenderer.js +2 -6
  119. package/Rendering/geometryBufferRenderer.js.map +1 -1
  120. package/Rendering/renderingGroup.d.ts +4 -0
  121. package/Rendering/renderingGroup.js +7 -1
  122. package/Rendering/renderingGroup.js.map +1 -1
  123. package/Rendering/renderingManager.d.ts +8 -0
  124. package/Rendering/renderingManager.js +18 -0
  125. package/Rendering/renderingManager.js.map +1 -1
  126. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +18 -13
  127. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
  128. package/Shaders/circleOfConfusion.fragment.js +1 -1
  129. package/Shaders/circleOfConfusion.fragment.js.map +1 -1
  130. package/Shaders/depthOfFieldMerge.fragment.js +1 -1
  131. package/Shaders/depthOfFieldMerge.fragment.js.map +1 -1
  132. package/Shaders/fxaa.fragment.js +10 -5
  133. package/Shaders/fxaa.fragment.js.map +1 -1
  134. package/Shaders/kernelBlur.fragment.js +2 -2
  135. package/Shaders/kernelBlur.fragment.js.map +1 -1
  136. package/Shaders/particles.vertex.js +4 -1
  137. package/Shaders/particles.vertex.js.map +1 -1
  138. package/Shaders/spriteMap.fragment.js +7 -2
  139. package/Shaders/spriteMap.fragment.js.map +1 -1
  140. package/XR/features/WebXRControllerPointerSelection.js +1 -0
  141. package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
  142. package/XR/features/WebXRNearInteraction.js.map +1 -1
  143. package/XR/webXRRenderTargetTextureProvider.js +1 -0
  144. package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
  145. package/node.d.ts +8 -0
  146. package/node.js +13 -1
  147. package/node.js.map +1 -1
  148. package/package.json +1 -1
  149. package/scene.d.ts +6 -8
  150. package/scene.js +11 -30
  151. package/scene.js.map +1 -1
  152. package/Misc/computePressure.d.ts +0 -57
  153. package/Misc/computePressure.js +0 -48
  154. package/Misc/computePressure.js.map +0 -1
@@ -163,7 +163,6 @@ export declare class WebGPUEngine extends Engine {
163
163
  _device: GPUDevice;
164
164
  private _deviceEnabledExtensions;
165
165
  private _context;
166
- private _swapChainTexture;
167
166
  private _mainPassSampleCount;
168
167
  /** @internal */
169
168
  _textureHelper: WebGPUTextureHelper;
@@ -207,7 +206,6 @@ export declare class WebGPUEngine extends Engine {
207
206
  */
208
207
  numMaxUncapturedErrors: number;
209
208
  private _mainTexture;
210
- private _mainTextureLastCopy;
211
209
  private _depthTexture;
212
210
  private _mainTextureExtends;
213
211
  private _depthTextureFormat;
@@ -556,10 +556,10 @@ export class WebGPUEngine extends Engine {
556
556
  }
557
557
  // Set default values as WebGL with depth and stencil attachment for the broadest Compat.
558
558
  _initializeMainAttachments() {
559
- var _a;
560
559
  if (!this._bufferManager) {
561
560
  return;
562
561
  }
562
+ this.flushFramebuffer(false);
563
563
  this._mainTextureExtends = {
564
564
  width: this.getRenderWidth(),
565
565
  height: this.getRenderHeight(),
@@ -571,6 +571,7 @@ export class WebGPUEngine extends Engine {
571
571
  let mainColorAttachments;
572
572
  if (this._options.antialiasing) {
573
573
  const mainTextureDescriptor = {
574
+ label: "Texture_MainColor_antialiasing",
574
575
  size: this._mainTextureExtends,
575
576
  mipLevelCount: 1,
576
577
  sampleCount: this._mainPassSampleCount,
@@ -578,7 +579,9 @@ export class WebGPUEngine extends Engine {
578
579
  format: this._options.swapChainFormat,
579
580
  usage: WebGPUConstants.TextureUsage.RenderAttachment,
580
581
  };
581
- (_a = this._mainTexture) === null || _a === void 0 ? void 0 : _a.destroy();
582
+ if (this._mainTexture) {
583
+ this._textureHelper.releaseTexture(this._mainTexture);
584
+ }
582
585
  this._mainTexture = this._device.createTexture(mainTextureDescriptor);
583
586
  mainColorAttachments = [
584
587
  {
@@ -602,6 +605,7 @@ export class WebGPUEngine extends Engine {
602
605
  this._mainRenderPassWrapper.depthTextureFormat = this.isStencilEnable ? WebGPUConstants.TextureFormat.Depth24PlusStencil8 : WebGPUConstants.TextureFormat.Depth32Float;
603
606
  this._setDepthTextureFormat(this._mainRenderPassWrapper);
604
607
  const depthTextureDescriptor = {
608
+ label: "Texture_MainDepthStencil",
605
609
  size: this._mainTextureExtends,
606
610
  mipLevelCount: 1,
607
611
  sampleCount: this._mainPassSampleCount,
@@ -610,7 +614,7 @@ export class WebGPUEngine extends Engine {
610
614
  usage: WebGPUConstants.TextureUsage.RenderAttachment,
611
615
  };
612
616
  if (this._depthTexture) {
613
- this._depthTexture.destroy();
617
+ this._textureHelper.releaseTexture(this._depthTexture);
614
618
  }
615
619
  this._depthTexture = this._device.createTexture(depthTextureDescriptor);
616
620
  const mainDepthAttachment = {
@@ -626,9 +630,6 @@ export class WebGPUEngine extends Engine {
626
630
  colorAttachments: mainColorAttachments,
627
631
  depthStencilAttachment: mainDepthAttachment,
628
632
  };
629
- if (this._mainRenderPassWrapper.renderPass !== null) {
630
- this._endMainRenderPass();
631
- }
632
633
  }
633
634
  _configureContext() {
634
635
  this._context.configure({
@@ -1214,6 +1215,7 @@ export class WebGPUEngine extends Engine {
1214
1215
  console.log(defines);
1215
1216
  console.log(vertexSourceCode);
1216
1217
  console.log(fragmentSourceCode);
1218
+ console.log("***********************************************");
1217
1219
  }
1218
1220
  webGpuContext.sources = {
1219
1221
  fragment: fragmentSourceCode,
@@ -2087,7 +2089,7 @@ export class WebGPUEngine extends Engine {
2087
2089
  _startMainRenderPass(setClearStates, clearColor, clearDepth, clearStencil) {
2088
2090
  var _a, _b, _c;
2089
2091
  if (this._mainRenderPassWrapper.renderPass) {
2090
- this._endMainRenderPass();
2092
+ this.flushFramebuffer(false);
2091
2093
  }
2092
2094
  if (this.useReverseDepthBuffer) {
2093
2095
  this.setDepthFunctionToGreaterOrEqual();
@@ -2110,14 +2112,14 @@ export class WebGPUEngine extends Engine {
2110
2112
  ? WebGPUConstants.LoadOp.Clear
2111
2113
  : WebGPUConstants.LoadOp.Load;
2112
2114
  this._mainRenderPassWrapper.renderPassDescriptor.occlusionQuerySet = ((_a = this._occlusionQuery) === null || _a === void 0 ? void 0 : _a.hasQueries) ? this._occlusionQuery.querySet : undefined;
2113
- this._swapChainTexture = this._context.getCurrentTexture();
2114
- this._mainRenderPassWrapper.colorAttachmentGPUTextures[0].set(this._swapChainTexture);
2115
+ const swapChainTexture = this._context.getCurrentTexture();
2116
+ this._mainRenderPassWrapper.colorAttachmentGPUTextures[0].set(swapChainTexture);
2115
2117
  // Resolve in case of MSAA
2116
2118
  if (this._options.antialiasing) {
2117
- this._mainRenderPassWrapper.renderPassDescriptor.colorAttachments[0].resolveTarget = this._swapChainTexture.createView();
2119
+ this._mainRenderPassWrapper.renderPassDescriptor.colorAttachments[0].resolveTarget = swapChainTexture.createView();
2118
2120
  }
2119
2121
  else {
2120
- this._mainRenderPassWrapper.renderPassDescriptor.colorAttachments[0].view = this._swapChainTexture.createView();
2122
+ this._mainRenderPassWrapper.renderPassDescriptor.colorAttachments[0].view = swapChainTexture.createView();
2121
2123
  }
2122
2124
  if (this.dbgVerboseLogsForFirstFrames) {
2123
2125
  if (this._count === undefined) {
@@ -2527,10 +2529,9 @@ export class WebGPUEngine extends Engine {
2527
2529
  * Dispose and release all associated resources
2528
2530
  */
2529
2531
  dispose() {
2530
- var _a, _b, _c;
2532
+ var _a, _b;
2531
2533
  (_a = this._mainTexture) === null || _a === void 0 ? void 0 : _a.destroy();
2532
- (_b = this._mainTextureLastCopy) === null || _b === void 0 ? void 0 : _b.destroy();
2533
- (_c = this._depthTexture) === null || _c === void 0 ? void 0 : _c.destroy();
2534
+ (_b = this._depthTexture) === null || _b === void 0 ? void 0 : _b.destroy();
2534
2535
  super.dispose();
2535
2536
  }
2536
2537
  //------------------------------------------------------------------------------