@babylonjs/core 5.15.0 → 5.17.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 (163) hide show
  1. package/Animations/animatable.js +1 -1
  2. package/Animations/animatable.js.map +1 -1
  3. package/Animations/animation.d.ts +8 -1
  4. package/Animations/animation.js +8 -1
  5. package/Animations/animation.js.map +1 -1
  6. package/Animations/animationGroup.js +5 -4
  7. package/Animations/animationGroup.js.map +1 -1
  8. package/Audio/sound.js +2 -2
  9. package/Audio/sound.js.map +1 -1
  10. package/Bones/skeleton.js +1 -1
  11. package/Bones/skeleton.js.map +1 -1
  12. package/Cameras/Inputs/BaseCameraMouseWheelInput.d.ts +1 -1
  13. package/Cameras/Inputs/BaseCameraMouseWheelInput.js +8 -2
  14. package/Cameras/Inputs/BaseCameraMouseWheelInput.js.map +1 -1
  15. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js +2 -2
  16. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js.map +1 -1
  17. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.d.ts +0 -1
  18. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js +7 -2
  19. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js.map +1 -1
  20. package/Cameras/Inputs/flyCameraKeyboardInput.js +3 -3
  21. package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
  22. package/Cameras/Inputs/followCameraKeyboardMoveInput.js +2 -2
  23. package/Cameras/Inputs/followCameraKeyboardMoveInput.js.map +1 -1
  24. package/Cameras/Inputs/followCameraMouseWheelInput.d.ts +0 -1
  25. package/Cameras/Inputs/followCameraMouseWheelInput.js +7 -2
  26. package/Cameras/Inputs/followCameraMouseWheelInput.js.map +1 -1
  27. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +3 -3
  28. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
  29. package/Cameras/Inputs/freeCameraTouchInput.js +1 -1
  30. package/Cameras/Inputs/freeCameraTouchInput.js.map +1 -1
  31. package/Cameras/VR/vrExperienceHelper.js +1 -1
  32. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  33. package/Cameras/VR/webVRCamera.js +1 -1
  34. package/Cameras/VR/webVRCamera.js.map +1 -1
  35. package/Cameras/arcRotateCamera.js +3 -2
  36. package/Cameras/arcRotateCamera.js.map +1 -1
  37. package/Cameras/camera.js +18 -3
  38. package/Cameras/camera.js.map +1 -1
  39. package/DeviceInput/InputDevices/webDeviceInputSystem.js +1 -1
  40. package/DeviceInput/InputDevices/webDeviceInputSystem.js.map +1 -1
  41. package/Engines/Extensions/engine.cubeTexture.js +3 -3
  42. package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
  43. package/Engines/Extensions/engine.rawTexture.js +3 -3
  44. package/Engines/Extensions/engine.rawTexture.js.map +1 -1
  45. package/Engines/Native/nativeInterfaces.d.ts +1 -0
  46. package/Engines/Native/nativeInterfaces.js.map +1 -1
  47. package/Engines/Processors/shaderCodeCursor.js +2 -1
  48. package/Engines/Processors/shaderCodeCursor.js.map +1 -1
  49. package/Engines/WebGPU/Extensions/engine.rawTexture.js +3 -3
  50. package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
  51. package/Engines/WebGPU/webgpuOcclusionQuery.js +1 -1
  52. package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
  53. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +6 -6
  54. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
  55. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +4 -4
  56. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  57. package/Engines/engine.d.ts +0 -10
  58. package/Engines/engine.js +0 -14
  59. package/Engines/engine.js.map +1 -1
  60. package/Engines/nativeEngine.d.ts +7 -2
  61. package/Engines/nativeEngine.js +30 -10
  62. package/Engines/nativeEngine.js.map +1 -1
  63. package/Engines/thinEngine.d.ts +22 -2
  64. package/Engines/thinEngine.js +49 -9
  65. package/Engines/thinEngine.js.map +1 -1
  66. package/Engines/webgpuEngine.js +1 -1
  67. package/Engines/webgpuEngine.js.map +1 -1
  68. package/Gizmos/boundingBoxGizmo.d.ts +4 -0
  69. package/Gizmos/boundingBoxGizmo.js +6 -0
  70. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  71. package/Inputs/scene.inputManager.js +5 -4
  72. package/Inputs/scene.inputManager.js.map +1 -1
  73. package/Loading/sceneLoader.js +12 -12
  74. package/Loading/sceneLoader.js.map +1 -1
  75. package/Materials/Node/Blocks/Fragment/TBNBlock.d.ts +12 -0
  76. package/Materials/Node/Blocks/Fragment/TBNBlock.js +50 -0
  77. package/Materials/Node/Blocks/Fragment/TBNBlock.js.map +1 -1
  78. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +2 -1
  79. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  80. package/Materials/Node/Blocks/gradientBlock.js +1 -1
  81. package/Materials/Node/Blocks/gradientBlock.js.map +1 -1
  82. package/Materials/Node/nodeMaterial.d.ts +10 -1
  83. package/Materials/Node/nodeMaterial.js +43 -26
  84. package/Materials/Node/nodeMaterial.js.map +1 -1
  85. package/Materials/PBR/pbrBaseMaterial.js +4 -4
  86. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  87. package/Materials/Textures/baseTexture.d.ts +1 -1
  88. package/Materials/Textures/baseTexture.js +2 -2
  89. package/Materials/Textures/baseTexture.js.map +1 -1
  90. package/Materials/Textures/prePassRenderTarget.js +1 -1
  91. package/Materials/Textures/prePassRenderTarget.js.map +1 -1
  92. package/Materials/Textures/renderTargetTexture.js +11 -3
  93. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  94. package/Materials/Textures/videoTexture.js +4 -1
  95. package/Materials/Textures/videoTexture.js.map +1 -1
  96. package/Materials/imageProcessingConfiguration.js.map +1 -1
  97. package/Materials/materialDefines.js +3 -1
  98. package/Materials/materialDefines.js.map +1 -1
  99. package/Materials/materialHelper.d.ts +1 -1
  100. package/Materials/materialHelper.js +6 -6
  101. package/Materials/materialHelper.js.map +1 -1
  102. package/Materials/shaderMaterial.d.ts +10 -1
  103. package/Materials/shaderMaterial.js +10 -1
  104. package/Materials/shaderMaterial.js.map +1 -1
  105. package/Maths/math.color.d.ts +9 -1
  106. package/Maths/math.color.js +13 -1
  107. package/Maths/math.color.js.map +1 -1
  108. package/Meshes/Builders/icoSphereBuilder.js +2 -2
  109. package/Meshes/Builders/icoSphereBuilder.js.map +1 -1
  110. package/Meshes/abstractMesh.js +1 -1
  111. package/Meshes/abstractMesh.js.map +1 -1
  112. package/Meshes/geometry.js +3 -4
  113. package/Meshes/geometry.js.map +1 -1
  114. package/Meshes/mesh.d.ts +1 -1
  115. package/Meshes/mesh.js +8 -7
  116. package/Meshes/mesh.js.map +1 -1
  117. package/Meshes/thinInstanceMesh.js +5 -0
  118. package/Meshes/thinInstanceMesh.js.map +1 -1
  119. package/Meshes/transformNode.d.ts +2 -2
  120. package/Meshes/transformNode.js +1 -1
  121. package/Meshes/transformNode.js.map +1 -1
  122. package/Misc/smartArray.js +0 -1
  123. package/Misc/smartArray.js.map +1 -1
  124. package/Particles/computeShaderParticleSystem.js +2 -2
  125. package/Particles/computeShaderParticleSystem.js.map +1 -1
  126. package/Particles/particleHelper.d.ts +12 -1
  127. package/Particles/particleHelper.js +16 -5
  128. package/Particles/particleHelper.js.map +1 -1
  129. package/Particles/particleSystem.js +2 -2
  130. package/Particles/particleSystem.js.map +1 -1
  131. package/Particles/particleSystemSet.js +1 -1
  132. package/Particles/particleSystemSet.js.map +1 -1
  133. package/Particles/solidParticleSystem.d.ts +3 -0
  134. package/Particles/solidParticleSystem.js +3 -0
  135. package/Particles/solidParticleSystem.js.map +1 -1
  136. package/Particles/webgl2ParticleSystem.js +2 -2
  137. package/Particles/webgl2ParticleSystem.js.map +1 -1
  138. package/Physics/Plugins/cannonJSPlugin.js +1 -1
  139. package/Physics/Plugins/cannonJSPlugin.js.map +1 -1
  140. package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js +3 -3
  141. package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js.map +1 -1
  142. package/Rendering/geometryBufferRenderer.js +3 -2
  143. package/Rendering/geometryBufferRenderer.js.map +1 -1
  144. package/Rendering/utilityLayerRenderer.js +1 -1
  145. package/Rendering/utilityLayerRenderer.js.map +1 -1
  146. package/Shaders/ShadersInclude/helperFunctions.js +1 -1
  147. package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
  148. package/Shaders/geometry.fragment.js +1 -1
  149. package/Shaders/geometry.fragment.js.map +1 -1
  150. package/Sprites/spriteManager.d.ts +10 -1
  151. package/Sprites/spriteManager.js +10 -1
  152. package/Sprites/spriteManager.js.map +1 -1
  153. package/XR/features/WebXRLayers.js +1 -1
  154. package/XR/features/WebXRLayers.js.map +1 -1
  155. package/assetContainer.d.ts +1 -1
  156. package/assetContainer.js +23 -23
  157. package/assetContainer.js.map +1 -1
  158. package/node.js +1 -1
  159. package/node.js.map +1 -1
  160. package/package.json +1 -1
  161. package/scene.d.ts +8 -6
  162. package/scene.js +23 -14
  163. package/scene.js.map +1 -1
@@ -99,13 +99,17 @@ export declare class NativeEngine extends Engine {
99
99
  createVertexBuffer(vertices: DataArray, updateable?: boolean): NativeDataBuffer;
100
100
  protected _recordVertexArrayObject(vertexArray: any, vertexBuffers: {
101
101
  [key: string]: VertexBuffer;
102
- }, indexBuffer: Nullable<NativeDataBuffer>, effect: Effect): void;
102
+ }, indexBuffer: Nullable<NativeDataBuffer>, effect: Effect, overrideVertexBuffers?: {
103
+ [kind: string]: Nullable<VertexBuffer>;
104
+ }): void;
103
105
  bindBuffers(vertexBuffers: {
104
106
  [key: string]: VertexBuffer;
105
107
  }, indexBuffer: Nullable<NativeDataBuffer>, effect: Effect): void;
106
108
  recordVertexArrayObject(vertexBuffers: {
107
109
  [key: string]: VertexBuffer;
108
- }, indexBuffer: Nullable<NativeDataBuffer>, effect: Effect): WebGLVertexArrayObject;
110
+ }, indexBuffer: Nullable<NativeDataBuffer>, effect: Effect, overrideVertexBuffers?: {
111
+ [kind: string]: Nullable<VertexBuffer>;
112
+ }): WebGLVertexArrayObject;
109
113
  private _deleteVertexArray;
110
114
  bindVertexArrayObject(vertexArray: WebGLVertexArrayObject): void;
111
115
  releaseVertexArrayObject(vertexArray: WebGLVertexArrayObject): void;
@@ -540,5 +544,6 @@ export declare class NativeEngine extends Engine {
540
544
  height: number;
541
545
  descent: number;
542
546
  };
547
+ _readTexturePixels(texture: InternalTexture, width: number, height: number, faceIndex?: number, level?: number, buffer?: Nullable<ArrayBufferView>, flushRenderer?: boolean, noDataConversion?: boolean, x?: number, y?: number): Promise<ArrayBufferView>;
543
548
  }
544
549
  export {};
@@ -750,7 +750,7 @@ var NativeEngine = /** @class */ (function (_super) {
750
750
  drawBuffersExtension: false,
751
751
  depthTextureExtension: false,
752
752
  vertexArrayObject: true,
753
- instancedArrays: false,
753
+ instancedArrays: true,
754
754
  supportOcclusionQuery: false,
755
755
  canUseTimestampForTimerQuery: false,
756
756
  blendMinMax: false,
@@ -933,7 +933,7 @@ var NativeEngine = /** @class */ (function (_super) {
933
933
  }
934
934
  return buffer;
935
935
  };
936
- NativeEngine.prototype._recordVertexArrayObject = function (vertexArray, vertexBuffers, indexBuffer, effect) {
936
+ NativeEngine.prototype._recordVertexArrayObject = function (vertexArray, vertexBuffers, indexBuffer, effect, overrideVertexBuffers) {
937
937
  if (indexBuffer) {
938
938
  this._engine.recordIndexBuffer(vertexArray, indexBuffer.nativeIndexBuffer);
939
939
  }
@@ -942,10 +942,16 @@ var NativeEngine = /** @class */ (function (_super) {
942
942
  var location_1 = effect.getAttributeLocation(index);
943
943
  if (location_1 >= 0) {
944
944
  var kind = attributes[index];
945
- var vertexBuffer = vertexBuffers[kind];
945
+ var vertexBuffer = null;
946
+ if (overrideVertexBuffers) {
947
+ vertexBuffer = overrideVertexBuffers[kind];
948
+ }
949
+ if (!vertexBuffer) {
950
+ vertexBuffer = vertexBuffers[kind];
951
+ }
946
952
  if (vertexBuffer) {
947
953
  var buffer = vertexBuffer.getBuffer();
948
- if (buffer) {
954
+ if (buffer && buffer.nativeVertexBuffer) {
949
955
  this._engine.recordVertexBuffer(vertexArray, buffer.nativeVertexBuffer, location_1, vertexBuffer.byteOffset, vertexBuffer.byteStride, vertexBuffer.getSize(), this._getNativeAttribType(vertexBuffer.type), vertexBuffer.normalized, vertexBuffer.getInstanceDivisor());
950
956
  }
951
957
  }
@@ -960,9 +966,9 @@ var NativeEngine = /** @class */ (function (_super) {
960
966
  this._recordVertexArrayObject(this._boundBuffersVertexArray, vertexBuffers, indexBuffer, effect);
961
967
  this.bindVertexArrayObject(this._boundBuffersVertexArray);
962
968
  };
963
- NativeEngine.prototype.recordVertexArrayObject = function (vertexBuffers, indexBuffer, effect) {
969
+ NativeEngine.prototype.recordVertexArrayObject = function (vertexBuffers, indexBuffer, effect, overrideVertexBuffers) {
964
970
  var vertexArray = this._engine.createVertexArray();
965
- this._recordVertexArrayObject(vertexArray, vertexBuffers, indexBuffer, effect);
971
+ this._recordVertexArrayObject(vertexArray, vertexBuffers, indexBuffer, effect, overrideVertexBuffers);
966
972
  return vertexArray;
967
973
  };
968
974
  NativeEngine.prototype._deleteVertexArray = function (vertexArray) {
@@ -1887,7 +1893,7 @@ var NativeEngine = /** @class */ (function (_super) {
1887
1893
  }
1888
1894
  }
1889
1895
  if (scene) {
1890
- scene._addPendingData(texture);
1896
+ scene.addPendingData(texture);
1891
1897
  }
1892
1898
  texture.url = url;
1893
1899
  texture.generateMipMaps = !noMipmap;
@@ -1907,7 +1913,7 @@ var NativeEngine = /** @class */ (function (_super) {
1907
1913
  }
1908
1914
  var onInternalError = function (message, exception) {
1909
1915
  if (scene) {
1910
- scene._removePendingData(texture);
1916
+ scene.removePendingData(texture);
1911
1917
  }
1912
1918
  if (url === originalUrl) {
1913
1919
  if (onLoadObserver) {
@@ -1934,7 +1940,7 @@ var NativeEngine = /** @class */ (function (_super) {
1934
1940
  var onload_1 = function (data) {
1935
1941
  if (!texture._hardwareTexture) {
1936
1942
  if (scene) {
1937
- scene._removePendingData(texture);
1943
+ scene.removePendingData(texture);
1938
1944
  }
1939
1945
  return;
1940
1946
  }
@@ -1948,7 +1954,7 @@ var NativeEngine = /** @class */ (function (_super) {
1948
1954
  var filter = _this._getNativeSamplingMode(samplingMode);
1949
1955
  _this._setTextureSampling(underlyingResource, filter);
1950
1956
  if (scene) {
1951
- scene._removePendingData(texture);
1957
+ scene.removePendingData(texture);
1952
1958
  }
1953
1959
  texture.onLoadedObservable.notifyObservers(texture);
1954
1960
  texture.onLoadedObservable.clear();
@@ -2710,6 +2716,20 @@ var NativeEngine = /** @class */ (function (_super) {
2710
2716
  var result = { ascent: 0, height: 0, descent: 0 };
2711
2717
  return result;
2712
2718
  };
2719
+ NativeEngine.prototype._readTexturePixels = function (texture, width, height, faceIndex, level, buffer, flushRenderer, noDataConversion, x, y) {
2720
+ var _a, _b, _c, _d;
2721
+ if (faceIndex !== undefined && faceIndex !== -1) {
2722
+ throw new Error("Reading cubemap faces is not supported, but faceIndex is ".concat(faceIndex, "."));
2723
+ }
2724
+ return this._engine
2725
+ .readTexture((_a = texture._hardwareTexture) === null || _a === void 0 ? void 0 : _a.underlyingResource, level !== null && level !== void 0 ? level : 0, x !== null && x !== void 0 ? x : 0, y !== null && y !== void 0 ? y : 0, width, height, (_b = buffer === null || buffer === void 0 ? void 0 : buffer.buffer) !== null && _b !== void 0 ? _b : null, (_c = buffer === null || buffer === void 0 ? void 0 : buffer.byteOffset) !== null && _c !== void 0 ? _c : 0, (_d = buffer === null || buffer === void 0 ? void 0 : buffer.byteLength) !== null && _d !== void 0 ? _d : 0)
2726
+ .then(function (rawBuffer) {
2727
+ if (!buffer) {
2728
+ buffer = new Uint8Array(rawBuffer);
2729
+ }
2730
+ return buffer;
2731
+ });
2732
+ };
2713
2733
  // This must match the protocol version in NativeEngine.cpp
2714
2734
  NativeEngine.PROTOCOL_VERSION = 6;
2715
2735
  return NativeEngine;