babylonjs-materials 9.4.1 → 9.5.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 (53) hide show
  1. package/babylon.cellMaterial.min.js +2 -2
  2. package/babylon.cellMaterial.min.js.map +1 -1
  3. package/babylon.customMaterial.min.js +2 -2
  4. package/babylon.customMaterial.min.js.map +1 -1
  5. package/babylon.fireMaterial.min.js +2 -2
  6. package/babylon.fireMaterial.min.js.map +1 -1
  7. package/babylon.furMaterial.min.js +2 -2
  8. package/babylon.furMaterial.min.js.map +1 -1
  9. package/babylon.gradientMaterial.min.js +2 -2
  10. package/babylon.gradientMaterial.min.js.map +1 -1
  11. package/babylon.gridMaterial.min.js +2 -2
  12. package/babylon.gridMaterial.min.js.map +1 -1
  13. package/babylon.lavaMaterial.min.js +2 -2
  14. package/babylon.lavaMaterial.min.js.map +1 -1
  15. package/babylon.mixMaterial.min.js +2 -2
  16. package/babylon.mixMaterial.min.js.map +1 -1
  17. package/babylon.normalMaterial.min.js +2 -2
  18. package/babylon.normalMaterial.min.js.map +1 -1
  19. package/babylon.shadowOnlyMaterial.min.js +2 -2
  20. package/babylon.shadowOnlyMaterial.min.js.map +1 -1
  21. package/babylon.simpleMaterial.min.js +2 -2
  22. package/babylon.simpleMaterial.min.js.map +1 -1
  23. package/babylon.skyMaterial.min.js +2 -2
  24. package/babylon.skyMaterial.min.js.map +1 -1
  25. package/babylon.terrainMaterial.min.js +2 -2
  26. package/babylon.terrainMaterial.min.js.map +1 -1
  27. package/babylon.triPlanarMaterial.min.js +2 -2
  28. package/babylon.triPlanarMaterial.min.js.map +1 -1
  29. package/babylon.waterMaterial.min.js +2 -2
  30. package/babylon.waterMaterial.min.js.map +1 -1
  31. package/babylonjs.materials.d.ts +293 -14
  32. package/babylonjs.materials.js +2 -2
  33. package/babylonjs.materials.js.map +1 -0
  34. package/babylonjs.materials.min.js +2 -2
  35. package/babylonjs.materials.min.js.map +1 -1
  36. package/babylonjs.materials.module.d.ts +983 -56
  37. package/package.json +5 -10
  38. package/rollup.config.umd.mjs +35 -0
  39. package/babylon.cellMaterial.js +0 -2
  40. package/babylon.customMaterial.js +0 -2
  41. package/babylon.fireMaterial.js +0 -2
  42. package/babylon.furMaterial.js +0 -2
  43. package/babylon.gradientMaterial.js +0 -2
  44. package/babylon.gridMaterial.js +0 -2
  45. package/babylon.lavaMaterial.js +0 -2
  46. package/babylon.mixMaterial.js +0 -2
  47. package/babylon.normalMaterial.js +0 -2
  48. package/babylon.shadowOnlyMaterial.js +0 -2
  49. package/babylon.simpleMaterial.js +0 -2
  50. package/babylon.skyMaterial.js +0 -2
  51. package/babylon.terrainMaterial.js +0 -2
  52. package/babylon.triPlanarMaterial.js +0 -2
  53. package/babylon.waterMaterial.js +0 -2
@@ -92,6 +92,7 @@ declare namespace BABYLON {
92
92
  private _offsetMirror;
93
93
  private _tempPlane;
94
94
  private _lastTime;
95
+ private _shadersLoaded;
95
96
  private _lastDeltaTime;
96
97
  private _waitingRenderList;
97
98
  private _imageProcessingConfiguration;
@@ -105,8 +106,9 @@ declare namespace BABYLON {
105
106
  * @param name
106
107
  * @param scene
107
108
  * @param renderTargetSize
109
+ * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false
108
110
  */
109
- constructor(name: string, scene?: Scene, renderTargetSize?: Vector2);
111
+ constructor(name: string, scene?: Scene, renderTargetSize?: Vector2, forceGLSL?: boolean);
110
112
  get refractionTexture(): Nullable<RenderTargetTexture>;
111
113
  get reflectionTexture(): Nullable<RenderTargetTexture>;
112
114
  addToRenderList(node: any): void;
@@ -148,6 +150,20 @@ declare namespace BABYLON {
148
150
 
149
151
 
150
152
 
153
+ /** @internal */
154
+ export var waterVertexShaderWGSL: {
155
+ name: string;
156
+ shader: string;
157
+ };
158
+
159
+
160
+ /** @internal */
161
+ export var waterPixelShaderWGSL: {
162
+ name: string;
163
+ shader: string;
164
+ };
165
+
166
+
151
167
  /** @internal */
152
168
  export var triplanarVertexShader: {
153
169
  name: string;
@@ -184,7 +200,14 @@ declare namespace BABYLON {
184
200
  disableLighting: boolean;
185
201
  private _maxSimultaneousLights;
186
202
  maxSimultaneousLights: number;
187
- constructor(name: string, scene?: Scene);
203
+ private _shadersLoaded;
204
+ /**
205
+ * Instantiates a TriPlanar Material in the given scene
206
+ * @param name The friendly name of the material
207
+ * @param scene The scene to add the material to
208
+ * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false
209
+ */
210
+ constructor(name: string, scene?: Scene, forceGLSL?: boolean);
188
211
  needAlphaBlending(): boolean;
189
212
  needAlphaTesting(): boolean;
190
213
  getAlphaTestTexture(): Nullable<BaseTexture>;
@@ -203,6 +226,20 @@ declare namespace BABYLON {
203
226
 
204
227
 
205
228
 
229
+ /** @internal */
230
+ export var triplanarVertexShaderWGSL: {
231
+ name: string;
232
+ shader: string;
233
+ };
234
+
235
+
236
+ /** @internal */
237
+ export var triplanarPixelShaderWGSL: {
238
+ name: string;
239
+ shader: string;
240
+ };
241
+
242
+
206
243
  export class TerrainMaterial extends PushMaterial {
207
244
  private _mixTexture;
208
245
  mixTexture: BaseTexture;
@@ -225,7 +262,14 @@ declare namespace BABYLON {
225
262
  disableLighting: boolean;
226
263
  private _maxSimultaneousLights;
227
264
  maxSimultaneousLights: number;
228
- constructor(name: string, scene?: Scene);
265
+ private _shadersLoaded;
266
+ /**
267
+ * Instantiates a Terrain Material in the given scene
268
+ * @param name The friendly name of the material
269
+ * @param scene The scene to add the material to
270
+ * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false
271
+ */
272
+ constructor(name: string, scene?: Scene, forceGLSL?: boolean);
229
273
  needAlphaBlending(): boolean;
230
274
  needAlphaTesting(): boolean;
231
275
  getAlphaTestTexture(): Nullable<BaseTexture>;
@@ -258,6 +302,20 @@ declare namespace BABYLON {
258
302
 
259
303
 
260
304
 
305
+ /** @internal */
306
+ export var terrainVertexShaderWGSL: {
307
+ name: string;
308
+ shader: string;
309
+ };
310
+
311
+
312
+ /** @internal */
313
+ export var terrainPixelShaderWGSL: {
314
+ name: string;
315
+ shader: string;
316
+ };
317
+
318
+
261
319
  /**
262
320
  * This is the sky material which allows to create dynamic and texture free effects for skyboxes.
263
321
  * @see https://doc.babylonjs.com/toolsAndResources/assetLibraries/materialsLibrary/skyMat
@@ -322,6 +380,7 @@ declare namespace BABYLON {
322
380
  dithering: boolean;
323
381
  private _cameraPosition;
324
382
  private _skyOrientation;
383
+ private _shadersLoaded;
325
384
  /**
326
385
  * Instantiates a new sky material.
327
386
  * This material allows to create dynamic and texture free
@@ -329,8 +388,9 @@ declare namespace BABYLON {
329
388
  * @see https://doc.babylonjs.com/toolsAndResources/assetLibraries/materialsLibrary/skyMat
330
389
  * @param name Define the name of the material in the scene
331
390
  * @param scene Define the scene the material belong to
391
+ * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false
332
392
  */
333
- constructor(name: string, scene?: Scene);
393
+ constructor(name: string, scene?: Scene, forceGLSL?: boolean);
334
394
  /**
335
395
  * Specifies if the material will require alpha blending
336
396
  * @returns a boolean specifying if alpha blending is needed
@@ -415,6 +475,20 @@ declare namespace BABYLON {
415
475
 
416
476
 
417
477
 
478
+ /** @internal */
479
+ export var skyVertexShaderWGSL: {
480
+ name: string;
481
+ shader: string;
482
+ };
483
+
484
+
485
+ /** @internal */
486
+ export var skyPixelShaderWGSL: {
487
+ name: string;
488
+ shader: string;
489
+ };
490
+
491
+
418
492
  export class SimpleMaterial extends PushMaterial {
419
493
  private _diffuseTexture;
420
494
  diffuseTexture: BaseTexture;
@@ -423,7 +497,14 @@ declare namespace BABYLON {
423
497
  disableLighting: boolean;
424
498
  private _maxSimultaneousLights;
425
499
  maxSimultaneousLights: number;
426
- constructor(name: string, scene?: Scene);
500
+ private _shadersLoaded;
501
+ /**
502
+ * Instantiates a Simple Material in the given scene
503
+ * @param name The friendly name of the material
504
+ * @param scene The scene to add the material to
505
+ * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false
506
+ */
507
+ constructor(name: string, scene?: Scene, forceGLSL?: boolean);
427
508
  needAlphaBlending(): boolean;
428
509
  needAlphaTesting(): boolean;
429
510
  getAlphaTestTexture(): Nullable<BaseTexture>;
@@ -456,10 +537,31 @@ declare namespace BABYLON {
456
537
 
457
538
 
458
539
 
540
+ /** @internal */
541
+ export var simpleVertexShaderWGSL: {
542
+ name: string;
543
+ shader: string;
544
+ };
545
+
546
+
547
+ /** @internal */
548
+ export var simplePixelShaderWGSL: {
549
+ name: string;
550
+ shader: string;
551
+ };
552
+
553
+
459
554
  export class ShadowOnlyMaterial extends PushMaterial {
460
555
  private _activeLight;
461
556
  private _needAlphaBlending;
462
- constructor(name: string, scene?: Scene);
557
+ private _shadersLoaded;
558
+ /**
559
+ * Instantiates a ShadowOnly Material in the given scene
560
+ * @param name The friendly name of the material
561
+ * @param scene The scene to add the material to
562
+ * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false
563
+ */
564
+ constructor(name: string, scene?: Scene, forceGLSL?: boolean);
463
565
  shadowColor: Color3;
464
566
  needAlphaBlending(): boolean;
465
567
  needAlphaTesting(): boolean;
@@ -492,6 +594,20 @@ declare namespace BABYLON {
492
594
 
493
595
 
494
596
 
597
+ /** @internal */
598
+ export var shadowOnlyVertexShaderWGSL: {
599
+ name: string;
600
+ shader: string;
601
+ };
602
+
603
+
604
+ /** @internal */
605
+ export var shadowOnlyPixelShaderWGSL: {
606
+ name: string;
607
+ shader: string;
608
+ };
609
+
610
+
495
611
  export class NormalMaterial extends PushMaterial {
496
612
  private _diffuseTexture;
497
613
  diffuseTexture: BaseTexture;
@@ -500,7 +616,14 @@ declare namespace BABYLON {
500
616
  disableLighting: boolean;
501
617
  private _maxSimultaneousLights;
502
618
  maxSimultaneousLights: number;
503
- constructor(name: string, scene?: Scene);
619
+ private _shadersLoaded;
620
+ /**
621
+ * Instantiates a Normal Material in the given scene
622
+ * @param name The friendly name of the material
623
+ * @param scene The scene to add the material to
624
+ * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false
625
+ */
626
+ constructor(name: string, scene?: Scene, forceGLSL?: boolean);
504
627
  needAlphaBlending(): boolean;
505
628
  needAlphaBlendingForMesh(mesh: AbstractMesh): boolean;
506
629
  needAlphaTesting(): boolean;
@@ -534,6 +657,20 @@ declare namespace BABYLON {
534
657
 
535
658
 
536
659
 
660
+ /** @internal */
661
+ export var normalVertexShaderWGSL: {
662
+ name: string;
663
+ shader: string;
664
+ };
665
+
666
+
667
+ /** @internal */
668
+ export var normalPixelShaderWGSL: {
669
+ name: string;
670
+ shader: string;
671
+ };
672
+
673
+
537
674
  export class MixMaterial extends PushMaterial {
538
675
  /**
539
676
  * Mix textures
@@ -571,7 +708,14 @@ declare namespace BABYLON {
571
708
  disableLighting: boolean;
572
709
  private _maxSimultaneousLights;
573
710
  maxSimultaneousLights: number;
574
- constructor(name: string, scene?: Scene);
711
+ private _shadersLoaded;
712
+ /**
713
+ * Instantiates a Mix Material in the given scene
714
+ * @param name The friendly name of the material
715
+ * @param scene The scene to add the material to
716
+ * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false
717
+ */
718
+ constructor(name: string, scene?: Scene, forceGLSL?: boolean);
575
719
  needAlphaBlending(): boolean;
576
720
  needAlphaTesting(): boolean;
577
721
  getAlphaTestTexture(): Nullable<BaseTexture>;
@@ -604,6 +748,20 @@ declare namespace BABYLON {
604
748
 
605
749
 
606
750
 
751
+ /** @internal */
752
+ export var mixVertexShaderWGSL: {
753
+ name: string;
754
+ shader: string;
755
+ };
756
+
757
+
758
+ /** @internal */
759
+ export var mixPixelShaderWGSL: {
760
+ name: string;
761
+ shader: string;
762
+ };
763
+
764
+
607
765
 
608
766
 
609
767
 
@@ -652,7 +810,14 @@ declare namespace BABYLON {
652
810
  private _maxSimultaneousLights;
653
811
  maxSimultaneousLights: number;
654
812
  private _scaledDiffuse;
655
- constructor(name: string, scene?: Scene);
813
+ private _shadersLoaded;
814
+ /**
815
+ * Instantiates a Lava Material in the given scene
816
+ * @param name The friendly name of the material
817
+ * @param scene The scene to add the material to
818
+ * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false
819
+ */
820
+ constructor(name: string, scene?: Scene, forceGLSL?: boolean);
656
821
  needAlphaBlending(): boolean;
657
822
  needAlphaTesting(): boolean;
658
823
  getAlphaTestTexture(): Nullable<BaseTexture>;
@@ -685,6 +850,20 @@ declare namespace BABYLON {
685
850
 
686
851
 
687
852
 
853
+ /** @internal */
854
+ export var lavaVertexShaderWGSL: {
855
+ name: string;
856
+ shader: string;
857
+ };
858
+
859
+
860
+ /** @internal */
861
+ export var lavaPixelShaderWGSL: {
862
+ name: string;
863
+ shader: string;
864
+ };
865
+
866
+
688
867
 
689
868
 
690
869
  /**
@@ -742,8 +921,10 @@ declare namespace BABYLON {
742
921
  * constructor
743
922
  * @param name The name given to the material in order to identify it afterwards.
744
923
  * @param scene The scene the material is used in.
924
+ * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false
745
925
  */
746
- constructor(name: string, scene?: Scene);
926
+ constructor(name: string, scene?: Scene, forceGLSL?: boolean);
927
+ private _shadersLoaded;
747
928
  /**
748
929
  * @returns whether or not the grid requires alpha blending.
749
930
  */
@@ -777,6 +958,20 @@ declare namespace BABYLON {
777
958
  };
778
959
 
779
960
 
961
+ /** @internal */
962
+ export var gridVertexShaderWGSL: {
963
+ name: string;
964
+ shader: string;
965
+ };
966
+
967
+
968
+ /** @internal */
969
+ export var gridPixelShaderWGSL: {
970
+ name: string;
971
+ shader: string;
972
+ };
973
+
974
+
780
975
 
781
976
 
782
977
  export class GradientMaterial extends PushMaterial {
@@ -791,7 +986,14 @@ declare namespace BABYLON {
791
986
  smoothness: number;
792
987
  private _disableLighting;
793
988
  disableLighting: boolean;
794
- constructor(name: string, scene?: Scene);
989
+ private _shadersLoaded;
990
+ /**
991
+ * Instantiates a Gradient Material in the given scene
992
+ * @param name The friendly name of the material
993
+ * @param scene The scene to add the material to
994
+ * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false
995
+ */
996
+ constructor(name: string, scene?: Scene, forceGLSL?: boolean);
795
997
  needAlphaBlending(): boolean;
796
998
  needAlphaTesting(): boolean;
797
999
  getAlphaTestTexture(): Nullable<BaseTexture>;
@@ -820,6 +1022,20 @@ declare namespace BABYLON {
820
1022
  };
821
1023
 
822
1024
 
1025
+ /** @internal */
1026
+ export var gradientVertexShaderWGSL: {
1027
+ name: string;
1028
+ shader: string;
1029
+ };
1030
+
1031
+
1032
+ /** @internal */
1033
+ export var gradientPixelShaderWGSL: {
1034
+ name: string;
1035
+ shader: string;
1036
+ };
1037
+
1038
+
823
1039
 
824
1040
 
825
1041
  export class FurMaterial extends PushMaterial {
@@ -845,7 +1061,14 @@ declare namespace BABYLON {
845
1061
  highLevelFur: boolean;
846
1062
  _meshes: AbstractMesh[];
847
1063
  private _furTime;
848
- constructor(name: string, scene?: Scene);
1064
+ private _shadersLoaded;
1065
+ /**
1066
+ * Instantiates a Fur Material in the given scene
1067
+ * @param name The friendly name of the material
1068
+ * @param scene The scene to add the material to
1069
+ * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false
1070
+ */
1071
+ constructor(name: string, scene?: Scene, forceGLSL?: boolean);
849
1072
  get furTime(): number;
850
1073
  set furTime(furTime: number);
851
1074
  needAlphaBlending(): boolean;
@@ -881,6 +1104,20 @@ declare namespace BABYLON {
881
1104
  };
882
1105
 
883
1106
 
1107
+ /** @internal */
1108
+ export var furVertexShaderWGSL: {
1109
+ name: string;
1110
+ shader: string;
1111
+ };
1112
+
1113
+
1114
+ /** @internal */
1115
+ export var furPixelShaderWGSL: {
1116
+ name: string;
1117
+ shader: string;
1118
+ };
1119
+
1120
+
884
1121
 
885
1122
 
886
1123
  export class FireMaterial extends PushMaterial {
@@ -894,7 +1131,14 @@ declare namespace BABYLON {
894
1131
  speed: number;
895
1132
  private _scaledDiffuse;
896
1133
  private _lastTime;
897
- constructor(name: string, scene?: Scene);
1134
+ private _shadersLoaded;
1135
+ /**
1136
+ * Instantiates a Fire Material in the given scene
1137
+ * @param name The friendly name of the material
1138
+ * @param scene The scene to add the material to
1139
+ * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false
1140
+ */
1141
+ constructor(name: string, scene?: Scene, forceGLSL?: boolean);
898
1142
  needAlphaBlending(): boolean;
899
1143
  needAlphaTesting(): boolean;
900
1144
  getAlphaTestTexture(): Nullable<BaseTexture>;
@@ -925,6 +1169,20 @@ declare namespace BABYLON {
925
1169
  };
926
1170
 
927
1171
 
1172
+ /** @internal */
1173
+ export var fireVertexShaderWGSL: {
1174
+ name: string;
1175
+ shader: string;
1176
+ };
1177
+
1178
+
1179
+ /** @internal */
1180
+ export var firePixelShaderWGSL: {
1181
+ name: string;
1182
+ shader: string;
1183
+ };
1184
+
1185
+
928
1186
  /**
929
1187
  * Albedo parts of the shader
930
1188
  */
@@ -1501,7 +1759,14 @@ declare namespace BABYLON {
1501
1759
  disableLighting: boolean;
1502
1760
  private _maxSimultaneousLights;
1503
1761
  maxSimultaneousLights: number;
1504
- constructor(name: string, scene?: Scene);
1762
+ private _shadersLoaded;
1763
+ /**
1764
+ * Instantiates a Cell Material in the given scene
1765
+ * @param name The friendly name of the material
1766
+ * @param scene The scene to add the material to
1767
+ * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false
1768
+ */
1769
+ constructor(name: string, scene?: Scene, forceGLSL?: boolean);
1505
1770
  needAlphaBlending(): boolean;
1506
1771
  needAlphaTesting(): boolean;
1507
1772
  getAlphaTestTexture(): Nullable<BaseTexture>;
@@ -1532,6 +1797,20 @@ declare namespace BABYLON {
1532
1797
  };
1533
1798
 
1534
1799
 
1800
+ /** @internal */
1801
+ export var cellVertexShaderWGSL: {
1802
+ name: string;
1803
+ shader: string;
1804
+ };
1805
+
1806
+
1807
+ /** @internal */
1808
+ export var cellPixelShaderWGSL: {
1809
+ name: string;
1810
+ shader: string;
1811
+ };
1812
+
1813
+
1535
1814
 
1536
1815
  }
1537
1816