@babylonjs/core 8.37.3 → 8.39.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 (127) hide show
  1. package/Animations/animation.d.ts +3 -1
  2. package/Animations/animation.js +5 -4
  3. package/Animations/animation.js.map +1 -1
  4. package/Behaviors/Cameras/autoRotationBehavior.d.ts +4 -0
  5. package/Behaviors/Cameras/autoRotationBehavior.js +7 -0
  6. package/Behaviors/Cameras/autoRotationBehavior.js.map +1 -1
  7. package/Behaviors/Cameras/bouncingBehavior.d.ts +5 -0
  8. package/Behaviors/Cameras/bouncingBehavior.js +8 -0
  9. package/Behaviors/Cameras/bouncingBehavior.js.map +1 -1
  10. package/Behaviors/Cameras/framingBehavior.d.ts +4 -0
  11. package/Behaviors/Cameras/framingBehavior.js +7 -0
  12. package/Behaviors/Cameras/framingBehavior.js.map +1 -1
  13. package/Behaviors/Cameras/interpolatingBehavior.d.ts +7 -1
  14. package/Behaviors/Cameras/interpolatingBehavior.js +21 -6
  15. package/Behaviors/Cameras/interpolatingBehavior.js.map +1 -1
  16. package/Behaviors/Meshes/attachToBoxBehavior.d.ts +5 -0
  17. package/Behaviors/Meshes/attachToBoxBehavior.js +8 -1
  18. package/Behaviors/Meshes/attachToBoxBehavior.js.map +1 -1
  19. package/Behaviors/Meshes/baseSixDofDragBehavior.d.ts +5 -2
  20. package/Behaviors/Meshes/baseSixDofDragBehavior.js +8 -0
  21. package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
  22. package/Behaviors/Meshes/fadeInOutBehavior.d.ts +5 -0
  23. package/Behaviors/Meshes/fadeInOutBehavior.js +6 -0
  24. package/Behaviors/Meshes/fadeInOutBehavior.js.map +1 -1
  25. package/Behaviors/Meshes/handConstraintBehavior.d.ts +5 -0
  26. package/Behaviors/Meshes/handConstraintBehavior.js +8 -0
  27. package/Behaviors/Meshes/handConstraintBehavior.js.map +1 -1
  28. package/Behaviors/Meshes/multiPointerScaleBehavior.d.ts +5 -0
  29. package/Behaviors/Meshes/multiPointerScaleBehavior.js +8 -0
  30. package/Behaviors/Meshes/multiPointerScaleBehavior.js.map +1 -1
  31. package/Behaviors/Meshes/sixDofDragBehavior.js +1 -1
  32. package/Behaviors/Meshes/sixDofDragBehavior.js.map +1 -1
  33. package/Behaviors/Meshes/surfaceMagnetismBehavior.d.ts +5 -0
  34. package/Behaviors/Meshes/surfaceMagnetismBehavior.js +7 -0
  35. package/Behaviors/Meshes/surfaceMagnetismBehavior.js.map +1 -1
  36. package/Behaviors/behavior.d.ts +4 -0
  37. package/Behaviors/behavior.js.map +1 -1
  38. package/Cameras/Inputs/geospatialCameraPointersInput.js +3 -5
  39. package/Cameras/Inputs/geospatialCameraPointersInput.js.map +1 -1
  40. package/Cameras/geospatialCamera.d.ts +19 -1
  41. package/Cameras/geospatialCamera.js +117 -28
  42. package/Cameras/geospatialCamera.js.map +1 -1
  43. package/Cameras/geospatialCameraMovement.d.ts +7 -2
  44. package/Cameras/geospatialCameraMovement.js +46 -10
  45. package/Cameras/geospatialCameraMovement.js.map +1 -1
  46. package/Engines/WebGPU/Extensions/engine.multiRender.d.ts +2 -1
  47. package/Engines/WebGPU/Extensions/engine.multiRender.js +5 -2
  48. package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
  49. package/Engines/WebGPU/webgpuTextureHelper.d.ts +1 -0
  50. package/Engines/WebGPU/webgpuTextureHelper.js +11 -0
  51. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  52. package/Engines/WebGPU/webgpuTextureManager.d.ts +1 -0
  53. package/Engines/WebGPU/webgpuTextureManager.js +100 -9
  54. package/Engines/WebGPU/webgpuTextureManager.js.map +1 -1
  55. package/Engines/abstractEngine.js +2 -2
  56. package/Engines/abstractEngine.js.map +1 -1
  57. package/Engines/renderTargetWrapper.js +6 -1
  58. package/Engines/renderTargetWrapper.js.map +1 -1
  59. package/Engines/thinEngine.js +1 -1
  60. package/Engines/thinEngine.js.map +1 -1
  61. package/Engines/webgpuEngine.d.ts +7 -4
  62. package/Engines/webgpuEngine.js +45 -16
  63. package/Engines/webgpuEngine.js.map +1 -1
  64. package/FrameGraph/Node/nodeRenderGraph.d.ts +22 -5
  65. package/FrameGraph/Node/nodeRenderGraph.js +39 -18
  66. package/FrameGraph/Node/nodeRenderGraph.js.map +1 -1
  67. package/FrameGraph/Passes/pass.d.ts +2 -0
  68. package/FrameGraph/Passes/pass.js +2 -0
  69. package/FrameGraph/Passes/pass.js.map +1 -1
  70. package/FrameGraph/Passes/renderPass.d.ts +2 -0
  71. package/FrameGraph/Passes/renderPass.js +4 -0
  72. package/FrameGraph/Passes/renderPass.js.map +1 -1
  73. package/FrameGraph/frameGraph.d.ts +13 -4
  74. package/FrameGraph/frameGraph.js +45 -5
  75. package/FrameGraph/frameGraph.js.map +1 -1
  76. package/FrameGraph/frameGraphRenderTarget.d.ts +1 -0
  77. package/FrameGraph/frameGraphRenderTarget.js +3 -0
  78. package/FrameGraph/frameGraphRenderTarget.js.map +1 -1
  79. package/FrameGraph/frameGraphTask.d.ts +6 -0
  80. package/FrameGraph/frameGraphTask.js +15 -0
  81. package/FrameGraph/frameGraphTask.js.map +1 -1
  82. package/FrameGraph/frameGraphTypes.d.ts +2 -0
  83. package/FrameGraph/frameGraphTypes.js.map +1 -1
  84. package/Helpers/sceneHelpers.js +1 -1
  85. package/Helpers/sceneHelpers.js.map +1 -1
  86. package/Lights/index.d.ts +1 -0
  87. package/Lights/index.js +1 -0
  88. package/Lights/index.js.map +1 -1
  89. package/Lights/lightingVolume.d.ts +89 -0
  90. package/Lights/lightingVolume.js +426 -0
  91. package/Lights/lightingVolume.js.map +1 -0
  92. package/Materials/Node/nodeMaterial.js +8 -2
  93. package/Materials/Node/nodeMaterial.js.map +1 -1
  94. package/Materials/floatingOriginMatrixOverrides.js +6 -5
  95. package/Materials/floatingOriginMatrixOverrides.js.map +1 -1
  96. package/Meshes/mesh.js +1 -1
  97. package/Meshes/mesh.js.map +1 -1
  98. package/Misc/screenshotTools.js +2 -8
  99. package/Misc/screenshotTools.js.map +1 -1
  100. package/Particles/Node/Blocks/index.d.ts +1 -0
  101. package/Particles/Node/Blocks/index.js +1 -0
  102. package/Particles/Node/Blocks/index.js.map +1 -1
  103. package/Particles/Node/Blocks/particleFloatToIntBlock.d.ts +46 -0
  104. package/Particles/Node/Blocks/particleFloatToIntBlock.js +120 -0
  105. package/Particles/Node/Blocks/particleFloatToIntBlock.js.map +1 -0
  106. package/Particles/Node/Blocks/systemBlock.d.ts +4 -4
  107. package/Particles/Node/Blocks/systemBlock.js +22 -16
  108. package/Particles/Node/Blocks/systemBlock.js.map +1 -1
  109. package/Particles/Node/nodeParticleBuildState.js +1 -1
  110. package/Particles/Node/nodeParticleBuildState.js.map +1 -1
  111. package/Particles/Node/nodeParticleSystemSet.helper.js +61 -30
  112. package/Particles/Node/nodeParticleSystemSet.helper.js.map +1 -1
  113. package/Particles/solidParticle.d.ts +9 -0
  114. package/Particles/solidParticle.js +11 -0
  115. package/Particles/solidParticle.js.map +1 -1
  116. package/Particles/solidParticleSystem.d.ts +28 -0
  117. package/Particles/solidParticleSystem.js +75 -0
  118. package/Particles/solidParticleSystem.js.map +1 -1
  119. package/Particles/thinParticleSystem.d.ts +6 -0
  120. package/Particles/thinParticleSystem.js +21 -12
  121. package/Particles/thinParticleSystem.js.map +1 -1
  122. package/ShadersWGSL/lightingVolume.compute.d.ts +5 -0
  123. package/ShadersWGSL/lightingVolume.compute.js +27 -0
  124. package/ShadersWGSL/lightingVolume.compute.js.map +1 -0
  125. package/package.json +1 -1
  126. package/scene.js +6 -4
  127. package/scene.js.map +1 -1
@@ -0,0 +1,5 @@
1
+ /** @internal */
2
+ export declare const lightingVolumeComputeShaderWGSL: {
3
+ name: string;
4
+ shader: string;
5
+ };
@@ -0,0 +1,27 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "../Engines/shaderStore.js";
3
+ const name = "lightingVolumeComputeShader";
4
+ const shader = `struct Params {invViewProjMatrix : mat4x4f,
5
+ startVertexIndex: u32,
6
+ step: f32,
7
+ tesselation: u32,};@group(0) @binding(0) var shadowMap : texture_2d<f32>;@group(0) @binding(1) var<uniform> params : Params;@group(0) @binding(2) var<storage,read_write> positions : array<f32>;@compute @workgroup_size(8,8,1)
8
+ fn main(@builtin(global_invocation_id) global_id : vec3u) {let coord=global_id.xy;
9
+ #ifdef KEEP_EDGES
10
+ if (any(coord>=vec2u(params.tesselation)) || any(coord<=vec2u(0))) {
11
+ #else
12
+ if (any(coord>=vec2u(params.tesselation+1))) {
13
+ #endif
14
+ return;}
15
+ let stepY=floor(params.step*f32(coord.y));let depthCoord=vec2u(u32(floor(f32(coord.x)*params.step)),u32(stepY));var depth=textureLoad(shadowMap,depthCoord,0).r;
16
+ #ifdef MOVE_FAR_DEPTH_TO_NEAR
17
+ if (depth==1.0) {depth=0.0;}
18
+ #endif
19
+ let halfTesselation=f32(params.tesselation>>1);let ndc=vec4f((f32(coord.x)-halfTesselation)/halfTesselation,(f32(coord.y)-halfTesselation)/halfTesselation,depth,1.0);var worldCoords=params.invViewProjMatrix*ndc;let idx=params.startVertexIndex+(coord.y*(params.tesselation+1)+coord.x)*3;positions[idx]=worldCoords.x/worldCoords.w;positions[idx+1]=worldCoords.y/worldCoords.w;positions[idx+2]=worldCoords.z/worldCoords.w;}
20
+ `;
21
+ // Sideeffect
22
+ if (!ShaderStore.ShadersStoreWGSL[name]) {
23
+ ShaderStore.ShadersStoreWGSL[name] = shader;
24
+ }
25
+ /** @internal */
26
+ export const lightingVolumeComputeShaderWGSL = { name, shader };
27
+ //# sourceMappingURL=lightingVolume.compute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lightingVolume.compute.js","sourceRoot":"","sources":["../../../../dev/core/src/ShadersWGSL/lightingVolume.compute.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,IAAI,GAAG,6BAA6B,CAAC;AAC3C,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;CAgBd,CAAC;AACF,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;IACtC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAChD,CAAC;AACD,gBAAgB;AAChB,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../Engines/shaderStore\";\n\nconst name = \"lightingVolumeComputeShader\";\nconst shader = `struct Params {invViewProjMatrix : mat4x4f,\nstartVertexIndex: u32,\nstep: f32,\ntesselation: u32,};@group(0) @binding(0) var shadowMap : texture_2d<f32>;@group(0) @binding(1) var<uniform> params : Params;@group(0) @binding(2) var<storage,read_write> positions : array<f32>;@compute @workgroup_size(8,8,1)\nfn main(@builtin(global_invocation_id) global_id : vec3u) {let coord=global_id.xy;\n#ifdef KEEP_EDGES\nif (any(coord>=vec2u(params.tesselation)) || any(coord<=vec2u(0))) {\n#else\nif (any(coord>=vec2u(params.tesselation+1))) {\n#endif\nreturn;}\nlet stepY=floor(params.step*f32(coord.y));let depthCoord=vec2u(u32(floor(f32(coord.x)*params.step)),u32(stepY));var depth=textureLoad(shadowMap,depthCoord,0).r;\n#ifdef MOVE_FAR_DEPTH_TO_NEAR\nif (depth==1.0) {depth=0.0;}\n#endif\nlet halfTesselation=f32(params.tesselation>>1);let ndc=vec4f((f32(coord.x)-halfTesselation)/halfTesselation,(f32(coord.y)-halfTesselation)/halfTesselation,depth,1.0);var worldCoords=params.invViewProjMatrix*ndc;let idx=params.startVertexIndex+(coord.y*(params.tesselation+1)+coord.x)*3;positions[idx]=worldCoords.x/worldCoords.w;positions[idx+1]=worldCoords.y/worldCoords.w;positions[idx+2]=worldCoords.z/worldCoords.w;}\n`;\n// Sideeffect\nif (!ShaderStore.ShadersStoreWGSL[name]) {\n ShaderStore.ShadersStoreWGSL[name] = shader;\n}\n/** @internal */\nexport const lightingVolumeComputeShaderWGSL = { name, shader };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babylonjs/core",
3
- "version": "8.37.3",
3
+ "version": "8.39.0",
4
4
  "main": "index.js",
5
5
  "module": "index.js",
6
6
  "types": "index.d.ts",
package/scene.js CHANGED
@@ -4746,10 +4746,12 @@ export class Scene {
4746
4746
  Vector3.CheckExtends(minBox, min, max);
4747
4747
  Vector3.CheckExtends(maxBox, min, max);
4748
4748
  }
4749
- return {
4750
- min: min,
4751
- max: max,
4752
- };
4749
+ return min.x === Number.MAX_VALUE
4750
+ ? { min: Vector3.Zero(), max: Vector3.Zero() }
4751
+ : {
4752
+ min: min,
4753
+ max: max,
4754
+ };
4753
4755
  }
4754
4756
  // Picking
4755
4757
  // eslint-disable-next-line jsdoc/require-returns-check