@babylonjs/materials 5.0.0-alpha.9 → 5.0.0-beta.11

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 (161) hide show
  1. package/cell/cell.fragment.js +15 -15
  2. package/cell/cell.fragment.js.map +1 -1
  3. package/cell/cell.vertex.d.ts +2 -0
  4. package/cell/cell.vertex.js +16 -14
  5. package/cell/cell.vertex.js.map +1 -1
  6. package/cell/cellMaterial.d.ts +1 -1
  7. package/cell/cellMaterial.js +22 -20
  8. package/cell/cellMaterial.js.map +1 -1
  9. package/cell/index.js +1 -1
  10. package/custom/customMaterial.d.ts +4 -2
  11. package/custom/customMaterial.js +10 -5
  12. package/custom/customMaterial.js.map +1 -1
  13. package/custom/index.js +2 -2
  14. package/custom/pbrCustomMaterial.d.ts +6 -2
  15. package/custom/pbrCustomMaterial.js +19 -8
  16. package/custom/pbrCustomMaterial.js.map +1 -1
  17. package/fire/fire.fragment.js +9 -9
  18. package/fire/fire.fragment.js.map +1 -1
  19. package/fire/fire.vertex.d.ts +2 -0
  20. package/fire/fire.vertex.js +13 -11
  21. package/fire/fire.vertex.js.map +1 -1
  22. package/fire/fireMaterial.d.ts +1 -1
  23. package/fire/fireMaterial.js +23 -21
  24. package/fire/fireMaterial.js.map +1 -1
  25. package/fire/index.js +1 -1
  26. package/fur/fur.fragment.js +15 -15
  27. package/fur/fur.fragment.js.map +1 -1
  28. package/fur/fur.vertex.d.ts +2 -0
  29. package/fur/fur.vertex.js +16 -14
  30. package/fur/fur.vertex.js.map +1 -1
  31. package/fur/furMaterial.d.ts +1 -1
  32. package/fur/furMaterial.js +26 -24
  33. package/fur/furMaterial.js.map +1 -1
  34. package/fur/index.js +1 -1
  35. package/gradient/gradient.fragment.js +15 -15
  36. package/gradient/gradient.fragment.js.map +1 -1
  37. package/gradient/gradient.vertex.d.ts +2 -0
  38. package/gradient/gradient.vertex.js +16 -14
  39. package/gradient/gradient.vertex.js.map +1 -1
  40. package/gradient/gradientMaterial.d.ts +1 -1
  41. package/gradient/gradientMaterial.js +21 -19
  42. package/gradient/gradientMaterial.js.map +1 -1
  43. package/gradient/index.js +1 -1
  44. package/grid/grid.fragment.js +6 -6
  45. package/grid/grid.fragment.js.map +1 -1
  46. package/grid/grid.vertex.js +7 -7
  47. package/grid/grid.vertex.js.map +1 -1
  48. package/grid/gridMaterial.d.ts +5 -1
  49. package/grid/gridMaterial.js +33 -19
  50. package/grid/gridMaterial.js.map +1 -1
  51. package/grid/index.js +1 -1
  52. package/index.d.ts +15 -15
  53. package/index.js +15 -15
  54. package/index.js.map +1 -1
  55. package/lava/index.js +1 -1
  56. package/lava/lava.fragment.js +15 -15
  57. package/lava/lava.fragment.js.map +1 -1
  58. package/lava/lava.vertex.d.ts +2 -0
  59. package/lava/lava.vertex.js +16 -14
  60. package/lava/lava.vertex.js.map +1 -1
  61. package/lava/lavaMaterial.d.ts +1 -1
  62. package/lava/lavaMaterial.js +22 -20
  63. package/lava/lavaMaterial.js.map +1 -1
  64. package/legacy/legacy-cell.js +2 -2
  65. package/legacy/legacy-custom.js +2 -2
  66. package/legacy/legacy-fire.js +2 -2
  67. package/legacy/legacy-fur.js +2 -2
  68. package/legacy/legacy-gradient.js +2 -2
  69. package/legacy/legacy-grid.js +2 -2
  70. package/legacy/legacy-lava.js +2 -2
  71. package/legacy/legacy-mix.js +2 -2
  72. package/legacy/legacy-normal.js +2 -2
  73. package/legacy/legacy-shadowOnly.js +2 -2
  74. package/legacy/legacy-simple.d.ts +1 -1
  75. package/legacy/legacy-simple.js +2 -2
  76. package/legacy/legacy-simple.js.map +1 -1
  77. package/legacy/legacy-sky.d.ts +1 -1
  78. package/legacy/legacy-sky.js +2 -2
  79. package/legacy/legacy-sky.js.map +1 -1
  80. package/legacy/legacy-terrain.d.ts +1 -1
  81. package/legacy/legacy-terrain.js +2 -2
  82. package/legacy/legacy-terrain.js.map +1 -1
  83. package/legacy/legacy-triPlanar.d.ts +1 -1
  84. package/legacy/legacy-triPlanar.js +2 -2
  85. package/legacy/legacy-triPlanar.js.map +1 -1
  86. package/legacy/legacy-water.d.ts +1 -1
  87. package/legacy/legacy-water.js +2 -2
  88. package/legacy/legacy-water.js.map +1 -1
  89. package/legacy/legacy.js +2 -2
  90. package/mix/index.js +1 -1
  91. package/mix/mix.fragment.js +15 -15
  92. package/mix/mix.fragment.js.map +1 -1
  93. package/mix/mix.vertex.d.ts +2 -0
  94. package/mix/mix.vertex.js +16 -14
  95. package/mix/mix.vertex.js.map +1 -1
  96. package/mix/mixMaterial.d.ts +1 -1
  97. package/mix/mixMaterial.js +22 -20
  98. package/mix/mixMaterial.js.map +1 -1
  99. package/normal/index.js +1 -1
  100. package/normal/normal.fragment.js +15 -15
  101. package/normal/normal.fragment.js.map +1 -1
  102. package/normal/normal.vertex.d.ts +2 -0
  103. package/normal/normal.vertex.js +16 -14
  104. package/normal/normal.vertex.js.map +1 -1
  105. package/normal/normalMaterial.d.ts +1 -1
  106. package/normal/normalMaterial.js +21 -20
  107. package/normal/normalMaterial.js.map +1 -1
  108. package/package.json +3 -3
  109. package/shadowOnly/index.js +1 -1
  110. package/shadowOnly/shadowOnly.fragment.js +14 -14
  111. package/shadowOnly/shadowOnly.fragment.js.map +1 -1
  112. package/shadowOnly/shadowOnly.vertex.d.ts +2 -0
  113. package/shadowOnly/shadowOnly.vertex.js +16 -14
  114. package/shadowOnly/shadowOnly.vertex.js.map +1 -1
  115. package/shadowOnly/shadowOnlyMaterial.d.ts +1 -1
  116. package/shadowOnly/shadowOnlyMaterial.js +20 -19
  117. package/shadowOnly/shadowOnlyMaterial.js.map +1 -1
  118. package/simple/index.js +1 -1
  119. package/simple/simple.fragment.js +15 -15
  120. package/simple/simple.fragment.js.map +1 -1
  121. package/simple/simple.vertex.d.ts +2 -0
  122. package/simple/simple.vertex.js +16 -14
  123. package/simple/simple.vertex.js.map +1 -1
  124. package/simple/simpleMaterial.d.ts +1 -1
  125. package/simple/simpleMaterial.js +22 -20
  126. package/simple/simpleMaterial.js.map +1 -1
  127. package/sky/index.js +1 -1
  128. package/sky/sky.fragment.js +8 -8
  129. package/sky/sky.fragment.js.map +1 -1
  130. package/sky/sky.vertex.js +7 -7
  131. package/sky/sky.vertex.js.map +1 -1
  132. package/sky/skyMaterial.d.ts +1 -1
  133. package/sky/skyMaterial.js +25 -21
  134. package/sky/skyMaterial.js.map +1 -1
  135. package/terrain/index.js +1 -1
  136. package/terrain/terrain.fragment.js +15 -15
  137. package/terrain/terrain.fragment.js.map +1 -1
  138. package/terrain/terrain.vertex.d.ts +2 -0
  139. package/terrain/terrain.vertex.js +16 -14
  140. package/terrain/terrain.vertex.js.map +1 -1
  141. package/terrain/terrainMaterial.d.ts +1 -1
  142. package/terrain/terrainMaterial.js +22 -20
  143. package/terrain/terrainMaterial.js.map +1 -1
  144. package/triPlanar/index.js +1 -1
  145. package/triPlanar/triPlanarMaterial.d.ts +1 -1
  146. package/triPlanar/triPlanarMaterial.js +22 -20
  147. package/triPlanar/triPlanarMaterial.js.map +1 -1
  148. package/triPlanar/triplanar.fragment.js +15 -15
  149. package/triPlanar/triplanar.fragment.js.map +1 -1
  150. package/triPlanar/triplanar.vertex.d.ts +2 -0
  151. package/triPlanar/triplanar.vertex.js +16 -14
  152. package/triPlanar/triplanar.vertex.js.map +1 -1
  153. package/water/index.js +1 -1
  154. package/water/water.fragment.js +17 -17
  155. package/water/water.fragment.js.map +1 -1
  156. package/water/water.vertex.d.ts +2 -0
  157. package/water/water.vertex.js +18 -16
  158. package/water/water.vertex.js.map +1 -1
  159. package/water/waterMaterial.d.ts +1 -1
  160. package/water/waterMaterial.js +34 -31
  161. package/water/waterMaterial.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-sky.js","sourceRoot":"","sources":["../../../sourceES6/materialsLibrary/src/legacy/legacy-sky.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC;;;GAGG;AACH,IAAI,YAAY,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACrH,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;IACrC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;QACd,YAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAS,MAAO,CAAC,GAAG,CAAC,CAAC;KACzD;CACJ;AAED,cAAc,QAAQ,CAAC","sourcesContent":["import * as MatLib from \"../sky\";\r\n\r\n/**\r\n * This is the entry point for the UMD module.\r\n * The entry point for a future ESM package should be index.ts\r\n */\r\nvar globalObject = (typeof global !== 'undefined') ? global : ((typeof window !== 'undefined') ? window : undefined);\r\nif (typeof globalObject !== \"undefined\") {\r\n for (var key in MatLib) {\r\n (<any>globalObject).BABYLON[key] = (<any>MatLib)[key];\r\n }\r\n}\r\n\r\nexport * from \"../sky\";"]}
1
+ {"version":3,"file":"legacy-sky.js","sourceRoot":"","sources":["../../../sourceES6/materialsLibrary/src/legacy/legacy-sky.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC;;;GAGG;AACH,IAAI,YAAY,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACrH,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;IACrC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;QACd,YAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAS,MAAO,CAAC,GAAG,CAAC,CAAC;KACzD;CACJ;AAED,cAAc,cAAc,CAAC","sourcesContent":["import * as MatLib from \"../sky/index\";\r\n\r\n/**\r\n * This is the entry point for the UMD module.\r\n * The entry point for a future ESM package should be index.ts\r\n */\r\nvar globalObject = (typeof global !== 'undefined') ? global : ((typeof window !== 'undefined') ? window : undefined);\r\nif (typeof globalObject !== \"undefined\") {\r\n for (var key in MatLib) {\r\n (<any>globalObject).BABYLON[key] = (<any>MatLib)[key];\r\n }\r\n}\r\n\r\nexport * from \"../sky/index\";"]}
@@ -1 +1 @@
1
- export * from "../terrain";
1
+ export * from "../terrain/index";
@@ -1,4 +1,4 @@
1
- import * as MatLib from "../terrain";
1
+ import * as MatLib from "../terrain/index.js";
2
2
  /**
3
3
  * This is the entry point for the UMD module.
4
4
  * The entry point for a future ESM package should be index.ts
@@ -9,5 +9,5 @@ if (typeof globalObject !== "undefined") {
9
9
  globalObject.BABYLON[key] = MatLib[key];
10
10
  }
11
11
  }
12
- export * from "../terrain";
12
+ export * from "../terrain/index.js";
13
13
  //# sourceMappingURL=legacy-terrain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-terrain.js","sourceRoot":"","sources":["../../../sourceES6/materialsLibrary/src/legacy/legacy-terrain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AAErC;;;GAGG;AACH,IAAI,YAAY,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACrH,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;IACrC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;QACd,YAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAS,MAAO,CAAC,GAAG,CAAC,CAAC;KACzD;CACJ;AAED,cAAc,YAAY,CAAC","sourcesContent":["import * as MatLib from \"../terrain\";\r\n\r\n/**\r\n * This is the entry point for the UMD module.\r\n * The entry point for a future ESM package should be index.ts\r\n */\r\nvar globalObject = (typeof global !== 'undefined') ? global : ((typeof window !== 'undefined') ? window : undefined);\r\nif (typeof globalObject !== \"undefined\") {\r\n for (var key in MatLib) {\r\n (<any>globalObject).BABYLON[key] = (<any>MatLib)[key];\r\n }\r\n}\r\n\r\nexport * from \"../terrain\";"]}
1
+ {"version":3,"file":"legacy-terrain.js","sourceRoot":"","sources":["../../../sourceES6/materialsLibrary/src/legacy/legacy-terrain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAE3C;;;GAGG;AACH,IAAI,YAAY,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACrH,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;IACrC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;QACd,YAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAS,MAAO,CAAC,GAAG,CAAC,CAAC;KACzD;CACJ;AAED,cAAc,kBAAkB,CAAC","sourcesContent":["import * as MatLib from \"../terrain/index\";\r\n\r\n/**\r\n * This is the entry point for the UMD module.\r\n * The entry point for a future ESM package should be index.ts\r\n */\r\nvar globalObject = (typeof global !== 'undefined') ? global : ((typeof window !== 'undefined') ? window : undefined);\r\nif (typeof globalObject !== \"undefined\") {\r\n for (var key in MatLib) {\r\n (<any>globalObject).BABYLON[key] = (<any>MatLib)[key];\r\n }\r\n}\r\n\r\nexport * from \"../terrain/index\";"]}
@@ -1 +1 @@
1
- export * from "../triPlanar";
1
+ export * from "../triPlanar/index";
@@ -1,4 +1,4 @@
1
- import * as MatLib from "../triPlanar";
1
+ import * as MatLib from "../triPlanar/index.js";
2
2
  /**
3
3
  * This is the entry point for the UMD module.
4
4
  * The entry point for a future ESM package should be index.ts
@@ -9,5 +9,5 @@ if (typeof globalObject !== "undefined") {
9
9
  globalObject.BABYLON[key] = MatLib[key];
10
10
  }
11
11
  }
12
- export * from "../triPlanar";
12
+ export * from "../triPlanar/index.js";
13
13
  //# sourceMappingURL=legacy-triPlanar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-triPlanar.js","sourceRoot":"","sources":["../../../sourceES6/materialsLibrary/src/legacy/legacy-triPlanar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC;;;GAGG;AACH,IAAI,YAAY,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACrH,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;IACrC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;QACd,YAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAS,MAAO,CAAC,GAAG,CAAC,CAAC;KACzD;CACJ;AAED,cAAc,cAAc,CAAC","sourcesContent":["import * as MatLib from \"../triPlanar\";\r\n\r\n/**\r\n * This is the entry point for the UMD module.\r\n * The entry point for a future ESM package should be index.ts\r\n */\r\nvar globalObject = (typeof global !== 'undefined') ? global : ((typeof window !== 'undefined') ? window : undefined);\r\nif (typeof globalObject !== \"undefined\") {\r\n for (var key in MatLib) {\r\n (<any>globalObject).BABYLON[key] = (<any>MatLib)[key];\r\n }\r\n}\r\n\r\nexport * from \"../triPlanar\";"]}
1
+ {"version":3,"file":"legacy-triPlanar.js","sourceRoot":"","sources":["../../../sourceES6/materialsLibrary/src/legacy/legacy-triPlanar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAE7C;;;GAGG;AACH,IAAI,YAAY,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACrH,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;IACrC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;QACd,YAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAS,MAAO,CAAC,GAAG,CAAC,CAAC;KACzD;CACJ;AAED,cAAc,oBAAoB,CAAC","sourcesContent":["import * as MatLib from \"../triPlanar/index\";\r\n\r\n/**\r\n * This is the entry point for the UMD module.\r\n * The entry point for a future ESM package should be index.ts\r\n */\r\nvar globalObject = (typeof global !== 'undefined') ? global : ((typeof window !== 'undefined') ? window : undefined);\r\nif (typeof globalObject !== \"undefined\") {\r\n for (var key in MatLib) {\r\n (<any>globalObject).BABYLON[key] = (<any>MatLib)[key];\r\n }\r\n}\r\n\r\nexport * from \"../triPlanar/index\";"]}
@@ -1 +1 @@
1
- export * from "../water";
1
+ export * from "../water/index";
@@ -1,4 +1,4 @@
1
- import * as MatLib from "../water";
1
+ import * as MatLib from "../water/index.js";
2
2
  /**
3
3
  * This is the entry point for the UMD module.
4
4
  * The entry point for a future ESM package should be index.ts
@@ -9,5 +9,5 @@ if (typeof globalObject !== "undefined") {
9
9
  globalObject.BABYLON[key] = MatLib[key];
10
10
  }
11
11
  }
12
- export * from "../water";
12
+ export * from "../water/index.js";
13
13
  //# sourceMappingURL=legacy-water.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-water.js","sourceRoot":"","sources":["../../../sourceES6/materialsLibrary/src/legacy/legacy-water.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC;;;GAGG;AACH,IAAI,YAAY,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACrH,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;IACrC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;QACd,YAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAS,MAAO,CAAC,GAAG,CAAC,CAAC;KACzD;CACJ;AAED,cAAc,UAAU,CAAC","sourcesContent":["import * as MatLib from \"../water\";\r\n\r\n/**\r\n * This is the entry point for the UMD module.\r\n * The entry point for a future ESM package should be index.ts\r\n */\r\nvar globalObject = (typeof global !== 'undefined') ? global : ((typeof window !== 'undefined') ? window : undefined);\r\nif (typeof globalObject !== \"undefined\") {\r\n for (var key in MatLib) {\r\n (<any>globalObject).BABYLON[key] = (<any>MatLib)[key];\r\n }\r\n}\r\n\r\nexport * from \"../water\";"]}
1
+ {"version":3,"file":"legacy-water.js","sourceRoot":"","sources":["../../../sourceES6/materialsLibrary/src/legacy/legacy-water.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC;;;GAGG;AACH,IAAI,YAAY,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACrH,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;IACrC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;QACd,YAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAS,MAAO,CAAC,GAAG,CAAC,CAAC;KACzD;CACJ;AAED,cAAc,gBAAgB,CAAC","sourcesContent":["import * as MatLib from \"../water/index\";\r\n\r\n/**\r\n * This is the entry point for the UMD module.\r\n * The entry point for a future ESM package should be index.ts\r\n */\r\nvar globalObject = (typeof global !== 'undefined') ? global : ((typeof window !== 'undefined') ? window : undefined);\r\nif (typeof globalObject !== \"undefined\") {\r\n for (var key in MatLib) {\r\n (<any>globalObject).BABYLON[key] = (<any>MatLib)[key];\r\n }\r\n}\r\n\r\nexport * from \"../water/index\";"]}
package/legacy/legacy.js CHANGED
@@ -1,4 +1,4 @@
1
- import * as MatLib from "../index";
1
+ import * as MatLib from "../index.js";
2
2
  /**
3
3
  * Legacy support, defining window.BABYLON.GridMaterial... (global variable).
4
4
  *
@@ -12,5 +12,5 @@ if (typeof globalObject !== "undefined") {
12
12
  globalObject.BABYLON[mat] = MatLib[mat];
13
13
  }
14
14
  }
15
- export * from "../index";
15
+ export * from "../index.js";
16
16
  //# sourceMappingURL=legacy.js.map
package/mix/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export * from "./mixMaterial";
1
+ export * from "./mixMaterial.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,19 +1,19 @@
1
- import { Effect } from "@babylonjs/core/Materials/effect";
2
- import "@babylonjs/core/Shaders/ShadersInclude/helperFunctions";
3
- import "@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration";
4
- import "@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration";
5
- import "@babylonjs/core/Shaders/ShadersInclude/lightsFragmentFunctions";
6
- import "@babylonjs/core/Shaders/ShadersInclude/shadowsFragmentFunctions";
7
- import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration";
8
- import "@babylonjs/core/Shaders/ShadersInclude/fogFragmentDeclaration";
9
- import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragment";
10
- import "@babylonjs/core/Shaders/ShadersInclude/depthPrePass";
11
- import "@babylonjs/core/Shaders/ShadersInclude/lightFragment";
12
- import "@babylonjs/core/Shaders/ShadersInclude/fogFragment";
13
- import "@babylonjs/core/Shaders/ShadersInclude/imageProcessingCompatibility";
1
+ import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
2
+ import "@babylonjs/core/Shaders/ShadersInclude/helperFunctions.js";
3
+ import "@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration.js";
4
+ import "@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration.js";
5
+ import "@babylonjs/core/Shaders/ShadersInclude/lightsFragmentFunctions.js";
6
+ import "@babylonjs/core/Shaders/ShadersInclude/shadowsFragmentFunctions.js";
7
+ import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js";
8
+ import "@babylonjs/core/Shaders/ShadersInclude/fogFragmentDeclaration.js";
9
+ import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragment.js";
10
+ import "@babylonjs/core/Shaders/ShadersInclude/depthPrePass.js";
11
+ import "@babylonjs/core/Shaders/ShadersInclude/lightFragment.js";
12
+ import "@babylonjs/core/Shaders/ShadersInclude/fogFragment.js";
13
+ import "@babylonjs/core/Shaders/ShadersInclude/imageProcessingCompatibility.js";
14
14
  var name = 'mixPixelShader';
15
- var shader = "precision highp float;\n\nuniform vec4 vEyePosition;\nuniform vec4 vDiffuseColor;\n#ifdef SPECULARTERM\nuniform vec4 vSpecularColor;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include<helperFunctions>\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;\nuniform sampler2D mixMap1Sampler;\nuniform vec2 vTextureInfos;\n#ifdef MIXMAP2\nuniform sampler2D mixMap2Sampler;\n#endif\nuniform sampler2D diffuse1Sampler;\nuniform sampler2D diffuse2Sampler;\nuniform sampler2D diffuse3Sampler;\nuniform sampler2D diffuse4Sampler;\nuniform vec2 diffuse1Infos;\nuniform vec2 diffuse2Infos;\nuniform vec2 diffuse3Infos;\nuniform vec2 diffuse4Infos;\n#ifdef MIXMAP2\nuniform sampler2D diffuse5Sampler;\nuniform sampler2D diffuse6Sampler;\nuniform sampler2D diffuse7Sampler;\nuniform sampler2D diffuse8Sampler;\nuniform vec2 diffuse5Infos;\nuniform vec2 diffuse6Infos;\nuniform vec2 diffuse7Infos;\nuniform vec2 diffuse8Infos;\n#endif\n#endif\n\n#include<lightsFragmentFunctions>\n#include<shadowsFragmentFunctions>\n#include<clipPlaneFragmentDeclaration>\n\n#include<fogFragmentDeclaration>\nvoid main(void) {\n\n#include<clipPlaneFragment>\nvec3 viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\n\nvec4 finalMixColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n#ifdef MIXMAP2\nvec4 mixColor2=vec4(1.,1.,1.,1.);\n#endif\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;\nvec3 specularColor=vSpecularColor.rgb;\n#else\nfloat glossiness=0.;\n#endif\n\nfloat alpha=vDiffuseColor.a;\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n#ifdef DIFFUSE\nvec4 mixColor=texture2D(mixMap1Sampler,vTextureUV);\n#include<depthPrePass>\nmixColor.rgb*=vTextureInfos.y;\nvec4 diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);\nvec4 diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);\nvec4 diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);\nvec4 diffuse4Color=texture2D(diffuse4Sampler,vTextureUV*diffuse4Infos);\ndiffuse1Color.rgb*=mixColor.r;\ndiffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,mixColor.g);\ndiffuse3Color.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,mixColor.b);\nfinalMixColor.rgb=mix(diffuse3Color.rgb,diffuse4Color.rgb,1.0-mixColor.a);\n#ifdef MIXMAP2\nmixColor=texture2D(mixMap2Sampler,vTextureUV);\nmixColor.rgb*=vTextureInfos.y;\nvec4 diffuse5Color=texture2D(diffuse5Sampler,vTextureUV*diffuse5Infos);\nvec4 diffuse6Color=texture2D(diffuse6Sampler,vTextureUV*diffuse6Infos);\nvec4 diffuse7Color=texture2D(diffuse7Sampler,vTextureUV*diffuse7Infos);\nvec4 diffuse8Color=texture2D(diffuse8Sampler,vTextureUV*diffuse8Infos);\ndiffuse5Color.rgb=mix(finalMixColor.rgb,diffuse5Color.rgb,mixColor.r);\ndiffuse6Color.rgb=mix(diffuse5Color.rgb,diffuse6Color.rgb,mixColor.g);\ndiffuse7Color.rgb=mix(diffuse6Color.rgb,diffuse7Color.rgb,mixColor.b);\nfinalMixColor.rgb=mix(diffuse7Color.rgb,diffuse8Color.rgb,1.0-mixColor.a);\n#endif\n#endif\n#ifdef VERTEXCOLOR\nfinalMixColor.rgb*=vColor.rgb;\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\n#ifdef SPECULARTERM\nvec3 specularBase=vec3(0.,0.,0.);\n#endif\n#include<lightFragment>[0..maxSimultaneousLights]\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase*specularColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor*finalMixColor.rgb,0.0,1.0);\n\nvec4 color=vec4(finalDiffuse+finalSpecular,alpha);\n#include<fogFragment>\ngl_FragColor=color;\n#include<imageProcessingCompatibility>\n}\n";
16
- Effect.ShadersStore[name] = shader;
15
+ var shader = "precision highp float;\n\nuniform vec4 vEyePosition;\nuniform vec4 vDiffuseColor;\n#ifdef SPECULARTERM\nuniform vec4 vSpecularColor;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include<helperFunctions>\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;\nuniform sampler2D mixMap1Sampler;\nuniform vec2 vTextureInfos;\n#ifdef MIXMAP2\nuniform sampler2D mixMap2Sampler;\n#endif\nuniform sampler2D diffuse1Sampler;\nuniform sampler2D diffuse2Sampler;\nuniform sampler2D diffuse3Sampler;\nuniform sampler2D diffuse4Sampler;\nuniform vec2 diffuse1Infos;\nuniform vec2 diffuse2Infos;\nuniform vec2 diffuse3Infos;\nuniform vec2 diffuse4Infos;\n#ifdef MIXMAP2\nuniform sampler2D diffuse5Sampler;\nuniform sampler2D diffuse6Sampler;\nuniform sampler2D diffuse7Sampler;\nuniform sampler2D diffuse8Sampler;\nuniform vec2 diffuse5Infos;\nuniform vec2 diffuse6Infos;\nuniform vec2 diffuse7Infos;\nuniform vec2 diffuse8Infos;\n#endif\n#endif\n\n#include<lightsFragmentFunctions>\n#include<shadowsFragmentFunctions>\n#include<clipPlaneFragmentDeclaration>\n\n#include<fogFragmentDeclaration>\n#define CUSTOM_FRAGMENT_DEFINITIONS\nvoid main(void) {\n#define CUSTOM_FRAGMENT_MAIN_BEGIN\n\n#include<clipPlaneFragment>\nvec3 viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\n\nvec4 finalMixColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n#ifdef MIXMAP2\nvec4 mixColor2=vec4(1.,1.,1.,1.);\n#endif\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;\nvec3 specularColor=vSpecularColor.rgb;\n#else\nfloat glossiness=0.;\n#endif\n\nfloat alpha=vDiffuseColor.a;\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n#ifdef DIFFUSE\nvec4 mixColor=texture2D(mixMap1Sampler,vTextureUV);\n#include<depthPrePass>\nmixColor.rgb*=vTextureInfos.y;\nvec4 diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);\nvec4 diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);\nvec4 diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);\nvec4 diffuse4Color=texture2D(diffuse4Sampler,vTextureUV*diffuse4Infos);\ndiffuse1Color.rgb*=mixColor.r;\ndiffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,mixColor.g);\ndiffuse3Color.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,mixColor.b);\nfinalMixColor.rgb=mix(diffuse3Color.rgb,diffuse4Color.rgb,1.0-mixColor.a);\n#ifdef MIXMAP2\nmixColor=texture2D(mixMap2Sampler,vTextureUV);\nmixColor.rgb*=vTextureInfos.y;\nvec4 diffuse5Color=texture2D(diffuse5Sampler,vTextureUV*diffuse5Infos);\nvec4 diffuse6Color=texture2D(diffuse6Sampler,vTextureUV*diffuse6Infos);\nvec4 diffuse7Color=texture2D(diffuse7Sampler,vTextureUV*diffuse7Infos);\nvec4 diffuse8Color=texture2D(diffuse8Sampler,vTextureUV*diffuse8Infos);\ndiffuse5Color.rgb=mix(finalMixColor.rgb,diffuse5Color.rgb,mixColor.r);\ndiffuse6Color.rgb=mix(diffuse5Color.rgb,diffuse6Color.rgb,mixColor.g);\ndiffuse7Color.rgb=mix(diffuse6Color.rgb,diffuse7Color.rgb,mixColor.b);\nfinalMixColor.rgb=mix(diffuse7Color.rgb,diffuse8Color.rgb,1.0-mixColor.a);\n#endif\n#endif\n#ifdef VERTEXCOLOR\nfinalMixColor.rgb*=vColor.rgb;\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\n#ifdef SPECULARTERM\nvec3 specularBase=vec3(0.,0.,0.);\n#endif\n#include<lightFragment>[0..maxSimultaneousLights]\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase*specularColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor*finalMixColor.rgb,0.0,1.0);\n\nvec4 color=vec4(finalDiffuse+finalSpecular,alpha);\n#include<fogFragment>\ngl_FragColor=color;\n#include<imageProcessingCompatibility>\n#define CUSTOM_FRAGMENT_MAIN_END\n}\n";
16
+ ShaderStore.ShadersStore[name] = shader;
17
17
  /** @hidden */
18
18
  export var mixPixelShader = { name: name, shader: shader };
19
19
  //# sourceMappingURL=mix.fragment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mix.fragment.js","sourceRoot":"","sources":["../../../sourceES6/materialsLibrary/src/mix/mix.fragment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,wDAAwD,CAAC;AAChE,OAAO,iEAAiE,CAAC;AACzE,OAAO,4DAA4D,CAAC;AACpE,OAAO,gEAAgE,CAAC;AACxE,OAAO,iEAAiE,CAAC;AACzE,OAAO,qEAAqE,CAAC;AAC7E,OAAO,+DAA+D,CAAC;AACvE,OAAO,0DAA0D,CAAC;AAClE,OAAO,qDAAqD,CAAC;AAC7D,OAAO,sDAAsD,CAAC;AAC9D,OAAO,oDAAoD,CAAC;AAC5D,OAAO,qEAAqE,CAAC;AAE7E,IAAI,IAAI,GAAG,gBAAgB,CAAC;AAC5B,IAAI,MAAM,GAAG,wpHA+HZ,CAAC;AAEF,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACnC,cAAc;AACd,MAAM,CAAC,IAAI,cAAc,GAAG,EAAE,IAAI,MAAA,EAAE,MAAM,QAAA,EAAE,CAAC","sourcesContent":["import { Effect } from \"@babylonjs/core/Materials/effect\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/helperFunctions\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/lightsFragmentFunctions\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/shadowsFragmentFunctions\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/fogFragmentDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragment\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/depthPrePass\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/lightFragment\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/fogFragment\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/imageProcessingCompatibility\";\n\nlet name = 'mixPixelShader';\nlet shader = `precision highp float;\n\nuniform vec4 vEyePosition;\nuniform vec4 vDiffuseColor;\n#ifdef SPECULARTERM\nuniform vec4 vSpecularColor;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include<helperFunctions>\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;\nuniform sampler2D mixMap1Sampler;\nuniform vec2 vTextureInfos;\n#ifdef MIXMAP2\nuniform sampler2D mixMap2Sampler;\n#endif\nuniform sampler2D diffuse1Sampler;\nuniform sampler2D diffuse2Sampler;\nuniform sampler2D diffuse3Sampler;\nuniform sampler2D diffuse4Sampler;\nuniform vec2 diffuse1Infos;\nuniform vec2 diffuse2Infos;\nuniform vec2 diffuse3Infos;\nuniform vec2 diffuse4Infos;\n#ifdef MIXMAP2\nuniform sampler2D diffuse5Sampler;\nuniform sampler2D diffuse6Sampler;\nuniform sampler2D diffuse7Sampler;\nuniform sampler2D diffuse8Sampler;\nuniform vec2 diffuse5Infos;\nuniform vec2 diffuse6Infos;\nuniform vec2 diffuse7Infos;\nuniform vec2 diffuse8Infos;\n#endif\n#endif\n\n#include<lightsFragmentFunctions>\n#include<shadowsFragmentFunctions>\n#include<clipPlaneFragmentDeclaration>\n\n#include<fogFragmentDeclaration>\nvoid main(void) {\n\n#include<clipPlaneFragment>\nvec3 viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\n\nvec4 finalMixColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n#ifdef MIXMAP2\nvec4 mixColor2=vec4(1.,1.,1.,1.);\n#endif\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;\nvec3 specularColor=vSpecularColor.rgb;\n#else\nfloat glossiness=0.;\n#endif\n\nfloat alpha=vDiffuseColor.a;\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n#ifdef DIFFUSE\nvec4 mixColor=texture2D(mixMap1Sampler,vTextureUV);\n#include<depthPrePass>\nmixColor.rgb*=vTextureInfos.y;\nvec4 diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);\nvec4 diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);\nvec4 diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);\nvec4 diffuse4Color=texture2D(diffuse4Sampler,vTextureUV*diffuse4Infos);\ndiffuse1Color.rgb*=mixColor.r;\ndiffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,mixColor.g);\ndiffuse3Color.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,mixColor.b);\nfinalMixColor.rgb=mix(diffuse3Color.rgb,diffuse4Color.rgb,1.0-mixColor.a);\n#ifdef MIXMAP2\nmixColor=texture2D(mixMap2Sampler,vTextureUV);\nmixColor.rgb*=vTextureInfos.y;\nvec4 diffuse5Color=texture2D(diffuse5Sampler,vTextureUV*diffuse5Infos);\nvec4 diffuse6Color=texture2D(diffuse6Sampler,vTextureUV*diffuse6Infos);\nvec4 diffuse7Color=texture2D(diffuse7Sampler,vTextureUV*diffuse7Infos);\nvec4 diffuse8Color=texture2D(diffuse8Sampler,vTextureUV*diffuse8Infos);\ndiffuse5Color.rgb=mix(finalMixColor.rgb,diffuse5Color.rgb,mixColor.r);\ndiffuse6Color.rgb=mix(diffuse5Color.rgb,diffuse6Color.rgb,mixColor.g);\ndiffuse7Color.rgb=mix(diffuse6Color.rgb,diffuse7Color.rgb,mixColor.b);\nfinalMixColor.rgb=mix(diffuse7Color.rgb,diffuse8Color.rgb,1.0-mixColor.a);\n#endif\n#endif\n#ifdef VERTEXCOLOR\nfinalMixColor.rgb*=vColor.rgb;\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\n#ifdef SPECULARTERM\nvec3 specularBase=vec3(0.,0.,0.);\n#endif\n#include<lightFragment>[0..maxSimultaneousLights]\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase*specularColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor*finalMixColor.rgb,0.0,1.0);\n\nvec4 color=vec4(finalDiffuse+finalSpecular,alpha);\n#include<fogFragment>\ngl_FragColor=color;\n#include<imageProcessingCompatibility>\n}\n`;\n\nEffect.ShadersStore[name] = shader;\n/** @hidden */\nexport var mixPixelShader = { name, shader };\n"]}
1
+ {"version":3,"file":"mix.fragment.js","sourceRoot":"","sources":["../../../sourceES6/materialsLibrary/src/mix/mix.fragment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,wDAAwD,CAAC;AAChE,OAAO,iEAAiE,CAAC;AACzE,OAAO,4DAA4D,CAAC;AACpE,OAAO,gEAAgE,CAAC;AACxE,OAAO,iEAAiE,CAAC;AACzE,OAAO,qEAAqE,CAAC;AAC7E,OAAO,+DAA+D,CAAC;AACvE,OAAO,0DAA0D,CAAC;AAClE,OAAO,qDAAqD,CAAC;AAC7D,OAAO,sDAAsD,CAAC;AAC9D,OAAO,oDAAoD,CAAC;AAC5D,OAAO,qEAAqE,CAAC;AAE7E,IAAI,IAAI,GAAG,gBAAgB,CAAC;AAC5B,IAAI,MAAM,GAAG,mwHAkIZ,CAAC;AAEF,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,cAAc;AACd,MAAM,CAAC,IAAI,cAAc,GAAG,EAAE,IAAI,MAAA,EAAE,MAAM,QAAA,EAAE,CAAC","sourcesContent":["import { ShaderStore } from \"@babylonjs/core/Engines/shaderStore\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/helperFunctions\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/lightsFragmentFunctions\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/shadowsFragmentFunctions\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/fogFragmentDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/clipPlaneFragment\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/depthPrePass\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/lightFragment\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/fogFragment\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/imageProcessingCompatibility\";\n\nlet name = 'mixPixelShader';\nlet shader = `precision highp float;\n\nuniform vec4 vEyePosition;\nuniform vec4 vDiffuseColor;\n#ifdef SPECULARTERM\nuniform vec4 vSpecularColor;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include<helperFunctions>\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;\nuniform sampler2D mixMap1Sampler;\nuniform vec2 vTextureInfos;\n#ifdef MIXMAP2\nuniform sampler2D mixMap2Sampler;\n#endif\nuniform sampler2D diffuse1Sampler;\nuniform sampler2D diffuse2Sampler;\nuniform sampler2D diffuse3Sampler;\nuniform sampler2D diffuse4Sampler;\nuniform vec2 diffuse1Infos;\nuniform vec2 diffuse2Infos;\nuniform vec2 diffuse3Infos;\nuniform vec2 diffuse4Infos;\n#ifdef MIXMAP2\nuniform sampler2D diffuse5Sampler;\nuniform sampler2D diffuse6Sampler;\nuniform sampler2D diffuse7Sampler;\nuniform sampler2D diffuse8Sampler;\nuniform vec2 diffuse5Infos;\nuniform vec2 diffuse6Infos;\nuniform vec2 diffuse7Infos;\nuniform vec2 diffuse8Infos;\n#endif\n#endif\n\n#include<lightsFragmentFunctions>\n#include<shadowsFragmentFunctions>\n#include<clipPlaneFragmentDeclaration>\n\n#include<fogFragmentDeclaration>\n#define CUSTOM_FRAGMENT_DEFINITIONS\nvoid main(void) {\n#define CUSTOM_FRAGMENT_MAIN_BEGIN\n\n#include<clipPlaneFragment>\nvec3 viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\n\nvec4 finalMixColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n#ifdef MIXMAP2\nvec4 mixColor2=vec4(1.,1.,1.,1.);\n#endif\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;\nvec3 specularColor=vSpecularColor.rgb;\n#else\nfloat glossiness=0.;\n#endif\n\nfloat alpha=vDiffuseColor.a;\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n#ifdef DIFFUSE\nvec4 mixColor=texture2D(mixMap1Sampler,vTextureUV);\n#include<depthPrePass>\nmixColor.rgb*=vTextureInfos.y;\nvec4 diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);\nvec4 diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);\nvec4 diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);\nvec4 diffuse4Color=texture2D(diffuse4Sampler,vTextureUV*diffuse4Infos);\ndiffuse1Color.rgb*=mixColor.r;\ndiffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,mixColor.g);\ndiffuse3Color.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,mixColor.b);\nfinalMixColor.rgb=mix(diffuse3Color.rgb,diffuse4Color.rgb,1.0-mixColor.a);\n#ifdef MIXMAP2\nmixColor=texture2D(mixMap2Sampler,vTextureUV);\nmixColor.rgb*=vTextureInfos.y;\nvec4 diffuse5Color=texture2D(diffuse5Sampler,vTextureUV*diffuse5Infos);\nvec4 diffuse6Color=texture2D(diffuse6Sampler,vTextureUV*diffuse6Infos);\nvec4 diffuse7Color=texture2D(diffuse7Sampler,vTextureUV*diffuse7Infos);\nvec4 diffuse8Color=texture2D(diffuse8Sampler,vTextureUV*diffuse8Infos);\ndiffuse5Color.rgb=mix(finalMixColor.rgb,diffuse5Color.rgb,mixColor.r);\ndiffuse6Color.rgb=mix(diffuse5Color.rgb,diffuse6Color.rgb,mixColor.g);\ndiffuse7Color.rgb=mix(diffuse6Color.rgb,diffuse7Color.rgb,mixColor.b);\nfinalMixColor.rgb=mix(diffuse7Color.rgb,diffuse8Color.rgb,1.0-mixColor.a);\n#endif\n#endif\n#ifdef VERTEXCOLOR\nfinalMixColor.rgb*=vColor.rgb;\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\n#ifdef SPECULARTERM\nvec3 specularBase=vec3(0.,0.,0.);\n#endif\n#include<lightFragment>[0..maxSimultaneousLights]\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase*specularColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor*finalMixColor.rgb,0.0,1.0);\n\nvec4 color=vec4(finalDiffuse+finalSpecular,alpha);\n#include<fogFragment>\ngl_FragColor=color;\n#include<imageProcessingCompatibility>\n#define CUSTOM_FRAGMENT_MAIN_END\n}\n`;\n\nShaderStore.ShadersStore[name] = shader;\n/** @hidden */\nexport var mixPixelShader = { name, shader };\n"]}
@@ -1,4 +1,5 @@
1
1
  import "@babylonjs/core/Shaders/ShadersInclude/bonesDeclaration";
2
+ import "@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimationDeclaration";
2
3
  import "@babylonjs/core/Shaders/ShadersInclude/instancesDeclaration";
3
4
  import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertexDeclaration";
4
5
  import "@babylonjs/core/Shaders/ShadersInclude/fogVertexDeclaration";
@@ -6,6 +7,7 @@ import "@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration";
6
7
  import "@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration";
7
8
  import "@babylonjs/core/Shaders/ShadersInclude/instancesVertex";
8
9
  import "@babylonjs/core/Shaders/ShadersInclude/bonesVertex";
10
+ import "@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimation";
9
11
  import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertex";
10
12
  import "@babylonjs/core/Shaders/ShadersInclude/fogVertex";
11
13
  import "@babylonjs/core/Shaders/ShadersInclude/shadowsVertex";
package/mix/mix.vertex.js CHANGED
@@ -1,18 +1,20 @@
1
- import { Effect } from "@babylonjs/core/Materials/effect";
2
- import "@babylonjs/core/Shaders/ShadersInclude/bonesDeclaration";
3
- import "@babylonjs/core/Shaders/ShadersInclude/instancesDeclaration";
4
- import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertexDeclaration";
5
- import "@babylonjs/core/Shaders/ShadersInclude/fogVertexDeclaration";
6
- import "@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration";
7
- import "@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration";
8
- import "@babylonjs/core/Shaders/ShadersInclude/instancesVertex";
9
- import "@babylonjs/core/Shaders/ShadersInclude/bonesVertex";
10
- import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertex";
11
- import "@babylonjs/core/Shaders/ShadersInclude/fogVertex";
12
- import "@babylonjs/core/Shaders/ShadersInclude/shadowsVertex";
1
+ import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
2
+ import "@babylonjs/core/Shaders/ShadersInclude/bonesDeclaration.js";
3
+ import "@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js";
4
+ import "@babylonjs/core/Shaders/ShadersInclude/instancesDeclaration.js";
5
+ import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js";
6
+ import "@babylonjs/core/Shaders/ShadersInclude/fogVertexDeclaration.js";
7
+ import "@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration.js";
8
+ import "@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration.js";
9
+ import "@babylonjs/core/Shaders/ShadersInclude/instancesVertex.js";
10
+ import "@babylonjs/core/Shaders/ShadersInclude/bonesVertex.js";
11
+ import "@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimation.js";
12
+ import "@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertex.js";
13
+ import "@babylonjs/core/Shaders/ShadersInclude/fogVertex.js";
14
+ import "@babylonjs/core/Shaders/ShadersInclude/shadowsVertex.js";
13
15
  var name = 'mixVertexShader';
14
- var shader = "precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include<bonesDeclaration>\n\n#include<instancesDeclaration>\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;\nuniform mat4 textureMatrix;\nuniform vec2 vTextureInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include<clipPlaneVertexDeclaration>\n#include<fogVertexDeclaration>\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nvoid main(void) {\n#include<instancesVertex>\n#include<bonesVertex>\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vTextureInfos.x == 0.)\n{\nvTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include<clipPlaneVertex>\n\n#include<fogVertex>\n\n#include<shadowsVertex>[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n";
15
- Effect.ShadersStore[name] = shader;
16
+ var shader = "precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include<bonesDeclaration>\n#include<bakedVertexAnimationDeclaration>\n\n#include<instancesDeclaration>\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;\nuniform mat4 textureMatrix;\nuniform vec2 vTextureInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include<clipPlaneVertexDeclaration>\n#include<fogVertexDeclaration>\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#define CUSTOM_VERTEX_DEFINITIONS\nvoid main(void) {\n#define CUSTOM_VERTEX_MAIN_BEGIN\n#include<instancesVertex>\n#include<bonesVertex>\n#include<bakedVertexAnimation>\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vTextureInfos.x == 0.)\n{\nvTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include<clipPlaneVertex>\n\n#include<fogVertex>\n\n#include<shadowsVertex>[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#elif INSTANCESCOLOR\nvColor=instanceColor;\n#endif\n\n#if defined(POINTSIZE) && !defined(WEBGPU)\ngl_PointSize=pointSize;\n#endif\n#define CUSTOM_VERTEX_MAIN_END\n}\n";
17
+ ShaderStore.ShadersStore[name] = shader;
16
18
  /** @hidden */
17
19
  export var mixVertexShader = { name: name, shader: shader };
18
20
  //# sourceMappingURL=mix.vertex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mix.vertex.js","sourceRoot":"","sources":["../../../sourceES6/materialsLibrary/src/mix/mix.vertex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,yDAAyD,CAAC;AACjE,OAAO,6DAA6D,CAAC;AACrE,OAAO,mEAAmE,CAAC;AAC3E,OAAO,6DAA6D,CAAC;AACrE,OAAO,iEAAiE,CAAC;AACzE,OAAO,4DAA4D,CAAC;AACpE,OAAO,wDAAwD,CAAC;AAChE,OAAO,oDAAoD,CAAC;AAC5D,OAAO,wDAAwD,CAAC;AAChE,OAAO,kDAAkD,CAAC;AAC1D,OAAO,sDAAsD,CAAC;AAE9D,IAAI,IAAI,GAAG,iBAAiB,CAAC;AAC7B,IAAI,MAAM,GAAG,68CAgFZ,CAAC;AAEF,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACnC,cAAc;AACd,MAAM,CAAC,IAAI,eAAe,GAAG,EAAE,IAAI,MAAA,EAAE,MAAM,QAAA,EAAE,CAAC","sourcesContent":["import { Effect } from \"@babylonjs/core/Materials/effect\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/bonesDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/instancesDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertexDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/fogVertexDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/instancesVertex\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/bonesVertex\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertex\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/fogVertex\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/shadowsVertex\";\n\nlet name = 'mixVertexShader';\nlet shader = `precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include<bonesDeclaration>\n\n#include<instancesDeclaration>\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;\nuniform mat4 textureMatrix;\nuniform vec2 vTextureInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include<clipPlaneVertexDeclaration>\n#include<fogVertexDeclaration>\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nvoid main(void) {\n#include<instancesVertex>\n#include<bonesVertex>\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vTextureInfos.x == 0.)\n{\nvTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include<clipPlaneVertex>\n\n#include<fogVertex>\n\n#include<shadowsVertex>[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n`;\n\nEffect.ShadersStore[name] = shader;\n/** @hidden */\nexport var mixVertexShader = { name, shader };\n"]}
1
+ {"version":3,"file":"mix.vertex.js","sourceRoot":"","sources":["../../../sourceES6/materialsLibrary/src/mix/mix.vertex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,yDAAyD,CAAC;AACjE,OAAO,wEAAwE,CAAC;AAChF,OAAO,6DAA6D,CAAC;AACrE,OAAO,mEAAmE,CAAC;AAC3E,OAAO,6DAA6D,CAAC;AACrE,OAAO,iEAAiE,CAAC;AACzE,OAAO,4DAA4D,CAAC;AACpE,OAAO,wDAAwD,CAAC;AAChE,OAAO,oDAAoD,CAAC;AAC5D,OAAO,6DAA6D,CAAC;AACrE,OAAO,wDAAwD,CAAC;AAChE,OAAO,kDAAkD,CAAC;AAC1D,OAAO,sDAAsD,CAAC;AAE9D,IAAI,IAAI,GAAG,iBAAiB,CAAC;AAC7B,IAAI,MAAM,GAAG,osDAuFZ,CAAC;AAEF,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,cAAc;AACd,MAAM,CAAC,IAAI,eAAe,GAAG,EAAE,IAAI,MAAA,EAAE,MAAM,QAAA,EAAE,CAAC","sourcesContent":["import { ShaderStore } from \"@babylonjs/core/Engines/shaderStore\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/bonesDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimationDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/instancesDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertexDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/fogVertexDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/lightFragmentDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/lightUboDeclaration\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/instancesVertex\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/bonesVertex\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/bakedVertexAnimation\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/clipPlaneVertex\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/fogVertex\";\nimport \"@babylonjs/core/Shaders/ShadersInclude/shadowsVertex\";\n\nlet name = 'mixVertexShader';\nlet shader = `precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include<bonesDeclaration>\n#include<bakedVertexAnimationDeclaration>\n\n#include<instancesDeclaration>\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;\nuniform mat4 textureMatrix;\nuniform vec2 vTextureInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include<clipPlaneVertexDeclaration>\n#include<fogVertexDeclaration>\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#define CUSTOM_VERTEX_DEFINITIONS\nvoid main(void) {\n#define CUSTOM_VERTEX_MAIN_BEGIN\n#include<instancesVertex>\n#include<bonesVertex>\n#include<bakedVertexAnimation>\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vTextureInfos.x == 0.)\n{\nvTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include<clipPlaneVertex>\n\n#include<fogVertex>\n\n#include<shadowsVertex>[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#elif INSTANCESCOLOR\nvColor=instanceColor;\n#endif\n\n#if defined(POINTSIZE) && !defined(WEBGPU)\ngl_PointSize=pointSize;\n#endif\n#define CUSTOM_VERTEX_MAIN_END\n}\n`;\n\nShaderStore.ShadersStore[name] = shader;\n/** @hidden */\nexport var mixVertexShader = { name, shader };\n"]}
@@ -48,7 +48,7 @@ export declare class MixMaterial extends PushMaterial {
48
48
  disableLighting: boolean;
49
49
  private _maxSimultaneousLights;
50
50
  maxSimultaneousLights: number;
51
- constructor(name: string, scene: Scene);
51
+ constructor(name: string, scene?: Scene);
52
52
  needAlphaBlending(): boolean;
53
53
  needAlphaTesting(): boolean;
54
54
  getAlphaTestTexture(): Nullable<BaseTexture>;
@@ -1,16 +1,16 @@
1
1
  import { __decorate, __extends } from "tslib";
2
- import { serializeAsTexture, serialize, expandToProperty, serializeAsColor3, SerializationHelper } from "@babylonjs/core/Misc/decorators";
3
- import { Color3 } from "@babylonjs/core/Maths/math.color";
4
- import { MaterialDefines } from "@babylonjs/core/Materials/materialDefines";
5
- import { MaterialHelper } from "@babylonjs/core/Materials/materialHelper";
6
- import { PushMaterial } from "@babylonjs/core/Materials/pushMaterial";
7
- import { MaterialFlags } from "@babylonjs/core/Materials/materialFlags";
8
- import { VertexBuffer } from "@babylonjs/core/Meshes/buffer";
9
- import { Scene } from "@babylonjs/core/scene";
10
- import { _TypeStore } from '@babylonjs/core/Misc/typeStore';
11
- import "./mix.fragment";
12
- import "./mix.vertex";
13
- import { EffectFallbacks } from '@babylonjs/core/Materials/effectFallbacks';
2
+ import { serializeAsTexture, serialize, expandToProperty, serializeAsColor3, SerializationHelper } from "@babylonjs/core/Misc/decorators.js";
3
+ import { Color3 } from "@babylonjs/core/Maths/math.color.js";
4
+ import { MaterialDefines } from "@babylonjs/core/Materials/materialDefines.js";
5
+ import { MaterialHelper } from "@babylonjs/core/Materials/materialHelper.js";
6
+ import { PushMaterial } from "@babylonjs/core/Materials/pushMaterial.js";
7
+ import { MaterialFlags } from "@babylonjs/core/Materials/materialFlags.js";
8
+ import { VertexBuffer } from "@babylonjs/core/Buffers/buffer.js";
9
+ import { Scene } from "@babylonjs/core/scene.js";
10
+ import { RegisterClass } from '@babylonjs/core/Misc/typeStore.js';
11
+ import "./mix.fragment.js";
12
+ import "./mix.vertex.js";
13
+ import { EffectFallbacks } from '@babylonjs/core/Materials/effectFallbacks.js';
14
14
  var MixMaterialDefines = /** @class */ (function (_super) {
15
15
  __extends(MixMaterialDefines, _super);
16
16
  function MixMaterialDefines() {
@@ -35,8 +35,10 @@ var MixMaterialDefines = /** @class */ (function (_super) {
35
35
  _this.NUM_BONE_INFLUENCERS = 0;
36
36
  _this.BonesPerMesh = 0;
37
37
  _this.INSTANCES = false;
38
+ _this.INSTANCESCOLOR = false;
38
39
  _this.MIXMAP2 = false;
39
40
  _this.IMAGEPROCESSINGPOSTPROCESS = false;
41
+ _this.SKIPFINALCOLORCLAMP = false;
40
42
  _this.rebuild();
41
43
  return _this;
42
44
  }
@@ -72,10 +74,10 @@ var MixMaterial = /** @class */ (function (_super) {
72
74
  return true;
73
75
  }
74
76
  }
75
- if (!subMesh._materialDefines) {
76
- subMesh._materialDefines = new MixMaterialDefines();
77
+ if (!subMesh.materialDefines) {
78
+ subMesh.materialDefines = new MixMaterialDefines();
77
79
  }
78
- var defines = subMesh._materialDefines;
80
+ var defines = subMesh.materialDefines;
79
81
  var scene = this.getScene();
80
82
  if (this._isReadyForSubMesh(subMesh)) {
81
83
  return true;
@@ -194,7 +196,7 @@ var MixMaterial = /** @class */ (function (_super) {
194
196
  onCompiled: this.onCompiled,
195
197
  onError: this.onError,
196
198
  indexParameters: { maxSimultaneousLights: this.maxSimultaneousLights }
197
- }, engine), defines);
199
+ }, engine), defines, this._materialContext);
198
200
  }
199
201
  if (!subMesh.effect || !subMesh.effect.isReady()) {
200
202
  return false;
@@ -205,7 +207,7 @@ var MixMaterial = /** @class */ (function (_super) {
205
207
  };
206
208
  MixMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) {
207
209
  var scene = this.getScene();
208
- var defines = subMesh._materialDefines;
210
+ var defines = subMesh.materialDefines;
209
211
  if (!defines) {
210
212
  return;
211
213
  }
@@ -271,7 +273,7 @@ var MixMaterial = /** @class */ (function (_super) {
271
273
  if (this.pointsCloud) {
272
274
  this._activeEffect.setFloat("pointSize", this.pointSize);
273
275
  }
274
- MaterialHelper.BindEyePosition(effect, scene);
276
+ scene.bindEyePosition(effect);
275
277
  }
276
278
  this._activeEffect.setColor4("vDiffuseColor", this.diffuseColor, this.alpha * mesh.visibility);
277
279
  if (defines.SPECULARTERM) {
@@ -383,7 +385,7 @@ var MixMaterial = /** @class */ (function (_super) {
383
385
  return SerializationHelper.Clone(function () { return new MixMaterial(name, _this.getScene()); }, this);
384
386
  };
385
387
  MixMaterial.prototype.serialize = function () {
386
- var serializationObject = SerializationHelper.Serialize(this);
388
+ var serializationObject = _super.prototype.serialize.call(this);
387
389
  serializationObject.customType = "BABYLON.MixMaterial";
388
390
  return serializationObject;
389
391
  };
@@ -478,5 +480,5 @@ var MixMaterial = /** @class */ (function (_super) {
478
480
  return MixMaterial;
479
481
  }(PushMaterial));
480
482
  export { MixMaterial };
481
- _TypeStore.RegisteredTypes["BABYLON.MixMaterial"] = MixMaterial;
483
+ RegisterClass("BABYLON.MixMaterial", MixMaterial);
482
484
  //# sourceMappingURL=mixMaterial.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mixMaterial.js","sourceRoot":"","sources":["../../../sourceES6/materialsLibrary/src/mix/mixMaterial.ts"],"names":[],"mappings":"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","sourcesContent":["import { Nullable } from \"@babylonjs/core/types\";\r\nimport { serializeAsTexture, serialize, expandToProperty, serializeAsColor3, SerializationHelper } from \"@babylonjs/core/Misc/decorators\";\r\nimport { Matrix } from \"@babylonjs/core/Maths/math.vector\";\r\nimport { Color3 } from \"@babylonjs/core/Maths/math.color\";\r\nimport { IAnimatable } from '@babylonjs/core/Animations/animatable.interface';\r\nimport { BaseTexture } from \"@babylonjs/core/Materials/Textures/baseTexture\";\r\nimport { Texture } from \"@babylonjs/core/Materials/Textures/texture\";\r\nimport { IEffectCreationOptions } from \"@babylonjs/core/Materials/effect\";\r\nimport { MaterialDefines } from \"@babylonjs/core/Materials/materialDefines\";\r\nimport { MaterialHelper } from \"@babylonjs/core/Materials/materialHelper\";\r\nimport { PushMaterial } from \"@babylonjs/core/Materials/pushMaterial\";\r\nimport { MaterialFlags } from \"@babylonjs/core/Materials/materialFlags\";\r\nimport { VertexBuffer } from \"@babylonjs/core/Meshes/buffer\";\r\nimport { AbstractMesh } from \"@babylonjs/core/Meshes/abstractMesh\";\r\nimport { SubMesh } from \"@babylonjs/core/Meshes/subMesh\";\r\nimport { Mesh } from \"@babylonjs/core/Meshes/mesh\";\r\nimport { Scene } from \"@babylonjs/core/scene\";\r\nimport { _TypeStore } from '@babylonjs/core/Misc/typeStore';\r\n\r\nimport \"./mix.fragment\";\r\nimport \"./mix.vertex\";\r\nimport { EffectFallbacks } from '@babylonjs/core/Materials/effectFallbacks';\r\n\r\nclass MixMaterialDefines extends MaterialDefines {\r\n public DIFFUSE = false;\r\n public CLIPPLANE = false;\r\n public CLIPPLANE2 = false;\r\n public CLIPPLANE3 = false;\r\n public CLIPPLANE4 = false;\r\n public CLIPPLANE5 = false;\r\n public CLIPPLANE6 = false;\r\n public ALPHATEST = false;\r\n public DEPTHPREPASS = false;\r\n public POINTSIZE = false;\r\n public FOG = false;\r\n public SPECULARTERM = false;\r\n public NORMAL = false;\r\n public UV1 = false;\r\n public UV2 = false;\r\n public VERTEXCOLOR = false;\r\n public VERTEXALPHA = false;\r\n public NUM_BONE_INFLUENCERS = 0;\r\n public BonesPerMesh = 0;\r\n public INSTANCES = false;\r\n public MIXMAP2 = false;\r\n public IMAGEPROCESSINGPOSTPROCESS = false;\r\n\r\n constructor() {\r\n super();\r\n this.rebuild();\r\n }\r\n}\r\n\r\nexport class MixMaterial extends PushMaterial {\r\n /**\r\n * Mix textures\r\n */\r\n\r\n @serializeAsTexture(\"mixTexture1\")\r\n private _mixTexture1: BaseTexture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public mixTexture1: BaseTexture;\r\n\r\n @serializeAsTexture(\"mixTexture2\")\r\n private _mixTexture2: BaseTexture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public mixTexture2: BaseTexture;\r\n\r\n /**\r\n * Diffuse textures\r\n */\r\n\r\n @serializeAsTexture(\"diffuseTexture1\")\r\n private _diffuseTexture1: Texture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public diffuseTexture1: Texture;\r\n\r\n @serializeAsTexture(\"diffuseTexture2\")\r\n private _diffuseTexture2: Texture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public diffuseTexture2: Texture;\r\n\r\n @serializeAsTexture(\"diffuseTexture3\")\r\n private _diffuseTexture3: Texture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public diffuseTexture3: Texture;\r\n\r\n @serializeAsTexture(\"diffuseTexture4\")\r\n private _diffuseTexture4: Texture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public diffuseTexture4: Texture;\r\n\r\n @serializeAsTexture(\"diffuseTexture1\")\r\n private _diffuseTexture5: Texture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public diffuseTexture5: Texture;\r\n\r\n @serializeAsTexture(\"diffuseTexture2\")\r\n private _diffuseTexture6: Texture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public diffuseTexture6: Texture;\r\n\r\n @serializeAsTexture(\"diffuseTexture3\")\r\n private _diffuseTexture7: Texture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public diffuseTexture7: Texture;\r\n\r\n @serializeAsTexture(\"diffuseTexture4\")\r\n private _diffuseTexture8: Texture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public diffuseTexture8: Texture;\r\n\r\n /**\r\n * Uniforms\r\n */\r\n\r\n @serializeAsColor3()\r\n public diffuseColor = new Color3(1, 1, 1);\r\n\r\n @serializeAsColor3()\r\n public specularColor = new Color3(0, 0, 0);\r\n\r\n @serialize()\r\n public specularPower = 64;\r\n\r\n @serialize(\"disableLighting\")\r\n private _disableLighting = false;\r\n @expandToProperty(\"_markAllSubMeshesAsLightsDirty\")\r\n public disableLighting: boolean;\r\n\r\n @serialize(\"maxSimultaneousLights\")\r\n private _maxSimultaneousLights = 4;\r\n @expandToProperty(\"_markAllSubMeshesAsLightsDirty\")\r\n public maxSimultaneousLights: number;\r\n\r\n constructor(name: string, scene: Scene) {\r\n super(name, scene);\r\n }\r\n\r\n public needAlphaBlending(): boolean {\r\n return (this.alpha < 1.0);\r\n }\r\n\r\n public needAlphaTesting(): boolean {\r\n return false;\r\n }\r\n\r\n public getAlphaTestTexture(): Nullable<BaseTexture> {\r\n return null;\r\n }\r\n\r\n // Methods\r\n public isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean {\r\n if (this.isFrozen) {\r\n if (subMesh.effect && subMesh.effect._wasPreviouslyReady) {\r\n return true;\r\n }\r\n }\r\n\r\n if (!subMesh._materialDefines) {\r\n subMesh._materialDefines = new MixMaterialDefines();\r\n }\r\n\r\n var defines = <MixMaterialDefines>subMesh._materialDefines;\r\n var scene = this.getScene();\r\n\r\n if (this._isReadyForSubMesh(subMesh)) {\r\n return true;\r\n }\r\n\r\n var engine = scene.getEngine();\r\n\r\n // Textures\r\n if (scene.texturesEnabled) {\r\n if (!this._mixTexture1 || !this._mixTexture1.isReady()) {\r\n return false;\r\n }\r\n\r\n defines._needUVs = true;\r\n\r\n if (MaterialFlags.DiffuseTextureEnabled) {\r\n if (!this._diffuseTexture1 || !this._diffuseTexture1.isReady()) {\r\n return false;\r\n }\r\n\r\n defines.DIFFUSE = true;\r\n\r\n if (!this._diffuseTexture2 || !this._diffuseTexture2.isReady()) {\r\n return false;\r\n }\r\n if (!this._diffuseTexture3 || !this._diffuseTexture3.isReady()) {\r\n return false;\r\n }\r\n if (!this._diffuseTexture4 || !this._diffuseTexture4.isReady()) {\r\n return false;\r\n }\r\n\r\n if (this._mixTexture2) {\r\n if (!this._mixTexture2.isReady()) {\r\n return false;\r\n }\r\n\r\n defines.MIXMAP2 = true;\r\n\r\n if (!this._diffuseTexture5 || !this._diffuseTexture5.isReady()) {\r\n return false;\r\n }\r\n if (!this._diffuseTexture6 || !this._diffuseTexture6.isReady()) {\r\n return false;\r\n }\r\n if (!this._diffuseTexture7 || !this._diffuseTexture7.isReady()) {\r\n return false;\r\n }\r\n if (!this._diffuseTexture8 || !this._diffuseTexture8.isReady()) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Misc.\r\n MaterialHelper.PrepareDefinesForMisc(mesh, scene, false, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(mesh), defines);\r\n\r\n // Lights\r\n defines._needNormals = MaterialHelper.PrepareDefinesForLights(scene, mesh, defines, false, this._maxSimultaneousLights, this._disableLighting);\r\n\r\n // Values that need to be evaluated on every frame\r\n MaterialHelper.PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false);\r\n\r\n // Attribs\r\n MaterialHelper.PrepareDefinesForAttributes(mesh, defines, true, true);\r\n\r\n // Get correct effect\r\n if (defines.isDirty) {\r\n defines.markAsProcessed();\r\n scene.resetCachedMaterial();\r\n\r\n // Fallbacks\r\n var fallbacks = new EffectFallbacks();\r\n if (defines.FOG) {\r\n fallbacks.addFallback(1, \"FOG\");\r\n }\r\n\r\n MaterialHelper.HandleFallbacksForShadows(defines, fallbacks, this.maxSimultaneousLights);\r\n\r\n if (defines.NUM_BONE_INFLUENCERS > 0) {\r\n fallbacks.addCPUSkinningFallback(0, mesh);\r\n }\r\n\r\n defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;\r\n\r\n //Attributes\r\n var attribs = [VertexBuffer.PositionKind];\r\n\r\n if (defines.NORMAL) {\r\n attribs.push(VertexBuffer.NormalKind);\r\n }\r\n\r\n if (defines.UV1) {\r\n attribs.push(VertexBuffer.UVKind);\r\n }\r\n\r\n if (defines.UV2) {\r\n attribs.push(VertexBuffer.UV2Kind);\r\n }\r\n\r\n if (defines.VERTEXCOLOR) {\r\n attribs.push(VertexBuffer.ColorKind);\r\n }\r\n\r\n MaterialHelper.PrepareAttributesForBones(attribs, mesh, defines, fallbacks);\r\n MaterialHelper.PrepareAttributesForInstances(attribs, defines);\r\n\r\n // Legacy browser patch\r\n var shaderName = \"mix\";\r\n var join = defines.toString();\r\n var uniforms = [\r\n \"world\", \"view\", \"viewProjection\", \"vEyePosition\", \"vLightsType\", \"vDiffuseColor\", \"vSpecularColor\",\r\n \"vFogInfos\", \"vFogColor\", \"pointSize\",\r\n \"vTextureInfos\",\r\n \"mBones\",\r\n \"vClipPlane\", \"vClipPlane2\", \"vClipPlane3\", \"vClipPlane4\", \"vClipPlane5\", \"vClipPlane6\", \"textureMatrix\",\r\n \"diffuse1Infos\", \"diffuse2Infos\", \"diffuse3Infos\", \"diffuse4Infos\",\r\n \"diffuse5Infos\", \"diffuse6Infos\", \"diffuse7Infos\", \"diffuse8Infos\"\r\n ];\r\n var samplers = [\r\n \"mixMap1Sampler\", \"mixMap2Sampler\",\r\n \"diffuse1Sampler\", \"diffuse2Sampler\", \"diffuse3Sampler\", \"diffuse4Sampler\",\r\n \"diffuse5Sampler\", \"diffuse6Sampler\", \"diffuse7Sampler\", \"diffuse8Sampler\"\r\n ];\r\n\r\n var uniformBuffers = new Array<string>();\r\n\r\n MaterialHelper.PrepareUniformsAndSamplersList(<IEffectCreationOptions>{\r\n uniformsNames: uniforms,\r\n uniformBuffersNames: uniformBuffers,\r\n samplers: samplers,\r\n defines: defines,\r\n maxSimultaneousLights: this.maxSimultaneousLights\r\n });\r\n\r\n subMesh.setEffect(scene.getEngine().createEffect(shaderName,\r\n <IEffectCreationOptions>{\r\n attributes: attribs,\r\n uniformsNames: uniforms,\r\n uniformBuffersNames: uniformBuffers,\r\n samplers: samplers,\r\n defines: join,\r\n fallbacks: fallbacks,\r\n onCompiled: this.onCompiled,\r\n onError: this.onError,\r\n indexParameters: { maxSimultaneousLights: this.maxSimultaneousLights }\r\n }, engine), defines);\r\n }\r\n if (!subMesh.effect || !subMesh.effect.isReady()) {\r\n return false;\r\n }\r\n\r\n defines._renderId = scene.getRenderId();\r\n subMesh.effect._wasPreviouslyReady = true;\r\n\r\n return true;\r\n }\r\n\r\n public bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void {\r\n var scene = this.getScene();\r\n\r\n var defines = <MixMaterialDefines>subMesh._materialDefines;\r\n if (!defines) {\r\n return;\r\n }\r\n\r\n var effect = subMesh.effect;\r\n if (!effect) {\r\n return;\r\n }\r\n this._activeEffect = effect;\r\n\r\n // Matrices\r\n this.bindOnlyWorldMatrix(world);\r\n this._activeEffect.setMatrix(\"viewProjection\", scene.getTransformMatrix());\r\n\r\n // Bones\r\n MaterialHelper.BindBonesParameters(mesh, this._activeEffect);\r\n\r\n if (this._mustRebind(scene, effect)) {\r\n // Textures\r\n if (this._mixTexture1) {\r\n this._activeEffect.setTexture(\"mixMap1Sampler\", this._mixTexture1);\r\n this._activeEffect.setFloat2(\"vTextureInfos\", this._mixTexture1.coordinatesIndex, this._mixTexture1.level);\r\n this._activeEffect.setMatrix(\"textureMatrix\", this._mixTexture1.getTextureMatrix());\r\n\r\n if (MaterialFlags.DiffuseTextureEnabled) {\r\n if (this._diffuseTexture1) {\r\n this._activeEffect.setTexture(\"diffuse1Sampler\", this._diffuseTexture1);\r\n this._activeEffect.setFloat2(\"diffuse1Infos\", this._diffuseTexture1.uScale, this._diffuseTexture1.vScale);\r\n }\r\n if (this._diffuseTexture2) {\r\n this._activeEffect.setTexture(\"diffuse2Sampler\", this._diffuseTexture2);\r\n this._activeEffect.setFloat2(\"diffuse2Infos\", this._diffuseTexture2.uScale, this._diffuseTexture2.vScale);\r\n }\r\n if (this._diffuseTexture3) {\r\n this._activeEffect.setTexture(\"diffuse3Sampler\", this._diffuseTexture3);\r\n this._activeEffect.setFloat2(\"diffuse3Infos\", this._diffuseTexture3.uScale, this._diffuseTexture3.vScale);\r\n }\r\n if (this._diffuseTexture4) {\r\n this._activeEffect.setTexture(\"diffuse4Sampler\", this._diffuseTexture4);\r\n this._activeEffect.setFloat2(\"diffuse4Infos\", this._diffuseTexture4.uScale, this._diffuseTexture4.vScale);\r\n }\r\n }\r\n }\r\n\r\n if (this._mixTexture2) {\r\n this._activeEffect.setTexture(\"mixMap2Sampler\", this._mixTexture2);\r\n\r\n if (MaterialFlags.DiffuseTextureEnabled) {\r\n if (this._diffuseTexture5) {\r\n this._activeEffect.setTexture(\"diffuse5Sampler\", this._diffuseTexture5);\r\n this._activeEffect.setFloat2(\"diffuse5Infos\", this._diffuseTexture5.uScale, this._diffuseTexture5.vScale);\r\n }\r\n if (this._diffuseTexture6) {\r\n this._activeEffect.setTexture(\"diffuse6Sampler\", this._diffuseTexture6);\r\n this._activeEffect.setFloat2(\"diffuse6Infos\", this._diffuseTexture6.uScale, this._diffuseTexture6.vScale);\r\n }\r\n if (this._diffuseTexture7) {\r\n this._activeEffect.setTexture(\"diffuse7Sampler\", this._diffuseTexture7);\r\n this._activeEffect.setFloat2(\"diffuse7Infos\", this._diffuseTexture7.uScale, this._diffuseTexture7.vScale);\r\n }\r\n if (this._diffuseTexture8) {\r\n this._activeEffect.setTexture(\"diffuse8Sampler\", this._diffuseTexture8);\r\n this._activeEffect.setFloat2(\"diffuse8Infos\", this._diffuseTexture8.uScale, this._diffuseTexture8.vScale);\r\n }\r\n }\r\n }\r\n\r\n // Clip plane\r\n MaterialHelper.BindClipPlane(this._activeEffect, scene);\r\n\r\n // Point size\r\n if (this.pointsCloud) {\r\n this._activeEffect.setFloat(\"pointSize\", this.pointSize);\r\n }\r\n\r\n MaterialHelper.BindEyePosition(effect, scene);\r\n }\r\n\r\n this._activeEffect.setColor4(\"vDiffuseColor\", this.diffuseColor, this.alpha * mesh.visibility);\r\n\r\n if (defines.SPECULARTERM) {\r\n this._activeEffect.setColor4(\"vSpecularColor\", this.specularColor, this.specularPower);\r\n }\r\n\r\n if (scene.lightsEnabled && !this.disableLighting) {\r\n MaterialHelper.BindLights(scene, mesh, this._activeEffect, defines, this.maxSimultaneousLights);\r\n }\r\n\r\n // View\r\n if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== Scene.FOGMODE_NONE) {\r\n this._activeEffect.setMatrix(\"view\", scene.getViewMatrix());\r\n }\r\n\r\n // Fog\r\n MaterialHelper.BindFogParameters(scene, mesh, this._activeEffect);\r\n\r\n this._afterBind(mesh, this._activeEffect);\r\n }\r\n\r\n public getAnimatables(): IAnimatable[] {\r\n var results = [];\r\n\r\n if (this._mixTexture1 && this._mixTexture1.animations && this._mixTexture1.animations.length > 0) {\r\n results.push(this._mixTexture1);\r\n }\r\n\r\n if (this._mixTexture2 && this._mixTexture2.animations && this._mixTexture2.animations.length > 0) {\r\n results.push(this._mixTexture2);\r\n }\r\n\r\n return results;\r\n }\r\n\r\n public getActiveTextures(): BaseTexture[] {\r\n var activeTextures = super.getActiveTextures();\r\n\r\n // Mix map 1\r\n if (this._mixTexture1) {\r\n activeTextures.push(this._mixTexture1);\r\n }\r\n\r\n if (this._diffuseTexture1) {\r\n activeTextures.push(this._diffuseTexture1);\r\n }\r\n\r\n if (this._diffuseTexture2) {\r\n activeTextures.push(this._diffuseTexture2);\r\n }\r\n\r\n if (this._diffuseTexture3) {\r\n activeTextures.push(this._diffuseTexture3);\r\n }\r\n\r\n if (this._diffuseTexture4) {\r\n activeTextures.push(this._diffuseTexture4);\r\n }\r\n\r\n // Mix map 2\r\n if (this._mixTexture2) {\r\n activeTextures.push(this._mixTexture2);\r\n }\r\n\r\n if (this._diffuseTexture5) {\r\n activeTextures.push(this._diffuseTexture5);\r\n }\r\n\r\n if (this._diffuseTexture6) {\r\n activeTextures.push(this._diffuseTexture6);\r\n }\r\n\r\n if (this._diffuseTexture7) {\r\n activeTextures.push(this._diffuseTexture7);\r\n }\r\n\r\n if (this._diffuseTexture8) {\r\n activeTextures.push(this._diffuseTexture8);\r\n }\r\n\r\n return activeTextures;\r\n }\r\n\r\n public hasTexture(texture: BaseTexture): boolean {\r\n if (super.hasTexture(texture)) {\r\n return true;\r\n }\r\n\r\n // Mix map 1\r\n if (this._mixTexture1 === texture) {\r\n return true;\r\n }\r\n\r\n if (this._diffuseTexture1 === texture) {\r\n return true;\r\n }\r\n\r\n if (this._diffuseTexture2 === texture) {\r\n return true;\r\n }\r\n\r\n if (this._diffuseTexture3 === texture) {\r\n return true;\r\n }\r\n\r\n if (this._diffuseTexture4 === texture) {\r\n return true;\r\n }\r\n\r\n // Mix map 2\r\n if (this._mixTexture2 === texture) {\r\n return true;\r\n }\r\n\r\n if (this._diffuseTexture5 === texture) {\r\n return true;\r\n }\r\n\r\n if (this._diffuseTexture6 === texture) {\r\n return true;\r\n }\r\n\r\n if (this._diffuseTexture7 === texture) {\r\n return true;\r\n }\r\n\r\n if (this._diffuseTexture8 === texture) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public dispose(forceDisposeEffect?: boolean): void {\r\n if (this._mixTexture1) {\r\n this._mixTexture1.dispose();\r\n }\r\n\r\n super.dispose(forceDisposeEffect);\r\n }\r\n\r\n public clone(name: string): MixMaterial {\r\n return SerializationHelper.Clone(() => new MixMaterial(name, this.getScene()), this);\r\n }\r\n\r\n public serialize(): any {\r\n var serializationObject = SerializationHelper.Serialize(this);\r\n serializationObject.customType = \"BABYLON.MixMaterial\";\r\n return serializationObject;\r\n }\r\n\r\n public getClassName(): string {\r\n return \"MixMaterial\";\r\n }\r\n\r\n // Statics\r\n public static Parse(source: any, scene: Scene, rootUrl: string): MixMaterial {\r\n return SerializationHelper.Parse(() => new MixMaterial(source.name, scene), source, scene, rootUrl);\r\n }\r\n}\r\n\r\n_TypeStore.RegisteredTypes[\"BABYLON.MixMaterial\"] = MixMaterial;\r\n"]}
1
+ {"version":3,"file":"mixMaterial.js","sourceRoot":"","sources":["../../../sourceES6/materialsLibrary/src/mix/mixMaterial.ts"],"names":[],"mappings":"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","sourcesContent":["import { Nullable } from \"@babylonjs/core/types\";\r\nimport { serializeAsTexture, serialize, expandToProperty, serializeAsColor3, SerializationHelper } from \"@babylonjs/core/Misc/decorators\";\r\nimport { Matrix } from \"@babylonjs/core/Maths/math.vector\";\r\nimport { Color3 } from \"@babylonjs/core/Maths/math.color\";\r\nimport { IAnimatable } from '@babylonjs/core/Animations/animatable.interface';\r\nimport { BaseTexture } from \"@babylonjs/core/Materials/Textures/baseTexture\";\r\nimport { Texture } from \"@babylonjs/core/Materials/Textures/texture\";\r\nimport { IEffectCreationOptions } from \"@babylonjs/core/Materials/effect\";\r\nimport { MaterialDefines } from \"@babylonjs/core/Materials/materialDefines\";\r\nimport { MaterialHelper } from \"@babylonjs/core/Materials/materialHelper\";\r\nimport { PushMaterial } from \"@babylonjs/core/Materials/pushMaterial\";\r\nimport { MaterialFlags } from \"@babylonjs/core/Materials/materialFlags\";\r\nimport { VertexBuffer } from \"@babylonjs/core/Buffers/buffer\";\r\nimport { AbstractMesh } from \"@babylonjs/core/Meshes/abstractMesh\";\r\nimport { SubMesh } from \"@babylonjs/core/Meshes/subMesh\";\r\nimport { Mesh } from \"@babylonjs/core/Meshes/mesh\";\r\nimport { Scene } from \"@babylonjs/core/scene\";\r\nimport { RegisterClass } from '@babylonjs/core/Misc/typeStore';\r\n\r\nimport \"./mix.fragment\";\r\nimport \"./mix.vertex\";\r\nimport { EffectFallbacks } from '@babylonjs/core/Materials/effectFallbacks';\r\n\r\nclass MixMaterialDefines extends MaterialDefines {\r\n public DIFFUSE = false;\r\n public CLIPPLANE = false;\r\n public CLIPPLANE2 = false;\r\n public CLIPPLANE3 = false;\r\n public CLIPPLANE4 = false;\r\n public CLIPPLANE5 = false;\r\n public CLIPPLANE6 = false;\r\n public ALPHATEST = false;\r\n public DEPTHPREPASS = false;\r\n public POINTSIZE = false;\r\n public FOG = false;\r\n public SPECULARTERM = false;\r\n public NORMAL = false;\r\n public UV1 = false;\r\n public UV2 = false;\r\n public VERTEXCOLOR = false;\r\n public VERTEXALPHA = false;\r\n public NUM_BONE_INFLUENCERS = 0;\r\n public BonesPerMesh = 0;\r\n public INSTANCES = false;\r\n public INSTANCESCOLOR = false;\r\n public MIXMAP2 = false;\r\n public IMAGEPROCESSINGPOSTPROCESS = false;\r\n public SKIPFINALCOLORCLAMP = false;\r\n\r\n constructor() {\r\n super();\r\n this.rebuild();\r\n }\r\n}\r\n\r\nexport class MixMaterial extends PushMaterial {\r\n /**\r\n * Mix textures\r\n */\r\n\r\n @serializeAsTexture(\"mixTexture1\")\r\n private _mixTexture1: BaseTexture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public mixTexture1: BaseTexture;\r\n\r\n @serializeAsTexture(\"mixTexture2\")\r\n private _mixTexture2: BaseTexture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public mixTexture2: BaseTexture;\r\n\r\n /**\r\n * Diffuse textures\r\n */\r\n\r\n @serializeAsTexture(\"diffuseTexture1\")\r\n private _diffuseTexture1: Texture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public diffuseTexture1: Texture;\r\n\r\n @serializeAsTexture(\"diffuseTexture2\")\r\n private _diffuseTexture2: Texture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public diffuseTexture2: Texture;\r\n\r\n @serializeAsTexture(\"diffuseTexture3\")\r\n private _diffuseTexture3: Texture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public diffuseTexture3: Texture;\r\n\r\n @serializeAsTexture(\"diffuseTexture4\")\r\n private _diffuseTexture4: Texture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public diffuseTexture4: Texture;\r\n\r\n @serializeAsTexture(\"diffuseTexture1\")\r\n private _diffuseTexture5: Texture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public diffuseTexture5: Texture;\r\n\r\n @serializeAsTexture(\"diffuseTexture2\")\r\n private _diffuseTexture6: Texture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public diffuseTexture6: Texture;\r\n\r\n @serializeAsTexture(\"diffuseTexture3\")\r\n private _diffuseTexture7: Texture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public diffuseTexture7: Texture;\r\n\r\n @serializeAsTexture(\"diffuseTexture4\")\r\n private _diffuseTexture8: Texture;\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public diffuseTexture8: Texture;\r\n\r\n /**\r\n * Uniforms\r\n */\r\n\r\n @serializeAsColor3()\r\n public diffuseColor = new Color3(1, 1, 1);\r\n\r\n @serializeAsColor3()\r\n public specularColor = new Color3(0, 0, 0);\r\n\r\n @serialize()\r\n public specularPower = 64;\r\n\r\n @serialize(\"disableLighting\")\r\n private _disableLighting = false;\r\n @expandToProperty(\"_markAllSubMeshesAsLightsDirty\")\r\n public disableLighting: boolean;\r\n\r\n @serialize(\"maxSimultaneousLights\")\r\n private _maxSimultaneousLights = 4;\r\n @expandToProperty(\"_markAllSubMeshesAsLightsDirty\")\r\n public maxSimultaneousLights: number;\r\n\r\n constructor(name: string, scene?: Scene) {\r\n super(name, scene);\r\n }\r\n\r\n public needAlphaBlending(): boolean {\r\n return (this.alpha < 1.0);\r\n }\r\n\r\n public needAlphaTesting(): boolean {\r\n return false;\r\n }\r\n\r\n public getAlphaTestTexture(): Nullable<BaseTexture> {\r\n return null;\r\n }\r\n\r\n // Methods\r\n public isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean {\r\n if (this.isFrozen) {\r\n if (subMesh.effect && subMesh.effect._wasPreviouslyReady) {\r\n return true;\r\n }\r\n }\r\n\r\n if (!subMesh.materialDefines) {\r\n subMesh.materialDefines = new MixMaterialDefines();\r\n }\r\n\r\n var defines = <MixMaterialDefines>subMesh.materialDefines;\r\n var scene = this.getScene();\r\n\r\n if (this._isReadyForSubMesh(subMesh)) {\r\n return true;\r\n }\r\n\r\n var engine = scene.getEngine();\r\n\r\n // Textures\r\n if (scene.texturesEnabled) {\r\n if (!this._mixTexture1 || !this._mixTexture1.isReady()) {\r\n return false;\r\n }\r\n\r\n defines._needUVs = true;\r\n\r\n if (MaterialFlags.DiffuseTextureEnabled) {\r\n if (!this._diffuseTexture1 || !this._diffuseTexture1.isReady()) {\r\n return false;\r\n }\r\n\r\n defines.DIFFUSE = true;\r\n\r\n if (!this._diffuseTexture2 || !this._diffuseTexture2.isReady()) {\r\n return false;\r\n }\r\n if (!this._diffuseTexture3 || !this._diffuseTexture3.isReady()) {\r\n return false;\r\n }\r\n if (!this._diffuseTexture4 || !this._diffuseTexture4.isReady()) {\r\n return false;\r\n }\r\n\r\n if (this._mixTexture2) {\r\n if (!this._mixTexture2.isReady()) {\r\n return false;\r\n }\r\n\r\n defines.MIXMAP2 = true;\r\n\r\n if (!this._diffuseTexture5 || !this._diffuseTexture5.isReady()) {\r\n return false;\r\n }\r\n if (!this._diffuseTexture6 || !this._diffuseTexture6.isReady()) {\r\n return false;\r\n }\r\n if (!this._diffuseTexture7 || !this._diffuseTexture7.isReady()) {\r\n return false;\r\n }\r\n if (!this._diffuseTexture8 || !this._diffuseTexture8.isReady()) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Misc.\r\n MaterialHelper.PrepareDefinesForMisc(mesh, scene, false, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(mesh), defines);\r\n\r\n // Lights\r\n defines._needNormals = MaterialHelper.PrepareDefinesForLights(scene, mesh, defines, false, this._maxSimultaneousLights, this._disableLighting);\r\n\r\n // Values that need to be evaluated on every frame\r\n MaterialHelper.PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false);\r\n\r\n // Attribs\r\n MaterialHelper.PrepareDefinesForAttributes(mesh, defines, true, true);\r\n\r\n // Get correct effect\r\n if (defines.isDirty) {\r\n defines.markAsProcessed();\r\n scene.resetCachedMaterial();\r\n\r\n // Fallbacks\r\n var fallbacks = new EffectFallbacks();\r\n if (defines.FOG) {\r\n fallbacks.addFallback(1, \"FOG\");\r\n }\r\n\r\n MaterialHelper.HandleFallbacksForShadows(defines, fallbacks, this.maxSimultaneousLights);\r\n\r\n if (defines.NUM_BONE_INFLUENCERS > 0) {\r\n fallbacks.addCPUSkinningFallback(0, mesh);\r\n }\r\n\r\n defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;\r\n\r\n //Attributes\r\n var attribs = [VertexBuffer.PositionKind];\r\n\r\n if (defines.NORMAL) {\r\n attribs.push(VertexBuffer.NormalKind);\r\n }\r\n\r\n if (defines.UV1) {\r\n attribs.push(VertexBuffer.UVKind);\r\n }\r\n\r\n if (defines.UV2) {\r\n attribs.push(VertexBuffer.UV2Kind);\r\n }\r\n\r\n if (defines.VERTEXCOLOR) {\r\n attribs.push(VertexBuffer.ColorKind);\r\n }\r\n\r\n MaterialHelper.PrepareAttributesForBones(attribs, mesh, defines, fallbacks);\r\n MaterialHelper.PrepareAttributesForInstances(attribs, defines);\r\n\r\n // Legacy browser patch\r\n var shaderName = \"mix\";\r\n var join = defines.toString();\r\n var uniforms = [\r\n \"world\", \"view\", \"viewProjection\", \"vEyePosition\", \"vLightsType\", \"vDiffuseColor\", \"vSpecularColor\",\r\n \"vFogInfos\", \"vFogColor\", \"pointSize\",\r\n \"vTextureInfos\",\r\n \"mBones\",\r\n \"vClipPlane\", \"vClipPlane2\", \"vClipPlane3\", \"vClipPlane4\", \"vClipPlane5\", \"vClipPlane6\", \"textureMatrix\",\r\n \"diffuse1Infos\", \"diffuse2Infos\", \"diffuse3Infos\", \"diffuse4Infos\",\r\n \"diffuse5Infos\", \"diffuse6Infos\", \"diffuse7Infos\", \"diffuse8Infos\"\r\n ];\r\n var samplers = [\r\n \"mixMap1Sampler\", \"mixMap2Sampler\",\r\n \"diffuse1Sampler\", \"diffuse2Sampler\", \"diffuse3Sampler\", \"diffuse4Sampler\",\r\n \"diffuse5Sampler\", \"diffuse6Sampler\", \"diffuse7Sampler\", \"diffuse8Sampler\"\r\n ];\r\n\r\n var uniformBuffers = new Array<string>();\r\n\r\n MaterialHelper.PrepareUniformsAndSamplersList(<IEffectCreationOptions>{\r\n uniformsNames: uniforms,\r\n uniformBuffersNames: uniformBuffers,\r\n samplers: samplers,\r\n defines: defines,\r\n maxSimultaneousLights: this.maxSimultaneousLights\r\n });\r\n\r\n subMesh.setEffect(scene.getEngine().createEffect(shaderName,\r\n <IEffectCreationOptions>{\r\n attributes: attribs,\r\n uniformsNames: uniforms,\r\n uniformBuffersNames: uniformBuffers,\r\n samplers: samplers,\r\n defines: join,\r\n fallbacks: fallbacks,\r\n onCompiled: this.onCompiled,\r\n onError: this.onError,\r\n indexParameters: { maxSimultaneousLights: this.maxSimultaneousLights }\r\n }, engine), defines, this._materialContext);\r\n }\r\n if (!subMesh.effect || !subMesh.effect.isReady()) {\r\n return false;\r\n }\r\n\r\n defines._renderId = scene.getRenderId();\r\n subMesh.effect._wasPreviouslyReady = true;\r\n\r\n return true;\r\n }\r\n\r\n public bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void {\r\n var scene = this.getScene();\r\n\r\n var defines = <MixMaterialDefines>subMesh.materialDefines;\r\n if (!defines) {\r\n return;\r\n }\r\n\r\n var effect = subMesh.effect;\r\n if (!effect) {\r\n return;\r\n }\r\n this._activeEffect = effect;\r\n\r\n // Matrices\r\n this.bindOnlyWorldMatrix(world);\r\n this._activeEffect.setMatrix(\"viewProjection\", scene.getTransformMatrix());\r\n\r\n // Bones\r\n MaterialHelper.BindBonesParameters(mesh, this._activeEffect);\r\n\r\n if (this._mustRebind(scene, effect)) {\r\n // Textures\r\n if (this._mixTexture1) {\r\n this._activeEffect.setTexture(\"mixMap1Sampler\", this._mixTexture1);\r\n this._activeEffect.setFloat2(\"vTextureInfos\", this._mixTexture1.coordinatesIndex, this._mixTexture1.level);\r\n this._activeEffect.setMatrix(\"textureMatrix\", this._mixTexture1.getTextureMatrix());\r\n\r\n if (MaterialFlags.DiffuseTextureEnabled) {\r\n if (this._diffuseTexture1) {\r\n this._activeEffect.setTexture(\"diffuse1Sampler\", this._diffuseTexture1);\r\n this._activeEffect.setFloat2(\"diffuse1Infos\", this._diffuseTexture1.uScale, this._diffuseTexture1.vScale);\r\n }\r\n if (this._diffuseTexture2) {\r\n this._activeEffect.setTexture(\"diffuse2Sampler\", this._diffuseTexture2);\r\n this._activeEffect.setFloat2(\"diffuse2Infos\", this._diffuseTexture2.uScale, this._diffuseTexture2.vScale);\r\n }\r\n if (this._diffuseTexture3) {\r\n this._activeEffect.setTexture(\"diffuse3Sampler\", this._diffuseTexture3);\r\n this._activeEffect.setFloat2(\"diffuse3Infos\", this._diffuseTexture3.uScale, this._diffuseTexture3.vScale);\r\n }\r\n if (this._diffuseTexture4) {\r\n this._activeEffect.setTexture(\"diffuse4Sampler\", this._diffuseTexture4);\r\n this._activeEffect.setFloat2(\"diffuse4Infos\", this._diffuseTexture4.uScale, this._diffuseTexture4.vScale);\r\n }\r\n }\r\n }\r\n\r\n if (this._mixTexture2) {\r\n this._activeEffect.setTexture(\"mixMap2Sampler\", this._mixTexture2);\r\n\r\n if (MaterialFlags.DiffuseTextureEnabled) {\r\n if (this._diffuseTexture5) {\r\n this._activeEffect.setTexture(\"diffuse5Sampler\", this._diffuseTexture5);\r\n this._activeEffect.setFloat2(\"diffuse5Infos\", this._diffuseTexture5.uScale, this._diffuseTexture5.vScale);\r\n }\r\n if (this._diffuseTexture6) {\r\n this._activeEffect.setTexture(\"diffuse6Sampler\", this._diffuseTexture6);\r\n this._activeEffect.setFloat2(\"diffuse6Infos\", this._diffuseTexture6.uScale, this._diffuseTexture6.vScale);\r\n }\r\n if (this._diffuseTexture7) {\r\n this._activeEffect.setTexture(\"diffuse7Sampler\", this._diffuseTexture7);\r\n this._activeEffect.setFloat2(\"diffuse7Infos\", this._diffuseTexture7.uScale, this._diffuseTexture7.vScale);\r\n }\r\n if (this._diffuseTexture8) {\r\n this._activeEffect.setTexture(\"diffuse8Sampler\", this._diffuseTexture8);\r\n this._activeEffect.setFloat2(\"diffuse8Infos\", this._diffuseTexture8.uScale, this._diffuseTexture8.vScale);\r\n }\r\n }\r\n }\r\n\r\n // Clip plane\r\n MaterialHelper.BindClipPlane(this._activeEffect, scene);\r\n\r\n // Point size\r\n if (this.pointsCloud) {\r\n this._activeEffect.setFloat(\"pointSize\", this.pointSize);\r\n }\r\n\r\n scene.bindEyePosition(effect);\r\n }\r\n\r\n this._activeEffect.setColor4(\"vDiffuseColor\", this.diffuseColor, this.alpha * mesh.visibility);\r\n\r\n if (defines.SPECULARTERM) {\r\n this._activeEffect.setColor4(\"vSpecularColor\", this.specularColor, this.specularPower);\r\n }\r\n\r\n if (scene.lightsEnabled && !this.disableLighting) {\r\n MaterialHelper.BindLights(scene, mesh, this._activeEffect, defines, this.maxSimultaneousLights);\r\n }\r\n\r\n // View\r\n if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== Scene.FOGMODE_NONE) {\r\n this._activeEffect.setMatrix(\"view\", scene.getViewMatrix());\r\n }\r\n\r\n // Fog\r\n MaterialHelper.BindFogParameters(scene, mesh, this._activeEffect);\r\n\r\n this._afterBind(mesh, this._activeEffect);\r\n }\r\n\r\n public getAnimatables(): IAnimatable[] {\r\n var results = [];\r\n\r\n if (this._mixTexture1 && this._mixTexture1.animations && this._mixTexture1.animations.length > 0) {\r\n results.push(this._mixTexture1);\r\n }\r\n\r\n if (this._mixTexture2 && this._mixTexture2.animations && this._mixTexture2.animations.length > 0) {\r\n results.push(this._mixTexture2);\r\n }\r\n\r\n return results;\r\n }\r\n\r\n public getActiveTextures(): BaseTexture[] {\r\n var activeTextures = super.getActiveTextures();\r\n\r\n // Mix map 1\r\n if (this._mixTexture1) {\r\n activeTextures.push(this._mixTexture1);\r\n }\r\n\r\n if (this._diffuseTexture1) {\r\n activeTextures.push(this._diffuseTexture1);\r\n }\r\n\r\n if (this._diffuseTexture2) {\r\n activeTextures.push(this._diffuseTexture2);\r\n }\r\n\r\n if (this._diffuseTexture3) {\r\n activeTextures.push(this._diffuseTexture3);\r\n }\r\n\r\n if (this._diffuseTexture4) {\r\n activeTextures.push(this._diffuseTexture4);\r\n }\r\n\r\n // Mix map 2\r\n if (this._mixTexture2) {\r\n activeTextures.push(this._mixTexture2);\r\n }\r\n\r\n if (this._diffuseTexture5) {\r\n activeTextures.push(this._diffuseTexture5);\r\n }\r\n\r\n if (this._diffuseTexture6) {\r\n activeTextures.push(this._diffuseTexture6);\r\n }\r\n\r\n if (this._diffuseTexture7) {\r\n activeTextures.push(this._diffuseTexture7);\r\n }\r\n\r\n if (this._diffuseTexture8) {\r\n activeTextures.push(this._diffuseTexture8);\r\n }\r\n\r\n return activeTextures;\r\n }\r\n\r\n public hasTexture(texture: BaseTexture): boolean {\r\n if (super.hasTexture(texture)) {\r\n return true;\r\n }\r\n\r\n // Mix map 1\r\n if (this._mixTexture1 === texture) {\r\n return true;\r\n }\r\n\r\n if (this._diffuseTexture1 === texture) {\r\n return true;\r\n }\r\n\r\n if (this._diffuseTexture2 === texture) {\r\n return true;\r\n }\r\n\r\n if (this._diffuseTexture3 === texture) {\r\n return true;\r\n }\r\n\r\n if (this._diffuseTexture4 === texture) {\r\n return true;\r\n }\r\n\r\n // Mix map 2\r\n if (this._mixTexture2 === texture) {\r\n return true;\r\n }\r\n\r\n if (this._diffuseTexture5 === texture) {\r\n return true;\r\n }\r\n\r\n if (this._diffuseTexture6 === texture) {\r\n return true;\r\n }\r\n\r\n if (this._diffuseTexture7 === texture) {\r\n return true;\r\n }\r\n\r\n if (this._diffuseTexture8 === texture) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public dispose(forceDisposeEffect?: boolean): void {\r\n if (this._mixTexture1) {\r\n this._mixTexture1.dispose();\r\n }\r\n\r\n super.dispose(forceDisposeEffect);\r\n }\r\n\r\n public clone(name: string): MixMaterial {\r\n return SerializationHelper.Clone(() => new MixMaterial(name, this.getScene()), this);\r\n }\r\n\r\n public serialize(): any {\r\n var serializationObject = super.serialize();\r\n serializationObject.customType = \"BABYLON.MixMaterial\";\r\n return serializationObject;\r\n }\r\n\r\n public getClassName(): string {\r\n return \"MixMaterial\";\r\n }\r\n\r\n // Statics\r\n public static Parse(source: any, scene: Scene, rootUrl: string): MixMaterial {\r\n return SerializationHelper.Parse(() => new MixMaterial(source.name, scene), source, scene, rootUrl);\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.MixMaterial\", MixMaterial);\r\n"]}
package/normal/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export * from "./normalMaterial";
1
+ export * from "./normalMaterial.js";
2
2
  //# sourceMappingURL=index.js.map