@babylonjs/core 8.28.3 → 8.29.1

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 (162) hide show
  1. package/Buffers/buffer.d.ts +4 -3
  2. package/Buffers/buffer.js +4 -3
  3. package/Buffers/buffer.js.map +1 -1
  4. package/Cameras/Inputs/BaseCameraPointersInput.js +2 -0
  5. package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
  6. package/Cameras/Inputs/geospatialCameraMouseWheelInput.d.ts +18 -0
  7. package/Cameras/Inputs/geospatialCameraMouseWheelInput.js +21 -0
  8. package/Cameras/Inputs/geospatialCameraMouseWheelInput.js.map +1 -0
  9. package/Cameras/Inputs/geospatialCameraPointersInput.d.ts +45 -0
  10. package/Cameras/Inputs/geospatialCameraPointersInput.js +119 -0
  11. package/Cameras/Inputs/geospatialCameraPointersInput.js.map +1 -0
  12. package/Cameras/Inputs/index.d.ts +2 -0
  13. package/Cameras/Inputs/index.js +2 -0
  14. package/Cameras/Inputs/index.js.map +1 -1
  15. package/Cameras/arcRotateCamera.js +7 -5
  16. package/Cameras/arcRotateCamera.js.map +1 -1
  17. package/Cameras/camera.d.ts +2 -2
  18. package/Cameras/camera.js +2 -2
  19. package/Cameras/camera.js.map +1 -1
  20. package/Cameras/geospatialCamera.d.ts +89 -0
  21. package/Cameras/geospatialCamera.js +268 -0
  22. package/Cameras/geospatialCamera.js.map +1 -0
  23. package/Cameras/geospatialCameraInputsManager.d.ts +23 -0
  24. package/Cameras/geospatialCameraInputsManager.js +33 -0
  25. package/Cameras/geospatialCameraInputsManager.js.map +1 -0
  26. package/Cameras/index.d.ts +1 -0
  27. package/Cameras/index.js +1 -0
  28. package/Cameras/index.js.map +1 -1
  29. package/Cameras/targetCamera.d.ts +12 -0
  30. package/Cameras/targetCamera.js +19 -5
  31. package/Cameras/targetCamera.js.map +1 -1
  32. package/Decorators/nodeDecorator.d.ts +7 -5
  33. package/Decorators/nodeDecorator.js +7 -5
  34. package/Decorators/nodeDecorator.js.map +1 -1
  35. package/Engines/abstractEngine.js +2 -2
  36. package/Engines/abstractEngine.js.map +1 -1
  37. package/Events/pointerEvents.d.ts +4 -0
  38. package/Events/pointerEvents.js.map +1 -1
  39. package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.js +1 -1
  40. package/FrameGraph/Node/Blocks/Layers/highlightLayerBlock.js +1 -1
  41. package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.js +1 -1
  42. package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.js +1 -1
  43. package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.js +2 -2
  44. package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.js +3 -3
  45. package/FrameGraph/Node/Blocks/PostProcesses/ssrPostProcessBlock.js +1 -1
  46. package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.d.ts +19 -2
  47. package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js +72 -4
  48. package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js.map +1 -1
  49. package/FrameGraph/Node/Blocks/Rendering/baseShadowGeneratorBlock.js +3 -3
  50. package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.js +1 -1
  51. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.d.ts +8 -3
  52. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.js +56 -34
  53. package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.js.map +1 -1
  54. package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.d.ts +0 -12
  55. package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.js +0 -45
  56. package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.js.map +1 -1
  57. package/FrameGraph/Node/Blocks/Rendering/taaObjectRendererBlock.d.ts +7 -3
  58. package/FrameGraph/Node/Blocks/Rendering/taaObjectRendererBlock.js +18 -32
  59. package/FrameGraph/Node/Blocks/Rendering/taaObjectRendererBlock.js.map +1 -1
  60. package/FrameGraph/Node/Blocks/Textures/clearBlock.js +1 -1
  61. package/FrameGraph/Node/Blocks/index.d.ts +1 -0
  62. package/FrameGraph/Node/Blocks/index.js +1 -0
  63. package/FrameGraph/Node/Blocks/index.js.map +1 -1
  64. package/FrameGraph/Node/nodeRenderGraph.js +2 -1
  65. package/FrameGraph/Node/nodeRenderGraph.js.map +1 -1
  66. package/FrameGraph/frameGraphTextureManager.d.ts +4 -0
  67. package/FrameGraph/frameGraphTextureManager.js +7 -1
  68. package/FrameGraph/frameGraphTextureManager.js.map +1 -1
  69. package/Layers/layerSceneComponent.js +3 -3
  70. package/Layers/layerSceneComponent.js.map +1 -1
  71. package/Lights/Clustered/clusteredLightContainer.d.ts +4 -1
  72. package/Lights/Clustered/clusteredLightContainer.js +17 -2
  73. package/Lights/Clustered/clusteredLightContainer.js.map +1 -1
  74. package/Lights/index.d.ts +1 -0
  75. package/Lights/index.js +1 -0
  76. package/Lights/index.js.map +1 -1
  77. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js +1 -1
  78. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +4 -4
  79. package/Materials/Node/Blocks/conditionalBlock.js +1 -1
  80. package/Materials/Node/Blocks/curveBlock.js +1 -1
  81. package/Materials/Node/Blocks/meshAttributeExistsBlock.js +1 -1
  82. package/Materials/Node/Blocks/trigonometryBlock.js +1 -1
  83. package/Materials/Node/Blocks/waveBlock.js +1 -1
  84. package/Materials/PBR/openPbrMaterial.d.ts +2 -0
  85. package/Materials/PBR/openPbrMaterial.js +9 -6
  86. package/Materials/PBR/openPbrMaterial.js.map +1 -1
  87. package/Materials/PBR/pbrBaseMaterial.d.ts +2 -0
  88. package/Materials/PBR/pbrBaseMaterial.js +2 -0
  89. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  90. package/Materials/Textures/renderTargetTexture.d.ts +2 -0
  91. package/Materials/Textures/renderTargetTexture.js +3 -0
  92. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  93. package/Materials/materialHelper.functions.js +1 -0
  94. package/Materials/materialHelper.functions.js.map +1 -1
  95. package/Materials/standardMaterial.d.ts +2 -0
  96. package/Materials/standardMaterial.js +2 -0
  97. package/Materials/standardMaterial.js.map +1 -1
  98. package/Meshes/Node/Blocks/Set/aggregatorBlock.js +1 -1
  99. package/Meshes/Node/Blocks/Set/setUVsBlock.js +1 -1
  100. package/Meshes/Node/Blocks/booleanGeometryBlock.js +1 -1
  101. package/Meshes/Node/Blocks/conditionBlock.js +1 -1
  102. package/Meshes/Node/Blocks/geometryCurveBlock.js +1 -1
  103. package/Meshes/Node/Blocks/geometryEaseBlock.js +1 -1
  104. package/Meshes/Node/Blocks/geometryTrigonometryBlock.js +1 -1
  105. package/Meshes/Node/Blocks/mappingBlock.js +1 -1
  106. package/Meshes/Node/Blocks/mathBlock.js +1 -1
  107. package/Meshes/Node/Blocks/randomBlock.js +1 -1
  108. package/Meshes/geometry.js +26 -25
  109. package/Meshes/geometry.js.map +1 -1
  110. package/Misc/index.d.ts +1 -0
  111. package/Misc/index.js +1 -0
  112. package/Misc/index.js.map +1 -1
  113. package/Navigation/INavigationEngine.d.ts +17 -5
  114. package/Navigation/INavigationEngine.js.map +1 -1
  115. package/Navigation/Plugins/recastJSPlugin.d.ts +3 -2
  116. package/Navigation/Plugins/recastJSPlugin.js.map +1 -1
  117. package/Particles/Node/Blocks/Conditions/particleConditionBlock.js +1 -1
  118. package/Particles/Node/Blocks/particleLocalVariableBlock.js +1 -1
  119. package/Particles/Node/Blocks/particleMathBlock.js +1 -1
  120. package/Particles/Node/Blocks/particleRandomBlock.js +1 -1
  121. package/Particles/Node/Blocks/particleTrigonometryBlock.js +1 -1
  122. package/Particles/Node/Blocks/systemBlock.js +1 -1
  123. package/Particles/gpuParticleSystem.js +1 -0
  124. package/Particles/gpuParticleSystem.js.map +1 -1
  125. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.d.ts +4 -0
  126. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +10 -1
  127. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
  128. package/PostProcesses/motionBlurPostProcess.d.ts +3 -1
  129. package/PostProcesses/motionBlurPostProcess.js +13 -4
  130. package/PostProcesses/motionBlurPostProcess.js.map +1 -1
  131. package/Rendering/geometryBufferRenderer.js +58 -0
  132. package/Rendering/geometryBufferRenderer.js.map +1 -1
  133. package/Rendering/objectRenderer.d.ts +2 -0
  134. package/Rendering/objectRenderer.js +13 -0
  135. package/Rendering/objectRenderer.js.map +1 -1
  136. package/Shaders/ShadersInclude/lightFragment.js +1 -1
  137. package/Shaders/ShadersInclude/lightFragment.js.map +1 -1
  138. package/Shaders/geometry.fragment.js +14 -0
  139. package/Shaders/geometry.fragment.js.map +1 -1
  140. package/Shaders/geometry.vertex.js +20 -0
  141. package/Shaders/geometry.vertex.js.map +1 -1
  142. package/Shaders/openpbr.vertex.js +1 -1
  143. package/Shaders/openpbr.vertex.js.map +1 -1
  144. package/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.js +1 -1
  145. package/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
  146. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js +1 -1
  147. package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  148. package/ShadersWGSL/ShadersInclude/pbrFragmentExtraDeclaration.js +1 -1
  149. package/ShadersWGSL/ShadersInclude/pbrFragmentExtraDeclaration.js.map +1 -1
  150. package/ShadersWGSL/default.fragment.js +1 -1
  151. package/ShadersWGSL/default.fragment.js.map +1 -1
  152. package/ShadersWGSL/default.vertex.js +2 -2
  153. package/ShadersWGSL/default.vertex.js.map +1 -1
  154. package/ShadersWGSL/geometry.fragment.js +14 -0
  155. package/ShadersWGSL/geometry.fragment.js.map +1 -1
  156. package/ShadersWGSL/geometry.vertex.js +20 -0
  157. package/ShadersWGSL/geometry.vertex.js.map +1 -1
  158. package/ShadersWGSL/openpbr.vertex.js +1 -1
  159. package/ShadersWGSL/openpbr.vertex.js.map +1 -1
  160. package/ShadersWGSL/pbr.vertex.js +2 -2
  161. package/ShadersWGSL/pbr.vertex.js.map +1 -1
  162. package/package.json +1 -1
@@ -194,7 +194,7 @@ export class AggregatorBlock extends NodeGeometryBlock {
194
194
  }
195
195
  }
196
196
  __decorate([
197
- editableInPropertyPage("Aggregation", 4 /* PropertyTypeForEdition.List */, "ADVANCED", {
197
+ editableInPropertyPage("Aggregation", 5 /* PropertyTypeForEdition.List */, "ADVANCED", {
198
198
  notifiers: { rebuild: true },
199
199
  embedded: true,
200
200
  options: [
@@ -161,7 +161,7 @@ __decorate([
161
161
  editableInPropertyPage("Evaluate context", 0 /* PropertyTypeForEdition.Boolean */, "ADVANCED", { embedded: true, notifiers: { rebuild: true } })
162
162
  ], SetUVsBlock.prototype, "evaluateContext", void 0);
163
163
  __decorate([
164
- editableInPropertyPage("Texture coordinates index", 4 /* PropertyTypeForEdition.List */, "ADVANCED", {
164
+ editableInPropertyPage("Texture coordinates index", 5 /* PropertyTypeForEdition.List */, "ADVANCED", {
165
165
  notifiers: { update: true },
166
166
  embedded: true,
167
167
  options: [
@@ -181,7 +181,7 @@ __decorate([
181
181
  editableInPropertyPage("Evaluate context", 0 /* PropertyTypeForEdition.Boolean */, "ADVANCED", { embedded: true, notifiers: { rebuild: true } })
182
182
  ], BooleanGeometryBlock.prototype, "evaluateContext", void 0);
183
183
  __decorate([
184
- editableInPropertyPage("Operation", 4 /* PropertyTypeForEdition.List */, "ADVANCED", {
184
+ editableInPropertyPage("Operation", 5 /* PropertyTypeForEdition.List */, "ADVANCED", {
185
185
  notifiers: { rebuild: true },
186
186
  embedded: true,
187
187
  options: [
@@ -181,7 +181,7 @@ export class ConditionBlock extends NodeGeometryBlock {
181
181
  }
182
182
  }
183
183
  __decorate([
184
- editableInPropertyPage("Test", 4 /* PropertyTypeForEdition.List */, "ADVANCED", {
184
+ editableInPropertyPage("Test", 5 /* PropertyTypeForEdition.List */, "ADVANCED", {
185
185
  notifiers: { rebuild: true },
186
186
  embedded: true,
187
187
  options: [
@@ -255,7 +255,7 @@ export class GeometryCurveBlock extends NodeGeometryBlock {
255
255
  }
256
256
  }
257
257
  __decorate([
258
- editableInPropertyPage("Type", 4 /* PropertyTypeForEdition.List */, "ADVANCED", {
258
+ editableInPropertyPage("Type", 5 /* PropertyTypeForEdition.List */, "ADVANCED", {
259
259
  notifiers: { rebuild: true },
260
260
  embedded: true,
261
261
  options: [
@@ -280,7 +280,7 @@ export class GeometryEaseBlock extends NodeGeometryBlock {
280
280
  }
281
281
  }
282
282
  __decorate([
283
- editableInPropertyPage("Type", 4 /* PropertyTypeForEdition.List */, "ADVANCED", {
283
+ editableInPropertyPage("Type", 5 /* PropertyTypeForEdition.List */, "ADVANCED", {
284
284
  notifiers: { rebuild: true },
285
285
  embedded: true,
286
286
  options: [
@@ -242,7 +242,7 @@ export class GeometryTrigonometryBlock extends NodeGeometryBlock {
242
242
  }
243
243
  }
244
244
  __decorate([
245
- editableInPropertyPage("Operation", 4 /* PropertyTypeForEdition.List */, "ADVANCED", {
245
+ editableInPropertyPage("Operation", 5 /* PropertyTypeForEdition.List */, "ADVANCED", {
246
246
  embedded: true,
247
247
  notifiers: { rebuild: true },
248
248
  options: [
@@ -147,7 +147,7 @@ export class MappingBlock extends NodeGeometryBlock {
147
147
  }
148
148
  }
149
149
  __decorate([
150
- editableInPropertyPage("Mapping", 4 /* PropertyTypeForEdition.List */, "ADVANCED", {
150
+ editableInPropertyPage("Mapping", 5 /* PropertyTypeForEdition.List */, "ADVANCED", {
151
151
  notifiers: { rebuild: true },
152
152
  embedded: true,
153
153
  options: [
@@ -298,7 +298,7 @@ export class MathBlock extends NodeGeometryBlock {
298
298
  }
299
299
  }
300
300
  __decorate([
301
- editableInPropertyPage("Operation", 4 /* PropertyTypeForEdition.List */, "ADVANCED", {
301
+ editableInPropertyPage("Operation", 5 /* PropertyTypeForEdition.List */, "ADVANCED", {
302
302
  notifiers: { rebuild: true },
303
303
  embedded: true,
304
304
  options: [
@@ -168,7 +168,7 @@ export class RandomBlock extends NodeGeometryBlock {
168
168
  }
169
169
  }
170
170
  __decorate([
171
- editableInPropertyPage("LockMode", 4 /* PropertyTypeForEdition.List */, "ADVANCED", {
171
+ editableInPropertyPage("LockMode", 5 /* PropertyTypeForEdition.List */, "ADVANCED", {
172
172
  notifiers: { rebuild: true },
173
173
  embedded: true,
174
174
  options: [
@@ -11,7 +11,7 @@ import { Tags } from "../Misc/tags.js";
11
11
  import { extractMinAndMax } from "../Maths/math.functions.js";
12
12
  import { EngineStore } from "../Engines/engineStore.js";
13
13
  import { useOpenGLOrientationForUV } from "../Compat/compatibilityOptions.js";
14
- import { CopyFloatData } from "../Buffers/bufferUtils.js";
14
+ import { CopyFloatData, GetTypedArrayData } from "../Buffers/bufferUtils.js";
15
15
  /**
16
16
  * Class used to store geometry data (vertex buffers + index buffer)
17
17
  */
@@ -815,36 +815,37 @@ export class Geometry {
815
815
  * @returns a new geometry object
816
816
  */
817
817
  copy(id) {
818
- const vertexData = new VertexData();
819
- vertexData.indices = [];
820
- const indices = this.getIndices();
818
+ const geometry = new Geometry(id, this._scene);
819
+ const indices = this.getIndices(undefined, true);
821
820
  if (indices) {
822
- for (let index = 0; index < indices.length; index++) {
823
- vertexData.indices.push(indices[index]);
824
- }
821
+ geometry.setIndices(indices);
825
822
  }
826
823
  let updatable = false;
827
- let stopChecking = false;
828
824
  let kind;
829
825
  for (kind in this._vertexBuffers) {
830
- const data = this.getVerticesData(kind);
831
- if (data) {
832
- if (data instanceof Float32Array) {
833
- vertexData.set(new Float32Array(data), kind);
834
- }
835
- else {
836
- vertexData.set(data.slice(0), kind);
837
- }
838
- if (!stopChecking) {
839
- const vb = this.getVertexBuffer(kind);
840
- if (vb) {
841
- updatable = vb.isUpdatable();
842
- stopChecking = !updatable;
843
- }
844
- }
826
+ const vb = this.getVertexBuffer(kind);
827
+ const bufferData = vb.getData();
828
+ if (!bufferData) {
829
+ continue;
845
830
  }
846
- }
847
- const geometry = new Geometry(id, this._scene, vertexData, updatable);
831
+ const isUpdatable = vb.isUpdatable();
832
+ const size = vb.getSize();
833
+ const { type, byteOffset, byteStride, normalized } = vb;
834
+ updatable = updatable || isUpdatable;
835
+ const data = GetTypedArrayData(bufferData, size, type, byteOffset, byteStride, normalized, this._totalVertices, true);
836
+ const newVb = new VertexBuffer(this._engine, data, kind, {
837
+ updatable: isUpdatable,
838
+ useBytes: true,
839
+ stride: byteStride,
840
+ size: size,
841
+ offset: byteOffset,
842
+ type: type,
843
+ normalized: normalized,
844
+ takeBufferOwnership: true,
845
+ });
846
+ geometry.setVerticesBuffer(newVb, this._totalVertices);
847
+ }
848
+ geometry._updatable = updatable;
848
849
  geometry.delayLoadState = this.delayLoadState;
849
850
  geometry.delayLoadingFile = this.delayLoadingFile;
850
851
  geometry._delayLoadingFunction = this._delayLoadingFunction;