@babylonjs/core 5.49.2 → 5.50.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 (36) hide show
  1. package/DeviceInput/webDeviceInputSystem.js +2 -2
  2. package/DeviceInput/webDeviceInputSystem.js.map +1 -1
  3. package/Engines/engine.d.ts +2 -2
  4. package/Engines/thinEngine.js +2 -2
  5. package/Engines/thinEngine.js.map +1 -1
  6. package/Materials/Background/backgroundMaterial.js +1 -4
  7. package/Materials/Background/backgroundMaterial.js.map +1 -1
  8. package/Materials/Node/Blocks/Dual/textureBlock.d.ts +5 -0
  9. package/Materials/Node/Blocks/Dual/textureBlock.js +33 -5
  10. package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
  11. package/Materials/Node/Blocks/Input/inputBlock.js +2 -0
  12. package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
  13. package/Materials/Node/nodeMaterial.js +1 -4
  14. package/Materials/Node/nodeMaterial.js.map +1 -1
  15. package/Materials/Node/nodeMaterialBuildState.d.ts +4 -0
  16. package/Materials/Node/nodeMaterialBuildState.js +10 -0
  17. package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
  18. package/Materials/PBR/pbrBaseMaterial.d.ts +2 -2
  19. package/Materials/PBR/pbrBaseMaterial.js +5 -7
  20. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  21. package/Materials/material.d.ts +1 -0
  22. package/Materials/material.js +14 -0
  23. package/Materials/material.js.map +1 -1
  24. package/Materials/standardMaterial.js +2 -4
  25. package/Materials/standardMaterial.js.map +1 -1
  26. package/Meshes/mesh.d.ts +1 -1
  27. package/Meshes/mesh.js +3 -3
  28. package/Meshes/mesh.js.map +1 -1
  29. package/Misc/observable.js +10 -4
  30. package/Misc/observable.js.map +1 -1
  31. package/XR/native/nativeXRFrame.d.ts +1 -1
  32. package/XR/native/nativeXRFrame.js.map +1 -1
  33. package/package.json +1 -1
  34. package/scene.d.ts +4 -0
  35. package/scene.js +6 -0
  36. package/scene.js.map +1 -1
package/Meshes/mesh.d.ts CHANGED
@@ -657,7 +657,7 @@ export declare class Mesh extends AbstractMesh implements IGetSetVerticesData {
657
657
  /**
658
658
  * @internal
659
659
  */
660
- _bind(subMesh: SubMesh, effect: Effect, fillMode: number): Mesh;
660
+ _bind(subMesh: SubMesh, effect: Effect, fillMode: number, allowInstancedRendering?: boolean): Mesh;
661
661
  /**
662
662
  * @internal
663
663
  */
package/Meshes/mesh.js CHANGED
@@ -1313,7 +1313,7 @@ export class Mesh extends AbstractMesh {
1313
1313
  /**
1314
1314
  * @internal
1315
1315
  */
1316
- _bind(subMesh, effect, fillMode) {
1316
+ _bind(subMesh, effect, fillMode, allowInstancedRendering = true) {
1317
1317
  if (!this._geometry) {
1318
1318
  return this;
1319
1319
  }
@@ -1342,7 +1342,7 @@ export class Mesh extends AbstractMesh {
1342
1342
  }
1343
1343
  }
1344
1344
  // VBOs
1345
- if (!this._userInstancedBuffersStorage || this.hasThinInstances) {
1345
+ if (!allowInstancedRendering || !this._userInstancedBuffersStorage || this.hasThinInstances) {
1346
1346
  this._geometry._bind(effect, indexToBind);
1347
1347
  }
1348
1348
  else {
@@ -1852,7 +1852,7 @@ export class Mesh extends AbstractMesh {
1852
1852
  }
1853
1853
  if (!hardwareInstancedRendering) {
1854
1854
  // Binding will be done later because we need to add more info to the VB
1855
- this._bind(subMesh, effect, fillMode);
1855
+ this._bind(subMesh, effect, fillMode, false);
1856
1856
  }
1857
1857
  const effectiveMaterial = this._internalMeshDataInfo._effectiveMaterial;
1858
1858
  const world = effectiveMesh.getWorldMatrix();