@babylonjs/core 5.42.1 → 5.43.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 (51) hide show
  1. package/Actions/actionManager.js +18 -13
  2. package/Actions/actionManager.js.map +1 -1
  3. package/Audio/sound.js +8 -4
  4. package/Audio/sound.js.map +1 -1
  5. package/Behaviors/Meshes/handConstraintBehavior.d.ts +2 -1
  6. package/Behaviors/Meshes/handConstraintBehavior.js +15 -8
  7. package/Behaviors/Meshes/handConstraintBehavior.js.map +1 -1
  8. package/Engines/IPipelineContext.d.ts +54 -0
  9. package/Engines/IPipelineContext.js.map +1 -1
  10. package/Engines/Native/nativeInterfaces.d.ts +1 -0
  11. package/Engines/Native/nativeInterfaces.js.map +1 -1
  12. package/Engines/Native/nativePipelineContext.d.ts +54 -0
  13. package/Engines/Native/nativePipelineContext.js +92 -0
  14. package/Engines/Native/nativePipelineContext.js.map +1 -1
  15. package/Engines/WebGL/webGLPipelineContext.d.ts +54 -0
  16. package/Engines/WebGL/webGLPipelineContext.js +6 -2
  17. package/Engines/WebGL/webGLPipelineContext.js.map +1 -1
  18. package/Engines/WebGPU/webgpuPipelineContext.d.ts +54 -0
  19. package/Engines/WebGPU/webgpuPipelineContext.js +85 -0
  20. package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
  21. package/Engines/nativeEngine.js +7 -2
  22. package/Engines/nativeEngine.js.map +1 -1
  23. package/Engines/thinEngine.d.ts +62 -0
  24. package/Engines/thinEngine.js +112 -2
  25. package/Engines/thinEngine.js.map +1 -1
  26. package/Materials/PBR/pbrBaseMaterial.js +8 -4
  27. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  28. package/Materials/Textures/htmlElementTexture.js +1 -1
  29. package/Materials/Textures/htmlElementTexture.js.map +1 -1
  30. package/Materials/Textures/texture.js +1 -0
  31. package/Materials/Textures/texture.js.map +1 -1
  32. package/Materials/effect.d.ts +68 -0
  33. package/Materials/effect.js +9 -2
  34. package/Materials/effect.js.map +1 -1
  35. package/Materials/material.d.ts +2 -1
  36. package/Materials/material.js +10 -1
  37. package/Materials/material.js.map +1 -1
  38. package/Materials/pushMaterial.js +3 -0
  39. package/Materials/pushMaterial.js.map +1 -1
  40. package/Materials/shaderMaterial.d.ts +8 -0
  41. package/Materials/shaderMaterial.js +29 -0
  42. package/Materials/shaderMaterial.js.map +1 -1
  43. package/Materials/standardMaterial.js +6 -3
  44. package/Materials/standardMaterial.js.map +1 -1
  45. package/Materials/uniformBuffer.d.ts +41 -0
  46. package/Materials/uniformBuffer.js +53 -1
  47. package/Materials/uniformBuffer.js.map +1 -1
  48. package/XR/webXRCamera.d.ts +0 -1
  49. package/XR/webXRCamera.js +0 -4
  50. package/XR/webXRCamera.js.map +1 -1
  51. package/package.json +1 -1
@@ -1103,6 +1103,68 @@ export declare class ThinEngine {
1103
1103
  * @returns true if the value was set
1104
1104
  */
1105
1105
  setIntArray4(uniform: Nullable<WebGLUniformLocation>, array: Int32Array): boolean;
1106
+ /**
1107
+ * Set the value of an uniform to a number (unsigned int)
1108
+ * @param uniform defines the webGL uniform location where to store the value
1109
+ * @param value defines the unsigned int number to store
1110
+ * @returns true if the value was set
1111
+ */
1112
+ setUInt(uniform: Nullable<WebGLUniformLocation>, value: number): boolean;
1113
+ /**
1114
+ * Set the value of an uniform to a unsigned int2
1115
+ * @param uniform defines the webGL uniform location where to store the value
1116
+ * @param x defines the 1st component of the value
1117
+ * @param y defines the 2nd component of the value
1118
+ * @returns true if the value was set
1119
+ */
1120
+ setUInt2(uniform: Nullable<WebGLUniformLocation>, x: number, y: number): boolean;
1121
+ /**
1122
+ * Set the value of an uniform to a unsigned int3
1123
+ * @param uniform defines the webGL uniform location where to store the value
1124
+ * @param x defines the 1st component of the value
1125
+ * @param y defines the 2nd component of the value
1126
+ * @param z defines the 3rd component of the value
1127
+ * @returns true if the value was set
1128
+ */
1129
+ setUInt3(uniform: Nullable<WebGLUniformLocation>, x: number, y: number, z: number): boolean;
1130
+ /**
1131
+ * Set the value of an uniform to a unsigned int4
1132
+ * @param uniform defines the webGL uniform location where to store the value
1133
+ * @param x defines the 1st component of the value
1134
+ * @param y defines the 2nd component of the value
1135
+ * @param z defines the 3rd component of the value
1136
+ * @param w defines the 4th component of the value
1137
+ * @returns true if the value was set
1138
+ */
1139
+ setUInt4(uniform: Nullable<WebGLUniformLocation>, x: number, y: number, z: number, w: number): boolean;
1140
+ /**
1141
+ * Set the value of an uniform to an array of unsigned int32
1142
+ * @param uniform defines the webGL uniform location where to store the value
1143
+ * @param array defines the array of unsigned int32 to store
1144
+ * @returns true if the value was set
1145
+ */
1146
+ setUIntArray(uniform: Nullable<WebGLUniformLocation>, array: Uint32Array): boolean;
1147
+ /**
1148
+ * Set the value of an uniform to an array of unsigned int32 (stored as vec2)
1149
+ * @param uniform defines the webGL uniform location where to store the value
1150
+ * @param array defines the array of unsigned int32 to store
1151
+ * @returns true if the value was set
1152
+ */
1153
+ setUIntArray2(uniform: Nullable<WebGLUniformLocation>, array: Uint32Array): boolean;
1154
+ /**
1155
+ * Set the value of an uniform to an array of unsigned int32 (stored as vec3)
1156
+ * @param uniform defines the webGL uniform location where to store the value
1157
+ * @param array defines the array of unsigned int32 to store
1158
+ * @returns true if the value was set
1159
+ */
1160
+ setUIntArray3(uniform: Nullable<WebGLUniformLocation>, array: Uint32Array): boolean;
1161
+ /**
1162
+ * Set the value of an uniform to an array of unsigned int32 (stored as vec4)
1163
+ * @param uniform defines the webGL uniform location where to store the value
1164
+ * @param array defines the array of unsigned int32 to store
1165
+ * @returns true if the value was set
1166
+ */
1167
+ setUIntArray4(uniform: Nullable<WebGLUniformLocation>, array: Uint32Array): boolean;
1106
1168
  /**
1107
1169
  * Set the value of an uniform to an array of number
1108
1170
  * @param uniform defines the webGL uniform location where to store the value
@@ -403,13 +403,13 @@ export class ThinEngine {
403
403
  */
404
404
  // Not mixed with Version for tooling purpose.
405
405
  static get NpmPackage() {
406
- return "babylonjs@5.42.1";
406
+ return "babylonjs@5.43.0";
407
407
  }
408
408
  /**
409
409
  * Returns the current version of the framework
410
410
  */
411
411
  static get Version() {
412
- return "5.42.1";
412
+ return "5.43.0";
413
413
  }
414
414
  /**
415
415
  * Returns a string describing the current engine
@@ -2563,6 +2563,116 @@ export class ThinEngine {
2563
2563
  this._gl.uniform4iv(uniform, array);
2564
2564
  return true;
2565
2565
  }
2566
+ /**
2567
+ * Set the value of an uniform to a number (unsigned int)
2568
+ * @param uniform defines the webGL uniform location where to store the value
2569
+ * @param value defines the unsigned int number to store
2570
+ * @returns true if the value was set
2571
+ */
2572
+ setUInt(uniform, value) {
2573
+ if (!uniform) {
2574
+ return false;
2575
+ }
2576
+ this._gl.uniform1ui(uniform, value);
2577
+ return true;
2578
+ }
2579
+ /**
2580
+ * Set the value of an uniform to a unsigned int2
2581
+ * @param uniform defines the webGL uniform location where to store the value
2582
+ * @param x defines the 1st component of the value
2583
+ * @param y defines the 2nd component of the value
2584
+ * @returns true if the value was set
2585
+ */
2586
+ setUInt2(uniform, x, y) {
2587
+ if (!uniform) {
2588
+ return false;
2589
+ }
2590
+ this._gl.uniform2ui(uniform, x, y);
2591
+ return true;
2592
+ }
2593
+ /**
2594
+ * Set the value of an uniform to a unsigned int3
2595
+ * @param uniform defines the webGL uniform location where to store the value
2596
+ * @param x defines the 1st component of the value
2597
+ * @param y defines the 2nd component of the value
2598
+ * @param z defines the 3rd component of the value
2599
+ * @returns true if the value was set
2600
+ */
2601
+ setUInt3(uniform, x, y, z) {
2602
+ if (!uniform) {
2603
+ return false;
2604
+ }
2605
+ this._gl.uniform3ui(uniform, x, y, z);
2606
+ return true;
2607
+ }
2608
+ /**
2609
+ * Set the value of an uniform to a unsigned int4
2610
+ * @param uniform defines the webGL uniform location where to store the value
2611
+ * @param x defines the 1st component of the value
2612
+ * @param y defines the 2nd component of the value
2613
+ * @param z defines the 3rd component of the value
2614
+ * @param w defines the 4th component of the value
2615
+ * @returns true if the value was set
2616
+ */
2617
+ setUInt4(uniform, x, y, z, w) {
2618
+ if (!uniform) {
2619
+ return false;
2620
+ }
2621
+ this._gl.uniform4ui(uniform, x, y, z, w);
2622
+ return true;
2623
+ }
2624
+ /**
2625
+ * Set the value of an uniform to an array of unsigned int32
2626
+ * @param uniform defines the webGL uniform location where to store the value
2627
+ * @param array defines the array of unsigned int32 to store
2628
+ * @returns true if the value was set
2629
+ */
2630
+ setUIntArray(uniform, array) {
2631
+ if (!uniform) {
2632
+ return false;
2633
+ }
2634
+ this._gl.uniform1uiv(uniform, array);
2635
+ return true;
2636
+ }
2637
+ /**
2638
+ * Set the value of an uniform to an array of unsigned int32 (stored as vec2)
2639
+ * @param uniform defines the webGL uniform location where to store the value
2640
+ * @param array defines the array of unsigned int32 to store
2641
+ * @returns true if the value was set
2642
+ */
2643
+ setUIntArray2(uniform, array) {
2644
+ if (!uniform || array.length % 2 !== 0) {
2645
+ return false;
2646
+ }
2647
+ this._gl.uniform2uiv(uniform, array);
2648
+ return true;
2649
+ }
2650
+ /**
2651
+ * Set the value of an uniform to an array of unsigned int32 (stored as vec3)
2652
+ * @param uniform defines the webGL uniform location where to store the value
2653
+ * @param array defines the array of unsigned int32 to store
2654
+ * @returns true if the value was set
2655
+ */
2656
+ setUIntArray3(uniform, array) {
2657
+ if (!uniform || array.length % 3 !== 0) {
2658
+ return false;
2659
+ }
2660
+ this._gl.uniform3uiv(uniform, array);
2661
+ return true;
2662
+ }
2663
+ /**
2664
+ * Set the value of an uniform to an array of unsigned int32 (stored as vec4)
2665
+ * @param uniform defines the webGL uniform location where to store the value
2666
+ * @param array defines the array of unsigned int32 to store
2667
+ * @returns true if the value was set
2668
+ */
2669
+ setUIntArray4(uniform, array) {
2670
+ if (!uniform || array.length % 4 !== 0) {
2671
+ return false;
2672
+ }
2673
+ this._gl.uniform4uiv(uniform, array);
2674
+ return true;
2675
+ }
2566
2676
  /**
2567
2677
  * Set the value of an uniform to an array of number
2568
2678
  * @param uniform defines the webGL uniform location where to store the value