@babylonjs/core 5.0.2 → 5.1.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 (43) hide show
  1. package/Engines/Extensions/engine.readTexture.d.ts +2 -2
  2. package/Engines/Extensions/engine.readTexture.js +8 -4
  3. package/Engines/Extensions/engine.readTexture.js.map +1 -1
  4. package/Engines/WebGPU/Extensions/engine.readTexture.js +4 -2
  5. package/Engines/WebGPU/Extensions/engine.readTexture.js.map +1 -1
  6. package/Engines/engine.d.ts +7 -1
  7. package/Engines/engine.js +14 -0
  8. package/Engines/engine.js.map +1 -1
  9. package/Engines/nativeEngine.d.ts +24 -0
  10. package/Engines/nativeEngine.js +39 -0
  11. package/Engines/nativeEngine.js.map +1 -1
  12. package/Engines/thinEngine.d.ts +2 -1
  13. package/Engines/thinEngine.js +16 -6
  14. package/Engines/thinEngine.js.map +1 -1
  15. package/Engines/webgpuEngine.d.ts +13 -1
  16. package/Engines/webgpuEngine.js +25 -1
  17. package/Engines/webgpuEngine.js.map +1 -1
  18. package/Materials/PBR/pbrBaseMaterial.js +3 -0
  19. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  20. package/Materials/Textures/MultiviewRenderTarget.js +1 -0
  21. package/Materials/Textures/MultiviewRenderTarget.js.map +1 -1
  22. package/Materials/Textures/baseTexture.d.ts +5 -1
  23. package/Materials/Textures/baseTexture.js +21 -11
  24. package/Materials/Textures/baseTexture.js.map +1 -1
  25. package/Materials/Textures/texture.d.ts +3 -0
  26. package/Materials/Textures/texture.js +4 -2
  27. package/Materials/Textures/texture.js.map +1 -1
  28. package/Maths/math.color.d.ts +11 -2
  29. package/Maths/math.color.js +12 -7
  30. package/Maths/math.color.js.map +1 -1
  31. package/Meshes/abstractMesh.js +1 -1
  32. package/Meshes/abstractMesh.js.map +1 -1
  33. package/Meshes/mesh.js +0 -1
  34. package/Meshes/mesh.js.map +1 -1
  35. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.d.ts +6 -1
  36. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +13 -2
  37. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
  38. package/XR/features/WebXRHandTracking.js +1 -1
  39. package/XR/features/WebXRHandTracking.js.map +1 -1
  40. package/assetContainer.d.ts +13 -1
  41. package/assetContainer.js +130 -17
  42. package/assetContainer.js.map +1 -1
  43. package/package.json +1 -1
@@ -1391,8 +1391,9 @@ export declare class ThinEngine {
1391
1391
  * @param height defines the height of the update rectangle
1392
1392
  * @param faceIndex defines the face index if texture is a cube (0 by default)
1393
1393
  * @param lod defines the lod level to update (0 by default)
1394
+ * @param generateMipMaps defines whether to generate mipmaps or not
1394
1395
  */
1395
- updateTextureData(texture: InternalTexture, imageData: ArrayBufferView, xOffset: number, yOffset: number, width: number, height: number, faceIndex?: number, lod?: number): void;
1396
+ updateTextureData(texture: InternalTexture, imageData: ArrayBufferView, xOffset: number, yOffset: number, width: number, height: number, faceIndex?: number, lod?: number, generateMipMaps?: boolean): void;
1396
1397
  /**
1397
1398
  * @param texture
1398
1399
  * @param imageData
@@ -393,7 +393,7 @@ var ThinEngine = /** @class */ (function () {
393
393
  */
394
394
  // Not mixed with Version for tooling purpose.
395
395
  get: function () {
396
- return "babylonjs@5.0.2";
396
+ return "babylonjs@5.1.0";
397
397
  },
398
398
  enumerable: false,
399
399
  configurable: true
@@ -403,7 +403,7 @@ var ThinEngine = /** @class */ (function () {
403
403
  * Returns the current version of the framework
404
404
  */
405
405
  get: function () {
406
- return "5.0.2";
406
+ return "5.1.0";
407
407
  },
408
408
  enumerable: false,
409
409
  configurable: true
@@ -2283,11 +2283,14 @@ var ThinEngine = /** @class */ (function () {
2283
2283
  };
2284
2284
  ThinEngine.prototype._compileRawShader = function (source, type) {
2285
2285
  var gl = this._gl;
2286
- // eslint-disable-next-line no-empty
2287
- while (gl.getError() != gl.NO_ERROR) { }
2288
2286
  var shader = gl.createShader(type === "vertex" ? gl.VERTEX_SHADER : gl.FRAGMENT_SHADER);
2289
2287
  if (!shader) {
2290
- throw new Error("Something went wrong while creating a gl ".concat(type, " shader object. gl error=").concat(gl.getError(), ", gl isContextLost=").concat(gl.isContextLost(), ", _contextWasLost=").concat(this._contextWasLost));
2288
+ var error = gl.NO_ERROR;
2289
+ var tempError = gl.NO_ERROR;
2290
+ while ((tempError = gl.getError()) !== gl.NO_ERROR) {
2291
+ error = tempError;
2292
+ }
2293
+ throw new Error("Something went wrong while creating a gl ".concat(type, " shader object. gl error=").concat(error, ", gl isContextLost=").concat(gl.isContextLost(), ", _contextWasLost=").concat(this._contextWasLost));
2291
2294
  }
2292
2295
  gl.shaderSource(shader, source);
2293
2296
  gl.compileShader(shader);
@@ -3662,10 +3665,12 @@ var ThinEngine = /** @class */ (function () {
3662
3665
  * @param height defines the height of the update rectangle
3663
3666
  * @param faceIndex defines the face index if texture is a cube (0 by default)
3664
3667
  * @param lod defines the lod level to update (0 by default)
3668
+ * @param generateMipMaps defines whether to generate mipmaps or not
3665
3669
  */
3666
- ThinEngine.prototype.updateTextureData = function (texture, imageData, xOffset, yOffset, width, height, faceIndex, lod) {
3670
+ ThinEngine.prototype.updateTextureData = function (texture, imageData, xOffset, yOffset, width, height, faceIndex, lod, generateMipMaps) {
3667
3671
  if (faceIndex === void 0) { faceIndex = 0; }
3668
3672
  if (lod === void 0) { lod = 0; }
3673
+ if (generateMipMaps === void 0) { generateMipMaps = false; }
3669
3674
  var gl = this._gl;
3670
3675
  var textureType = this._getWebGLTextureType(texture.type);
3671
3676
  var format = this._getInternalFormat(texture.format);
@@ -3674,7 +3679,12 @@ var ThinEngine = /** @class */ (function () {
3674
3679
  if (texture.isCube) {
3675
3680
  target = gl.TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex;
3676
3681
  }
3682
+ this._bindTextureDirectly(target, texture, true);
3677
3683
  gl.texSubImage2D(target, lod, xOffset, yOffset, width, height, format, textureType, imageData);
3684
+ if (generateMipMaps) {
3685
+ this._gl.generateMipmap(target);
3686
+ }
3687
+ this._bindTextureDirectly(target, null);
3678
3688
  };
3679
3689
  /**
3680
3690
  * @param texture