@babylonjs/gui 5.0.0-rc.0 → 5.0.0-rc.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 (305) hide show
  1. package/2D/adtInstrumentation.d.ts +52 -52
  2. package/2D/adtInstrumentation.js +126 -126
  3. package/2D/adtInstrumentation.js.map +1 -1
  4. package/2D/advancedDynamicTexture.d.ts +449 -423
  5. package/2D/advancedDynamicTexture.js +1318 -1286
  6. package/2D/advancedDynamicTexture.js.map +1 -1
  7. package/2D/controls/button.d.ts +135 -97
  8. package/2D/controls/button.js +276 -238
  9. package/2D/controls/button.js.map +1 -1
  10. package/2D/controls/checkbox.d.ts +59 -51
  11. package/2D/controls/checkbox.js +188 -178
  12. package/2D/controls/checkbox.js.map +1 -1
  13. package/2D/controls/colorpicker.d.ts +103 -90
  14. package/2D/controls/colorpicker.js +1417 -1400
  15. package/2D/controls/colorpicker.js.map +1 -1
  16. package/2D/controls/container.d.ts +175 -130
  17. package/2D/controls/container.js +570 -525
  18. package/2D/controls/container.js.map +1 -1
  19. package/2D/controls/control.d.ts +866 -743
  20. package/2D/controls/control.js +2433 -2308
  21. package/2D/controls/control.js.map +1 -1
  22. package/2D/controls/displayGrid.d.ts +53 -55
  23. package/2D/controls/displayGrid.js +245 -245
  24. package/2D/controls/displayGrid.js.map +1 -1
  25. package/2D/controls/ellipse.d.ts +21 -21
  26. package/2D/controls/ellipse.js +85 -85
  27. package/2D/controls/ellipse.js.map +1 -1
  28. package/2D/controls/focusableButton.d.ts +59 -52
  29. package/2D/controls/focusableButton.js +99 -92
  30. package/2D/controls/focusableButton.js.map +1 -1
  31. package/2D/controls/focusableControl.d.ts +34 -34
  32. package/2D/controls/focusableControl.js +1 -1
  33. package/2D/controls/focusableControl.js.map +1 -1
  34. package/2D/controls/grid.d.ts +139 -135
  35. package/2D/controls/grid.js +529 -525
  36. package/2D/controls/grid.js.map +1 -1
  37. package/2D/controls/image.d.ts +204 -197
  38. package/2D/controls/image.js +887 -879
  39. package/2D/controls/image.js.map +1 -1
  40. package/2D/controls/index.d.ts +29 -29
  41. package/2D/controls/index.js +29 -29
  42. package/2D/controls/index.js.map +1 -1
  43. package/2D/controls/inputPassword.d.ts +9 -8
  44. package/2D/controls/inputPassword.js +28 -25
  45. package/2D/controls/inputPassword.js.map +1 -1
  46. package/2D/controls/inputText.d.ts +201 -182
  47. package/2D/controls/inputText.js +1119 -1096
  48. package/2D/controls/inputText.js.map +1 -1
  49. package/2D/controls/line.d.ts +66 -66
  50. package/2D/controls/line.js +271 -271
  51. package/2D/controls/line.js.map +1 -1
  52. package/2D/controls/multiLine.d.ts +75 -77
  53. package/2D/controls/multiLine.js +262 -262
  54. package/2D/controls/multiLine.js.map +1 -1
  55. package/2D/controls/radioButton.d.ts +49 -49
  56. package/2D/controls/radioButton.js +205 -205
  57. package/2D/controls/radioButton.js.map +1 -1
  58. package/2D/controls/rectangle.d.ts +29 -29
  59. package/2D/controls/rectangle.js +150 -150
  60. package/2D/controls/rectangle.js.map +1 -1
  61. package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -175
  62. package/2D/controls/scrollViewers/scrollViewer.js +677 -676
  63. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  64. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -45
  65. package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -263
  66. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  67. package/2D/controls/selector.d.ts +263 -209
  68. package/2D/controls/selector.js +692 -629
  69. package/2D/controls/selector.js.map +1 -1
  70. package/2D/controls/sliders/baseSlider.d.ts +82 -78
  71. package/2D/controls/sliders/baseSlider.js +347 -343
  72. package/2D/controls/sliders/baseSlider.js.map +1 -1
  73. package/2D/controls/sliders/imageBasedSlider.d.ts +49 -47
  74. package/2D/controls/sliders/imageBasedSlider.js +192 -188
  75. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  76. package/2D/controls/sliders/imageScrollBar.d.ts +65 -61
  77. package/2D/controls/sliders/imageScrollBar.js +263 -256
  78. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  79. package/2D/controls/sliders/scrollBar.d.ts +38 -34
  80. package/2D/controls/sliders/scrollBar.js +143 -136
  81. package/2D/controls/sliders/scrollBar.js.map +1 -1
  82. package/2D/controls/sliders/slider.d.ts +35 -37
  83. package/2D/controls/sliders/slider.js +271 -271
  84. package/2D/controls/sliders/slider.js.map +1 -1
  85. package/2D/controls/stackPanel.d.ts +64 -56
  86. package/2D/controls/stackPanel.js +246 -236
  87. package/2D/controls/stackPanel.js.map +1 -1
  88. package/2D/controls/statics.d.ts +6 -6
  89. package/2D/controls/statics.js +49 -47
  90. package/2D/controls/statics.js.map +1 -1
  91. package/2D/controls/textBlock.d.ts +175 -172
  92. package/2D/controls/textBlock.js +603 -598
  93. package/2D/controls/textBlock.js.map +1 -1
  94. package/2D/controls/textWrapper.d.ts +13 -13
  95. package/2D/controls/textWrapper.js +101 -101
  96. package/2D/controls/textWrapper.js.map +1 -1
  97. package/2D/controls/toggleButton.d.ts +117 -83
  98. package/2D/controls/toggleButton.js +268 -234
  99. package/2D/controls/toggleButton.js.map +1 -1
  100. package/2D/controls/virtualKeyboard.d.ts +96 -96
  101. package/2D/controls/virtualKeyboard.js +256 -256
  102. package/2D/controls/virtualKeyboard.js.map +1 -1
  103. package/2D/index.d.ts +9 -9
  104. package/2D/index.js +10 -9
  105. package/2D/index.js.map +1 -1
  106. package/2D/math2D.d.ts +117 -117
  107. package/2D/math2D.js +221 -221
  108. package/2D/math2D.js.map +1 -1
  109. package/2D/measure.d.ts +77 -77
  110. package/2D/measure.js +139 -149
  111. package/2D/measure.js.map +1 -1
  112. package/2D/multiLinePoint.d.ts +47 -47
  113. package/2D/multiLinePoint.js +127 -127
  114. package/2D/multiLinePoint.js.map +1 -1
  115. package/2D/style.d.ts +46 -46
  116. package/2D/style.js +97 -97
  117. package/2D/style.js.map +1 -1
  118. package/2D/valueAndUnit.d.ts +89 -89
  119. package/2D/valueAndUnit.js +226 -222
  120. package/2D/valueAndUnit.js.map +1 -1
  121. package/2D/xmlLoader.d.ts +60 -60
  122. package/2D/xmlLoader.js +348 -348
  123. package/2D/xmlLoader.js.map +1 -1
  124. package/3D/behaviors/defaultBehavior.d.ts +73 -73
  125. package/3D/behaviors/defaultBehavior.js +121 -121
  126. package/3D/behaviors/defaultBehavior.js.map +1 -1
  127. package/3D/controls/abstractButton3D.d.ts +15 -15
  128. package/3D/controls/abstractButton3D.js +25 -25
  129. package/3D/controls/abstractButton3D.js.map +1 -1
  130. package/3D/controls/button3D.d.ts +30 -30
  131. package/3D/controls/button3D.js +93 -93
  132. package/3D/controls/button3D.js.map +1 -1
  133. package/3D/controls/container3D.d.ts +72 -72
  134. package/3D/controls/container3D.js +139 -140
  135. package/3D/controls/container3D.js.map +1 -1
  136. package/3D/controls/contentDisplay3D.d.ts +30 -30
  137. package/3D/controls/contentDisplay3D.js +79 -78
  138. package/3D/controls/contentDisplay3D.js.map +1 -1
  139. package/3D/controls/control3D.d.ts +201 -165
  140. package/3D/controls/control3D.js +445 -408
  141. package/3D/controls/control3D.js.map +1 -1
  142. package/3D/controls/cylinderPanel.d.ts +17 -17
  143. package/3D/controls/cylinderPanel.js +66 -66
  144. package/3D/controls/cylinderPanel.js.map +1 -1
  145. package/3D/controls/handMenu.d.ts +28 -28
  146. package/3D/controls/handMenu.js +47 -47
  147. package/3D/controls/handMenu.js.map +1 -1
  148. package/3D/controls/holographicBackplate.d.ts +49 -48
  149. package/3D/controls/holographicBackplate.js +120 -120
  150. package/3D/controls/holographicBackplate.js.map +1 -1
  151. package/3D/controls/holographicButton.d.ts +84 -83
  152. package/3D/controls/holographicButton.js +339 -338
  153. package/3D/controls/holographicButton.js.map +1 -1
  154. package/3D/controls/holographicSlate.d.ts +131 -128
  155. package/3D/controls/holographicSlate.js +431 -428
  156. package/3D/controls/holographicSlate.js.map +1 -1
  157. package/3D/controls/index.d.ts +21 -21
  158. package/3D/controls/index.js +21 -21
  159. package/3D/controls/index.js.map +1 -1
  160. package/3D/controls/meshButton3D.d.ts +21 -21
  161. package/3D/controls/meshButton3D.js +62 -61
  162. package/3D/controls/meshButton3D.js.map +1 -1
  163. package/3D/controls/nearMenu.d.ts +44 -44
  164. package/3D/controls/nearMenu.js +114 -112
  165. package/3D/controls/nearMenu.js.map +1 -1
  166. package/3D/controls/planePanel.d.ts +9 -9
  167. package/3D/controls/planePanel.js +36 -36
  168. package/3D/controls/planePanel.js.map +1 -1
  169. package/3D/controls/scatterPanel.d.ts +18 -18
  170. package/3D/controls/scatterPanel.js +108 -108
  171. package/3D/controls/scatterPanel.js.map +1 -1
  172. package/3D/controls/slider3D.d.ts +81 -80
  173. package/3D/controls/slider3D.js +268 -267
  174. package/3D/controls/slider3D.js.map +1 -1
  175. package/3D/controls/spherePanel.d.ts +17 -17
  176. package/3D/controls/spherePanel.js +67 -67
  177. package/3D/controls/spherePanel.js.map +1 -1
  178. package/3D/controls/stackPanel3D.d.ts +22 -22
  179. package/3D/controls/stackPanel3D.js +107 -107
  180. package/3D/controls/stackPanel3D.js.map +1 -1
  181. package/3D/controls/touchButton3D.d.ts +80 -75
  182. package/3D/controls/touchButton3D.js +233 -227
  183. package/3D/controls/touchButton3D.js.map +1 -1
  184. package/3D/controls/touchHolographicButton.d.ts +110 -109
  185. package/3D/controls/touchHolographicButton.js +445 -445
  186. package/3D/controls/touchHolographicButton.js.map +1 -1
  187. package/3D/controls/touchHolographicMenu.d.ts +61 -61
  188. package/3D/controls/touchHolographicMenu.js +149 -148
  189. package/3D/controls/touchHolographicMenu.js.map +1 -1
  190. package/3D/controls/touchMeshButton3D.d.ts +21 -22
  191. package/3D/controls/touchMeshButton3D.js +62 -62
  192. package/3D/controls/touchMeshButton3D.js.map +1 -1
  193. package/3D/controls/volumeBasedPanel.d.ts +53 -52
  194. package/3D/controls/volumeBasedPanel.js +174 -174
  195. package/3D/controls/volumeBasedPanel.js.map +1 -1
  196. package/3D/gizmos/gizmoHandle.d.ts +108 -108
  197. package/3D/gizmos/gizmoHandle.js +209 -209
  198. package/3D/gizmos/gizmoHandle.js.map +1 -1
  199. package/3D/gizmos/index.d.ts +2 -2
  200. package/3D/gizmos/index.js +2 -2
  201. package/3D/gizmos/index.js.map +1 -1
  202. package/3D/gizmos/slateGizmo.d.ts +57 -57
  203. package/3D/gizmos/slateGizmo.js +369 -369
  204. package/3D/gizmos/slateGizmo.js.map +1 -1
  205. package/3D/gui3DManager.d.ts +94 -94
  206. package/3D/gui3DManager.js +257 -257
  207. package/3D/gui3DManager.js.map +1 -1
  208. package/3D/index.d.ts +5 -5
  209. package/3D/index.js +6 -5
  210. package/3D/index.js.map +1 -1
  211. package/3D/materials/fluent/fluentMaterial.d.ts +91 -90
  212. package/3D/materials/fluent/fluentMaterial.js +292 -281
  213. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  214. package/3D/materials/fluent/index.d.ts +1 -1
  215. package/3D/materials/fluent/index.js +1 -1
  216. package/3D/materials/fluent/index.js.map +1 -1
  217. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
  218. package/3D/materials/fluent/shaders/fluent.fragment.js +8 -6
  219. package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -1
  220. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
  221. package/3D/materials/fluent/shaders/fluent.vertex.js +8 -6
  222. package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -1
  223. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +155 -154
  224. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -434
  225. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  226. package/3D/materials/fluentBackplate/index.d.ts +1 -1
  227. package/3D/materials/fluentBackplate/index.js +1 -1
  228. package/3D/materials/fluentBackplate/index.js.map +1 -1
  229. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
  230. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -6
  231. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -1
  232. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
  233. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -6
  234. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -1
  235. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +190 -189
  236. package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -537
  237. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  238. package/3D/materials/fluentButton/index.d.ts +1 -1
  239. package/3D/materials/fluentButton/index.js +1 -1
  240. package/3D/materials/fluentButton/index.js.map +1 -1
  241. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
  242. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -6
  243. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -1
  244. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
  245. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -6
  246. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -1
  247. package/3D/materials/fluentMaterial.d.ts +4 -4
  248. package/3D/materials/fluentMaterial.js +4 -4
  249. package/3D/materials/fluentMaterial.js.map +1 -1
  250. package/3D/materials/handle/handleMaterial.d.ts +68 -68
  251. package/3D/materials/handle/handleMaterial.js +126 -126
  252. package/3D/materials/handle/handleMaterial.js.map +1 -1
  253. package/3D/materials/handle/index.d.ts +1 -1
  254. package/3D/materials/handle/index.js +1 -1
  255. package/3D/materials/handle/index.js.map +1 -1
  256. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
  257. package/3D/materials/handle/shaders/handle.fragment.js +8 -6
  258. package/3D/materials/handle/shaders/handle.fragment.js.map +1 -1
  259. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
  260. package/3D/materials/handle/shaders/handle.vertex.js +8 -6
  261. package/3D/materials/handle/shaders/handle.vertex.js.map +1 -1
  262. package/3D/materials/index.d.ts +5 -5
  263. package/3D/materials/index.js +6 -5
  264. package/3D/materials/index.js.map +1 -1
  265. package/3D/materials/mrdl/index.d.ts +3 -3
  266. package/3D/materials/mrdl/index.js +3 -3
  267. package/3D/materials/mrdl/index.js.map +1 -1
  268. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +148 -147
  269. package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -409
  270. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  271. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +334 -333
  272. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -786
  273. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  274. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +334 -333
  275. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -786
  276. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  277. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
  278. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -6
  279. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -1
  280. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
  281. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -6
  282. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -1
  283. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
  284. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -6
  285. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -1
  286. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
  287. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -6
  288. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -1
  289. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
  290. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -6
  291. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -1
  292. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
  293. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -6
  294. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -1
  295. package/3D/vector3WithInfo.d.ts +16 -16
  296. package/3D/vector3WithInfo.js +23 -23
  297. package/3D/vector3WithInfo.js.map +1 -1
  298. package/index.d.ts +2 -2
  299. package/index.js +3 -2
  300. package/index.js.map +1 -1
  301. package/legacy/legacy.d.ts +1 -1
  302. package/legacy/legacy.js +14 -13
  303. package/legacy/legacy.js.map +1 -1
  304. package/package.json +21 -328
  305. package/readme.md +2 -2
@@ -1,410 +1,437 @@
1
- import { __decorate, __extends } from "tslib";
2
- import { SerializationHelper, serialize } from "@babylonjs/core/Misc/decorators.js";
3
- import { Vector4 } from "@babylonjs/core/Maths/math.vector.js";
4
- import { Texture } from "@babylonjs/core/Materials/Textures/texture.js";
5
- import { MaterialDefines } from "@babylonjs/core/Materials/materialDefines.js";
6
- import { MaterialHelper } from "@babylonjs/core/Materials/materialHelper.js";
7
- import { PushMaterial } from "@babylonjs/core/Materials/pushMaterial.js";
8
- import { VertexBuffer } from "@babylonjs/core/Buffers/buffer.js";
9
- import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
10
- import { Color4 } from "@babylonjs/core/Maths/math.color.js";
11
- import { EffectFallbacks } from "@babylonjs/core/Materials/effectFallbacks.js";
12
- import { Constants } from "@babylonjs/core/Engines/constants.js";
13
- import "./shaders/mrdlBackplate.fragment.js";
14
- import "./shaders/mrdlBackplate.vertex.js";
15
- /** @hidden */
16
- var MRDLBackplateMaterialDefines = /** @class */ (function (_super) {
17
- __extends(MRDLBackplateMaterialDefines, _super);
18
- function MRDLBackplateMaterialDefines() {
19
- var _this = _super.call(this) || this;
20
- /*
21
- "IRIDESCENCE_ENABLE", "SMOOTH_EDGES"
22
- */
23
- _this.IRIDESCENCE_ENABLED = true;
24
- _this.SMOOTH_EDGES = true;
25
- _this._needNormals = true;
26
- _this.rebuild();
27
- return _this;
28
- }
29
- return MRDLBackplateMaterialDefines;
30
- }(MaterialDefines));
31
- /**
32
- * Class used to render backplate material with MRDL
33
- */
34
- var MRDLBackplateMaterial = /** @class */ (function (_super) {
35
- __extends(MRDLBackplateMaterial, _super);
36
- function MRDLBackplateMaterial(name, scene) {
37
- var _this = _super.call(this, name, scene) || this;
38
- /**
39
- * Gets or sets the corner radius on the backplate. If this value is changed, update the lineWidth to match.
40
- */
41
- _this.radius = 0.3;
42
- /**
43
- * Gets or sets the line width of the backplate.
44
- */
45
- _this.lineWidth = 0.003;
46
- /**
47
- * Gets or sets whether to use absolute sizes when calculating effects on the backplate.
48
- * Since desktop and VR/AR have different relative sizes, it's usually best to keep this false.
49
- */
50
- _this.absoluteSizes = false;
51
- /** @hidden */
52
- _this._filterWidth = 1;
53
- /**
54
- * Gets or sets the base color of the backplate.
55
- */
56
- _this.baseColor = new Color4(0, 0, 0, 1);
57
- /**
58
- * Gets or sets the line color of the backplate.
59
- */
60
- _this.lineColor = new Color4(0.2, 0.262745, 0.4, 1);
61
- /**
62
- * Gets or sets the top left Radii Multiplier.
63
- */
64
- _this.radiusTopLeft = 1.0;
65
- /**
66
- * Gets or sets the top left Radii Multiplier.
67
- */
68
- _this.radiusTopRight = 1.0;
69
- /**
70
- * Gets or sets the top left Radii Multiplier.
71
- */
72
- _this.radiusBottomLeft = 1.0;
73
- /**
74
- * Gets or sets the top left Radii Multiplier.
75
- */
76
- _this.radiusBottomRight = 1.0;
77
- /** @hidden */
78
- _this._rate = 0;
79
- /**
80
- * Gets or sets the color of the highlights on the backplate line.
81
- */
82
- _this.highlightColor = new Color4(0.239216, 0.435294, 0.827451, 1);
83
- /**
84
- * Gets or sets the width of the highlights on the backplate line.
85
- */
86
- _this.highlightWidth = 0;
87
- /** @hidden */
88
- _this._highlightTransform = new Vector4(1, 1, 0, 0);
89
- /** @hidden */
90
- _this._highlight = 1;
91
- /**
92
- * Gets or sets the intensity of the iridescence effect.
93
- */
94
- _this.iridescenceIntensity = 0.45;
95
- /**
96
- * Gets or sets the intensity of the iridescence effect on the backplate edges.
97
- */
98
- _this.iridescenceEdgeIntensity = 1;
99
- /**
100
- * Gets or sets the Tint of the iridescence effect on the backplate.
101
- */
102
- _this.iridescenceTint = new Color4(1, 1, 1, 1);
103
- /** @hidden */
104
- _this._angle = -45;
105
- /**
106
- * Gets or sets the opacity of the backplate (0.0 - 1.0).
107
- */
108
- _this.fadeOut = 1;
109
- /** @hidden */
110
- _this._reflected = true;
111
- /** @hidden */
112
- _this._frequency = 1;
113
- /** @hidden */
114
- _this._verticalOffset = 0;
115
- /**
116
- * Gets or sets the gradient color effect on the backplate.
117
- */
118
- _this.gradientColor = new Color4(0.74902, 0.74902, 0.74902, 1);
119
- /**
120
- * Gets or sets the top left gradient color effect on the backplate.
121
- */
122
- _this.topLeftGradientColor = new Color4(0.00784314, 0.294118, 0.580392, 1);
123
- /**
124
- * Gets or sets the top right gradient color effect on the backplate.
125
- */
126
- _this.topRightGradientColor = new Color4(0.305882, 0, 1, 1);
127
- /**
128
- * Gets or sets the bottom left gradient color effect on the backplate.
129
- */
130
- _this.bottomLeftGradientColor = new Color4(0.133333, 0.258824, 0.992157, 1);
131
- /**
132
- * Gets or sets the bottom right gradient color effect on the backplate.
133
- */
134
- _this.bottomRightGradientColor = new Color4(0.176471, 0.176471, 0.619608, 1);
135
- /**
136
- * Gets or sets the edge width of the backplate.
137
- */
138
- _this.edgeWidth = 0.5;
139
- /**
140
- * Gets or sets the edge width of the backplate.
141
- */
142
- _this.edgePower = 1;
143
- /**
144
- * Gets or sets the edge width of the backplate.
145
- */
146
- _this.edgeLineGradientBlend = 0.5;
147
- _this.alphaMode = Constants.ALPHA_DISABLE;
148
- _this.backFaceCulling = false;
149
- _this._iridescentMapTexture = new Texture(MRDLBackplateMaterial.IRIDESCENT_MAP_TEXTURE_URL, _this.getScene(), true, false, Texture.NEAREST_SAMPLINGMODE);
150
- return _this;
151
- }
152
- MRDLBackplateMaterial.prototype.needAlphaBlending = function () {
153
- return false;
154
- };
155
- MRDLBackplateMaterial.prototype.needAlphaTesting = function () {
156
- return false;
157
- };
158
- MRDLBackplateMaterial.prototype.getAlphaTestTexture = function () {
159
- return null;
160
- };
161
- // Methods
162
- MRDLBackplateMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) {
163
- if (this.isFrozen) {
164
- if (subMesh.effect && subMesh.effect._wasPreviouslyReady) {
165
- return true;
166
- }
167
- }
168
- if (!subMesh.materialDefines) {
169
- subMesh.materialDefines = new MRDLBackplateMaterialDefines();
170
- }
171
- var defines = subMesh.materialDefines;
172
- var scene = this.getScene();
173
- if (this._isReadyForSubMesh(subMesh)) {
174
- return true;
175
- }
176
- var engine = scene.getEngine();
177
- // Attribs
178
- MaterialHelper.PrepareDefinesForAttributes(mesh, defines, false, false);
179
- // Get correct effect
180
- if (defines.isDirty) {
181
- defines.markAsProcessed();
182
- scene.resetCachedMaterial();
183
- // Fallbacks
184
- var fallbacks = new EffectFallbacks();
185
- if (defines.FOG) {
186
- fallbacks.addFallback(1, "FOG");
187
- }
188
- MaterialHelper.HandleFallbacksForShadows(defines, fallbacks);
189
- defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;
190
- //Attributes
191
- var attribs = [VertexBuffer.PositionKind];
192
- if (defines.NORMAL) {
193
- attribs.push(VertexBuffer.NormalKind);
194
- }
195
- if (defines.UV1) {
196
- attribs.push(VertexBuffer.UVKind);
197
- }
198
- if (defines.UV2) {
199
- attribs.push(VertexBuffer.UV2Kind);
200
- }
201
- if (defines.VERTEXCOLOR) {
202
- attribs.push(VertexBuffer.ColorKind);
203
- }
204
- if (defines.TANGENT) {
205
- attribs.push(VertexBuffer.TangentKind);
206
- }
207
- MaterialHelper.PrepareAttributesForInstances(attribs, defines);
208
- // Legacy browser patch
209
- var shaderName = "mrdlBackplate";
210
- var join = defines.toString();
211
- var uniforms = [
212
- "world", "viewProjection", "cameraPosition",
213
- "_Radius_", "_Line_Width_", "_Absolute_Sizes_", "_Filter_Width_", "_Base_Color_", "_Line_Color_",
214
- "_Radius_Top_Left_", "_Radius_Top_Right_", "_Radius_Bottom_Left_", "_Radius_Bottom_Right_",
215
- "_Rate_", "_Highlight_Color_", "_Highlight_Width_", "_Highlight_Transform_", "_Highlight_",
216
- "_Iridescence_Intensity_", "_Iridescence_Edge_Intensity_", "_Iridescence_Tint_", "_Iridescent_Map_",
217
- "_Angle_", "_Reflected_", "_Frequency_", "_Vertical_Offset_", "_Gradient_Color_", "_Top_Left_",
218
- "_Top_Right_", "_Bottom_Left_", "_Bottom_Right_", "_Edge_Width_", "_Edge_Power_", "_Line_Gradient_Blend_",
219
- "_Fade_Out_"
220
- ];
221
- var samplers = [];
222
- var uniformBuffers = new Array();
223
- MaterialHelper.PrepareUniformsAndSamplersList({
224
- uniformsNames: uniforms,
225
- uniformBuffersNames: uniformBuffers,
226
- samplers: samplers,
227
- defines: defines,
228
- maxSimultaneousLights: 4
229
- });
230
- subMesh.setEffect(scene.getEngine().createEffect(shaderName, {
231
- attributes: attribs,
232
- uniformsNames: uniforms,
233
- uniformBuffersNames: uniformBuffers,
234
- samplers: samplers,
235
- defines: join,
236
- fallbacks: fallbacks,
237
- onCompiled: this.onCompiled,
238
- onError: this.onError,
239
- indexParameters: { maxSimultaneousLights: 4 }
240
- }, engine), defines);
241
- }
242
- if (!subMesh.effect || !subMesh.effect.isReady()) {
243
- return false;
244
- }
245
- defines._renderId = scene.getRenderId();
246
- subMesh.effect._wasPreviouslyReady = true;
247
- return true;
248
- };
249
- MRDLBackplateMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) {
250
- var defines = subMesh.materialDefines;
251
- if (!defines) {
252
- return;
253
- }
254
- var effect = subMesh.effect;
255
- if (!effect) {
256
- return;
257
- }
258
- this._activeEffect = effect;
259
- // Matrices
260
- this.bindOnlyWorldMatrix(world);
261
- this._activeEffect.setMatrix("viewProjection", this.getScene().getTransformMatrix());
262
- this._activeEffect.setVector3("cameraPosition", this.getScene().activeCamera.position);
263
- // "Round Rect"
264
- this._activeEffect.setFloat("_Radius_", this.radius);
265
- this._activeEffect.setFloat("_Line_Width_", this.lineWidth);
266
- this._activeEffect.setFloat("_Absolute_Sizes_", this.absoluteSizes ? 1.0 : 0.0);
267
- this._activeEffect.setFloat("_Filter_Width_", this._filterWidth);
268
- this._activeEffect.setDirectColor4("_Base_Color_", this.baseColor);
269
- this._activeEffect.setDirectColor4("_Line_Color_", this.lineColor);
270
- // "Radii Multipliers"
271
- this._activeEffect.setFloat("_Radius_Top_Left_", this.radiusTopLeft);
272
- this._activeEffect.setFloat("_Radius_Top_Right_", this.radiusTopRight);
273
- this._activeEffect.setFloat("_Radius_Bottom_Left_", this.radiusBottomLeft);
274
- this._activeEffect.setFloat("_Radius_Bottom_Right_", this.radiusBottomRight);
275
- // "Line Highlight"
276
- this._activeEffect.setFloat("_Rate_", this._rate);
277
- this._activeEffect.setDirectColor4("_Highlight_Color_", this.highlightColor);
278
- this._activeEffect.setFloat("_Highlight_Width_", this.highlightWidth);
279
- this._activeEffect.setVector4("_Highlight_Transform_", this._highlightTransform);
280
- this._activeEffect.setFloat("_Highlight_", this._highlight);
281
- // "Iridescence"
282
- //define IRIDESCENCE_ENABLE true;
283
- this._activeEffect.setFloat("_Iridescence_Intensity_", this.iridescenceIntensity);
284
- this._activeEffect.setFloat("_Iridescence_Edge_Intensity_", this.iridescenceEdgeIntensity);
285
- this._activeEffect.setDirectColor4("_Iridescence_Tint_", this.iridescenceTint);
286
- this._activeEffect.setTexture("_Iridescent_Map_", this._iridescentMapTexture);
287
- this._activeEffect.setFloat("_Angle_", this._angle);
288
- this._activeEffect.setFloat("_Reflected_", this._reflected ? 1.0 : 0.0);
289
- this._activeEffect.setFloat("_Frequency_", this._frequency);
290
- this._activeEffect.setFloat("_Vertical_Offset_", this._verticalOffset);
291
- // "Gradient"
292
- this._activeEffect.setDirectColor4("_Gradient_Color_", this.gradientColor);
293
- this._activeEffect.setDirectColor4("_Top_Left_", this.topLeftGradientColor);
294
- this._activeEffect.setDirectColor4("_Top_Right_", this.topRightGradientColor);
295
- this._activeEffect.setDirectColor4("_Bottom_Left_", this.bottomLeftGradientColor);
296
- this._activeEffect.setDirectColor4("_Bottom_Right_", this.bottomRightGradientColor);
297
- //define EDGE_ONLY false;
298
- this._activeEffect.setFloat("_Edge_Width_", this.edgeWidth);
299
- this._activeEffect.setFloat("_Edge_Power_", this.edgePower);
300
- this._activeEffect.setFloat("_Line_Gradient_Blend_", this.edgeLineGradientBlend);
301
- // "Fade"
302
- this._activeEffect.setFloat("_Fade_Out_", this.fadeOut);
303
- // "Antialiasing"
304
- //define SMOOTH_EDGES true;
305
- this._afterBind(mesh, this._activeEffect);
306
- };
307
- /**
308
- * Get the list of animatables in the material.
309
- * @returns the list of animatables object used in the material
310
- */
311
- MRDLBackplateMaterial.prototype.getAnimatables = function () {
312
- return [];
313
- };
314
- MRDLBackplateMaterial.prototype.dispose = function (forceDisposeEffect) {
315
- _super.prototype.dispose.call(this, forceDisposeEffect);
316
- };
317
- MRDLBackplateMaterial.prototype.clone = function (name) {
318
- var _this = this;
319
- return SerializationHelper.Clone(function () { return new MRDLBackplateMaterial(name, _this.getScene()); }, this);
320
- };
321
- MRDLBackplateMaterial.prototype.serialize = function () {
322
- var serializationObject = _super.prototype.serialize.call(this);
323
- serializationObject.customType = "BABYLON.MRDLBackplateMaterial";
324
- return serializationObject;
325
- };
326
- MRDLBackplateMaterial.prototype.getClassName = function () {
327
- return "MRDLBackplateMaterial";
328
- };
329
- // Statics
330
- MRDLBackplateMaterial.Parse = function (source, scene, rootUrl) {
331
- return SerializationHelper.Parse(function () { return new MRDLBackplateMaterial(source.name, scene); }, source, scene, rootUrl);
332
- };
333
- /**
334
- * URL pointing to the texture used to define the coloring for the Iridescent Map effect.
335
- */
336
- MRDLBackplateMaterial.IRIDESCENT_MAP_TEXTURE_URL = "https://assets.babylonjs.com/meshes/MRTK/MRDL/mrtk-mrdl-backplate-iridescence.png";
337
- __decorate([
338
- serialize()
339
- ], MRDLBackplateMaterial.prototype, "radius", void 0);
340
- __decorate([
341
- serialize()
342
- ], MRDLBackplateMaterial.prototype, "lineWidth", void 0);
343
- __decorate([
344
- serialize()
345
- ], MRDLBackplateMaterial.prototype, "absoluteSizes", void 0);
346
- __decorate([
347
- serialize()
348
- ], MRDLBackplateMaterial.prototype, "baseColor", void 0);
349
- __decorate([
350
- serialize()
351
- ], MRDLBackplateMaterial.prototype, "lineColor", void 0);
352
- __decorate([
353
- serialize()
354
- ], MRDLBackplateMaterial.prototype, "radiusTopLeft", void 0);
355
- __decorate([
356
- serialize()
357
- ], MRDLBackplateMaterial.prototype, "radiusTopRight", void 0);
358
- __decorate([
359
- serialize()
360
- ], MRDLBackplateMaterial.prototype, "radiusBottomLeft", void 0);
361
- __decorate([
362
- serialize()
363
- ], MRDLBackplateMaterial.prototype, "radiusBottomRight", void 0);
364
- __decorate([
365
- serialize()
366
- ], MRDLBackplateMaterial.prototype, "highlightColor", void 0);
367
- __decorate([
368
- serialize()
369
- ], MRDLBackplateMaterial.prototype, "highlightWidth", void 0);
370
- __decorate([
371
- serialize()
372
- ], MRDLBackplateMaterial.prototype, "iridescenceIntensity", void 0);
373
- __decorate([
374
- serialize()
375
- ], MRDLBackplateMaterial.prototype, "iridescenceEdgeIntensity", void 0);
376
- __decorate([
377
- serialize()
378
- ], MRDLBackplateMaterial.prototype, "iridescenceTint", void 0);
379
- __decorate([
380
- serialize()
381
- ], MRDLBackplateMaterial.prototype, "fadeOut", void 0);
382
- __decorate([
383
- serialize()
384
- ], MRDLBackplateMaterial.prototype, "gradientColor", void 0);
385
- __decorate([
386
- serialize()
387
- ], MRDLBackplateMaterial.prototype, "topLeftGradientColor", void 0);
388
- __decorate([
389
- serialize()
390
- ], MRDLBackplateMaterial.prototype, "topRightGradientColor", void 0);
391
- __decorate([
392
- serialize()
393
- ], MRDLBackplateMaterial.prototype, "bottomLeftGradientColor", void 0);
394
- __decorate([
395
- serialize()
396
- ], MRDLBackplateMaterial.prototype, "bottomRightGradientColor", void 0);
397
- __decorate([
398
- serialize()
399
- ], MRDLBackplateMaterial.prototype, "edgeWidth", void 0);
400
- __decorate([
401
- serialize()
402
- ], MRDLBackplateMaterial.prototype, "edgePower", void 0);
403
- __decorate([
404
- serialize()
405
- ], MRDLBackplateMaterial.prototype, "edgeLineGradientBlend", void 0);
406
- return MRDLBackplateMaterial;
407
- }(PushMaterial));
408
- export { MRDLBackplateMaterial };
409
- RegisterClass("BABYLON.GUI.MRDLBackplateMaterial", MRDLBackplateMaterial);
1
+ import { __decorate, __extends } from "tslib";
2
+ import { SerializationHelper, serialize } from "@babylonjs/core/Misc/decorators.js";
3
+ import { Vector4 } from "@babylonjs/core/Maths/math.vector.js";
4
+ import { Texture } from "@babylonjs/core/Materials/Textures/texture.js";
5
+ import { MaterialDefines } from "@babylonjs/core/Materials/materialDefines.js";
6
+ import { MaterialHelper } from "@babylonjs/core/Materials/materialHelper.js";
7
+ import { PushMaterial } from "@babylonjs/core/Materials/pushMaterial.js";
8
+ import { VertexBuffer } from "@babylonjs/core/Buffers/buffer.js";
9
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
10
+ import { Color4 } from "@babylonjs/core/Maths/math.color.js";
11
+ import { EffectFallbacks } from "@babylonjs/core/Materials/effectFallbacks.js";
12
+ import { Constants } from "@babylonjs/core/Engines/constants.js";
13
+ import "./shaders/mrdlBackplate.fragment";
14
+ import "./shaders/mrdlBackplate.vertex";
15
+ /** @hidden */
16
+ var MRDLBackplateMaterialDefines = /** @class */ (function (_super) {
17
+ __extends(MRDLBackplateMaterialDefines, _super);
18
+ function MRDLBackplateMaterialDefines() {
19
+ var _this = _super.call(this) || this;
20
+ /*
21
+ "IRIDESCENCE_ENABLE", "SMOOTH_EDGES"
22
+ */
23
+ _this.IRIDESCENCE_ENABLED = true;
24
+ _this.SMOOTH_EDGES = true;
25
+ _this._needNormals = true;
26
+ _this.rebuild();
27
+ return _this;
28
+ }
29
+ return MRDLBackplateMaterialDefines;
30
+ }(MaterialDefines));
31
+ /**
32
+ * Class used to render backplate material with MRDL
33
+ */
34
+ var MRDLBackplateMaterial = /** @class */ (function (_super) {
35
+ __extends(MRDLBackplateMaterial, _super);
36
+ function MRDLBackplateMaterial(name, scene) {
37
+ var _this = _super.call(this, name, scene) || this;
38
+ /**
39
+ * Gets or sets the corner radius on the backplate. If this value is changed, update the lineWidth to match.
40
+ */
41
+ _this.radius = 0.3;
42
+ /**
43
+ * Gets or sets the line width of the backplate.
44
+ */
45
+ _this.lineWidth = 0.003;
46
+ /**
47
+ * Gets or sets whether to use absolute sizes when calculating effects on the backplate.
48
+ * Since desktop and VR/AR have different relative sizes, it's usually best to keep this false.
49
+ */
50
+ _this.absoluteSizes = false;
51
+ /** @hidden */
52
+ _this._filterWidth = 1;
53
+ /**
54
+ * Gets or sets the base color of the backplate.
55
+ */
56
+ _this.baseColor = new Color4(0, 0, 0, 1);
57
+ /**
58
+ * Gets or sets the line color of the backplate.
59
+ */
60
+ _this.lineColor = new Color4(0.2, 0.262745, 0.4, 1);
61
+ /**
62
+ * Gets or sets the top left Radii Multiplier.
63
+ */
64
+ _this.radiusTopLeft = 1.0;
65
+ /**
66
+ * Gets or sets the top left Radii Multiplier.
67
+ */
68
+ _this.radiusTopRight = 1.0;
69
+ /**
70
+ * Gets or sets the top left Radii Multiplier.
71
+ */
72
+ _this.radiusBottomLeft = 1.0;
73
+ /**
74
+ * Gets or sets the top left Radii Multiplier.
75
+ */
76
+ _this.radiusBottomRight = 1.0;
77
+ /** @hidden */
78
+ _this._rate = 0;
79
+ /**
80
+ * Gets or sets the color of the highlights on the backplate line.
81
+ */
82
+ _this.highlightColor = new Color4(0.239216, 0.435294, 0.827451, 1);
83
+ /**
84
+ * Gets or sets the width of the highlights on the backplate line.
85
+ */
86
+ _this.highlightWidth = 0;
87
+ /** @hidden */
88
+ _this._highlightTransform = new Vector4(1, 1, 0, 0);
89
+ /** @hidden */
90
+ _this._highlight = 1;
91
+ /**
92
+ * Gets or sets the intensity of the iridescence effect.
93
+ */
94
+ _this.iridescenceIntensity = 0.45;
95
+ /**
96
+ * Gets or sets the intensity of the iridescence effect on the backplate edges.
97
+ */
98
+ _this.iridescenceEdgeIntensity = 1;
99
+ /**
100
+ * Gets or sets the Tint of the iridescence effect on the backplate.
101
+ */
102
+ _this.iridescenceTint = new Color4(1, 1, 1, 1);
103
+ /** @hidden */
104
+ _this._angle = -45;
105
+ /**
106
+ * Gets or sets the opacity of the backplate (0.0 - 1.0).
107
+ */
108
+ _this.fadeOut = 1;
109
+ /** @hidden */
110
+ _this._reflected = true;
111
+ /** @hidden */
112
+ _this._frequency = 1;
113
+ /** @hidden */
114
+ _this._verticalOffset = 0;
115
+ /**
116
+ * Gets or sets the gradient color effect on the backplate.
117
+ */
118
+ _this.gradientColor = new Color4(0.74902, 0.74902, 0.74902, 1);
119
+ /**
120
+ * Gets or sets the top left gradient color effect on the backplate.
121
+ */
122
+ _this.topLeftGradientColor = new Color4(0.00784314, 0.294118, 0.580392, 1);
123
+ /**
124
+ * Gets or sets the top right gradient color effect on the backplate.
125
+ */
126
+ _this.topRightGradientColor = new Color4(0.305882, 0, 1, 1);
127
+ /**
128
+ * Gets or sets the bottom left gradient color effect on the backplate.
129
+ */
130
+ _this.bottomLeftGradientColor = new Color4(0.133333, 0.258824, 0.992157, 1);
131
+ /**
132
+ * Gets or sets the bottom right gradient color effect on the backplate.
133
+ */
134
+ _this.bottomRightGradientColor = new Color4(0.176471, 0.176471, 0.619608, 1);
135
+ /**
136
+ * Gets or sets the edge width of the backplate.
137
+ */
138
+ _this.edgeWidth = 0.5;
139
+ /**
140
+ * Gets or sets the edge width of the backplate.
141
+ */
142
+ _this.edgePower = 1;
143
+ /**
144
+ * Gets or sets the edge width of the backplate.
145
+ */
146
+ _this.edgeLineGradientBlend = 0.5;
147
+ _this.alphaMode = Constants.ALPHA_DISABLE;
148
+ _this.backFaceCulling = false;
149
+ _this._iridescentMapTexture = new Texture(MRDLBackplateMaterial.IRIDESCENT_MAP_TEXTURE_URL, _this.getScene(), true, false, Texture.NEAREST_SAMPLINGMODE);
150
+ return _this;
151
+ }
152
+ MRDLBackplateMaterial.prototype.needAlphaBlending = function () {
153
+ return false;
154
+ };
155
+ MRDLBackplateMaterial.prototype.needAlphaTesting = function () {
156
+ return false;
157
+ };
158
+ MRDLBackplateMaterial.prototype.getAlphaTestTexture = function () {
159
+ return null;
160
+ };
161
+ // Methods
162
+ MRDLBackplateMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh) {
163
+ if (this.isFrozen) {
164
+ if (subMesh.effect && subMesh.effect._wasPreviouslyReady) {
165
+ return true;
166
+ }
167
+ }
168
+ if (!subMesh.materialDefines) {
169
+ subMesh.materialDefines = new MRDLBackplateMaterialDefines();
170
+ }
171
+ var defines = subMesh.materialDefines;
172
+ var scene = this.getScene();
173
+ if (this._isReadyForSubMesh(subMesh)) {
174
+ return true;
175
+ }
176
+ var engine = scene.getEngine();
177
+ // Attribs
178
+ MaterialHelper.PrepareDefinesForAttributes(mesh, defines, false, false);
179
+ // Get correct effect
180
+ if (defines.isDirty) {
181
+ defines.markAsProcessed();
182
+ scene.resetCachedMaterial();
183
+ // Fallbacks
184
+ var fallbacks = new EffectFallbacks();
185
+ if (defines.FOG) {
186
+ fallbacks.addFallback(1, "FOG");
187
+ }
188
+ MaterialHelper.HandleFallbacksForShadows(defines, fallbacks);
189
+ defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;
190
+ //Attributes
191
+ var attribs = [VertexBuffer.PositionKind];
192
+ if (defines.NORMAL) {
193
+ attribs.push(VertexBuffer.NormalKind);
194
+ }
195
+ if (defines.UV1) {
196
+ attribs.push(VertexBuffer.UVKind);
197
+ }
198
+ if (defines.UV2) {
199
+ attribs.push(VertexBuffer.UV2Kind);
200
+ }
201
+ if (defines.VERTEXCOLOR) {
202
+ attribs.push(VertexBuffer.ColorKind);
203
+ }
204
+ if (defines.TANGENT) {
205
+ attribs.push(VertexBuffer.TangentKind);
206
+ }
207
+ MaterialHelper.PrepareAttributesForInstances(attribs, defines);
208
+ // Legacy browser patch
209
+ var shaderName = "mrdlBackplate";
210
+ var join = defines.toString();
211
+ var uniforms = [
212
+ "world",
213
+ "viewProjection",
214
+ "cameraPosition",
215
+ "_Radius_",
216
+ "_Line_Width_",
217
+ "_Absolute_Sizes_",
218
+ "_Filter_Width_",
219
+ "_Base_Color_",
220
+ "_Line_Color_",
221
+ "_Radius_Top_Left_",
222
+ "_Radius_Top_Right_",
223
+ "_Radius_Bottom_Left_",
224
+ "_Radius_Bottom_Right_",
225
+ "_Rate_",
226
+ "_Highlight_Color_",
227
+ "_Highlight_Width_",
228
+ "_Highlight_Transform_",
229
+ "_Highlight_",
230
+ "_Iridescence_Intensity_",
231
+ "_Iridescence_Edge_Intensity_",
232
+ "_Iridescence_Tint_",
233
+ "_Iridescent_Map_",
234
+ "_Angle_",
235
+ "_Reflected_",
236
+ "_Frequency_",
237
+ "_Vertical_Offset_",
238
+ "_Gradient_Color_",
239
+ "_Top_Left_",
240
+ "_Top_Right_",
241
+ "_Bottom_Left_",
242
+ "_Bottom_Right_",
243
+ "_Edge_Width_",
244
+ "_Edge_Power_",
245
+ "_Line_Gradient_Blend_",
246
+ "_Fade_Out_",
247
+ ];
248
+ var samplers = [];
249
+ var uniformBuffers = new Array();
250
+ MaterialHelper.PrepareUniformsAndSamplersList({
251
+ uniformsNames: uniforms,
252
+ uniformBuffersNames: uniformBuffers,
253
+ samplers: samplers,
254
+ defines: defines,
255
+ maxSimultaneousLights: 4,
256
+ });
257
+ subMesh.setEffect(scene.getEngine().createEffect(shaderName, {
258
+ attributes: attribs,
259
+ uniformsNames: uniforms,
260
+ uniformBuffersNames: uniformBuffers,
261
+ samplers: samplers,
262
+ defines: join,
263
+ fallbacks: fallbacks,
264
+ onCompiled: this.onCompiled,
265
+ onError: this.onError,
266
+ indexParameters: { maxSimultaneousLights: 4 },
267
+ }, engine), defines);
268
+ }
269
+ if (!subMesh.effect || !subMesh.effect.isReady()) {
270
+ return false;
271
+ }
272
+ defines._renderId = scene.getRenderId();
273
+ subMesh.effect._wasPreviouslyReady = true;
274
+ return true;
275
+ };
276
+ MRDLBackplateMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) {
277
+ var defines = subMesh.materialDefines;
278
+ if (!defines) {
279
+ return;
280
+ }
281
+ var effect = subMesh.effect;
282
+ if (!effect) {
283
+ return;
284
+ }
285
+ this._activeEffect = effect;
286
+ // Matrices
287
+ this.bindOnlyWorldMatrix(world);
288
+ this._activeEffect.setMatrix("viewProjection", this.getScene().getTransformMatrix());
289
+ this._activeEffect.setVector3("cameraPosition", this.getScene().activeCamera.position);
290
+ // "Round Rect"
291
+ this._activeEffect.setFloat("_Radius_", this.radius);
292
+ this._activeEffect.setFloat("_Line_Width_", this.lineWidth);
293
+ this._activeEffect.setFloat("_Absolute_Sizes_", this.absoluteSizes ? 1.0 : 0.0);
294
+ this._activeEffect.setFloat("_Filter_Width_", this._filterWidth);
295
+ this._activeEffect.setDirectColor4("_Base_Color_", this.baseColor);
296
+ this._activeEffect.setDirectColor4("_Line_Color_", this.lineColor);
297
+ // "Radii Multipliers"
298
+ this._activeEffect.setFloat("_Radius_Top_Left_", this.radiusTopLeft);
299
+ this._activeEffect.setFloat("_Radius_Top_Right_", this.radiusTopRight);
300
+ this._activeEffect.setFloat("_Radius_Bottom_Left_", this.radiusBottomLeft);
301
+ this._activeEffect.setFloat("_Radius_Bottom_Right_", this.radiusBottomRight);
302
+ // "Line Highlight"
303
+ this._activeEffect.setFloat("_Rate_", this._rate);
304
+ this._activeEffect.setDirectColor4("_Highlight_Color_", this.highlightColor);
305
+ this._activeEffect.setFloat("_Highlight_Width_", this.highlightWidth);
306
+ this._activeEffect.setVector4("_Highlight_Transform_", this._highlightTransform);
307
+ this._activeEffect.setFloat("_Highlight_", this._highlight);
308
+ // "Iridescence"
309
+ //define IRIDESCENCE_ENABLE true;
310
+ this._activeEffect.setFloat("_Iridescence_Intensity_", this.iridescenceIntensity);
311
+ this._activeEffect.setFloat("_Iridescence_Edge_Intensity_", this.iridescenceEdgeIntensity);
312
+ this._activeEffect.setDirectColor4("_Iridescence_Tint_", this.iridescenceTint);
313
+ this._activeEffect.setTexture("_Iridescent_Map_", this._iridescentMapTexture);
314
+ this._activeEffect.setFloat("_Angle_", this._angle);
315
+ this._activeEffect.setFloat("_Reflected_", this._reflected ? 1.0 : 0.0);
316
+ this._activeEffect.setFloat("_Frequency_", this._frequency);
317
+ this._activeEffect.setFloat("_Vertical_Offset_", this._verticalOffset);
318
+ // "Gradient"
319
+ this._activeEffect.setDirectColor4("_Gradient_Color_", this.gradientColor);
320
+ this._activeEffect.setDirectColor4("_Top_Left_", this.topLeftGradientColor);
321
+ this._activeEffect.setDirectColor4("_Top_Right_", this.topRightGradientColor);
322
+ this._activeEffect.setDirectColor4("_Bottom_Left_", this.bottomLeftGradientColor);
323
+ this._activeEffect.setDirectColor4("_Bottom_Right_", this.bottomRightGradientColor);
324
+ //define EDGE_ONLY false;
325
+ this._activeEffect.setFloat("_Edge_Width_", this.edgeWidth);
326
+ this._activeEffect.setFloat("_Edge_Power_", this.edgePower);
327
+ this._activeEffect.setFloat("_Line_Gradient_Blend_", this.edgeLineGradientBlend);
328
+ // "Fade"
329
+ this._activeEffect.setFloat("_Fade_Out_", this.fadeOut);
330
+ // "Antialiasing"
331
+ //define SMOOTH_EDGES true;
332
+ this._afterBind(mesh, this._activeEffect);
333
+ };
334
+ /**
335
+ * Get the list of animatables in the material.
336
+ * @returns the list of animatables object used in the material
337
+ */
338
+ MRDLBackplateMaterial.prototype.getAnimatables = function () {
339
+ return [];
340
+ };
341
+ MRDLBackplateMaterial.prototype.dispose = function (forceDisposeEffect) {
342
+ _super.prototype.dispose.call(this, forceDisposeEffect);
343
+ };
344
+ MRDLBackplateMaterial.prototype.clone = function (name) {
345
+ var _this = this;
346
+ return SerializationHelper.Clone(function () { return new MRDLBackplateMaterial(name, _this.getScene()); }, this);
347
+ };
348
+ MRDLBackplateMaterial.prototype.serialize = function () {
349
+ var serializationObject = _super.prototype.serialize.call(this);
350
+ serializationObject.customType = "BABYLON.MRDLBackplateMaterial";
351
+ return serializationObject;
352
+ };
353
+ MRDLBackplateMaterial.prototype.getClassName = function () {
354
+ return "MRDLBackplateMaterial";
355
+ };
356
+ // Statics
357
+ MRDLBackplateMaterial.Parse = function (source, scene, rootUrl) {
358
+ return SerializationHelper.Parse(function () { return new MRDLBackplateMaterial(source.name, scene); }, source, scene, rootUrl);
359
+ };
360
+ /**
361
+ * URL pointing to the texture used to define the coloring for the Iridescent Map effect.
362
+ */
363
+ MRDLBackplateMaterial.IRIDESCENT_MAP_TEXTURE_URL = "https://assets.babylonjs.com/meshes/MRTK/MRDL/mrtk-mrdl-backplate-iridescence.png";
364
+ __decorate([
365
+ serialize()
366
+ ], MRDLBackplateMaterial.prototype, "radius", void 0);
367
+ __decorate([
368
+ serialize()
369
+ ], MRDLBackplateMaterial.prototype, "lineWidth", void 0);
370
+ __decorate([
371
+ serialize()
372
+ ], MRDLBackplateMaterial.prototype, "absoluteSizes", void 0);
373
+ __decorate([
374
+ serialize()
375
+ ], MRDLBackplateMaterial.prototype, "baseColor", void 0);
376
+ __decorate([
377
+ serialize()
378
+ ], MRDLBackplateMaterial.prototype, "lineColor", void 0);
379
+ __decorate([
380
+ serialize()
381
+ ], MRDLBackplateMaterial.prototype, "radiusTopLeft", void 0);
382
+ __decorate([
383
+ serialize()
384
+ ], MRDLBackplateMaterial.prototype, "radiusTopRight", void 0);
385
+ __decorate([
386
+ serialize()
387
+ ], MRDLBackplateMaterial.prototype, "radiusBottomLeft", void 0);
388
+ __decorate([
389
+ serialize()
390
+ ], MRDLBackplateMaterial.prototype, "radiusBottomRight", void 0);
391
+ __decorate([
392
+ serialize()
393
+ ], MRDLBackplateMaterial.prototype, "highlightColor", void 0);
394
+ __decorate([
395
+ serialize()
396
+ ], MRDLBackplateMaterial.prototype, "highlightWidth", void 0);
397
+ __decorate([
398
+ serialize()
399
+ ], MRDLBackplateMaterial.prototype, "iridescenceIntensity", void 0);
400
+ __decorate([
401
+ serialize()
402
+ ], MRDLBackplateMaterial.prototype, "iridescenceEdgeIntensity", void 0);
403
+ __decorate([
404
+ serialize()
405
+ ], MRDLBackplateMaterial.prototype, "iridescenceTint", void 0);
406
+ __decorate([
407
+ serialize()
408
+ ], MRDLBackplateMaterial.prototype, "fadeOut", void 0);
409
+ __decorate([
410
+ serialize()
411
+ ], MRDLBackplateMaterial.prototype, "gradientColor", void 0);
412
+ __decorate([
413
+ serialize()
414
+ ], MRDLBackplateMaterial.prototype, "topLeftGradientColor", void 0);
415
+ __decorate([
416
+ serialize()
417
+ ], MRDLBackplateMaterial.prototype, "topRightGradientColor", void 0);
418
+ __decorate([
419
+ serialize()
420
+ ], MRDLBackplateMaterial.prototype, "bottomLeftGradientColor", void 0);
421
+ __decorate([
422
+ serialize()
423
+ ], MRDLBackplateMaterial.prototype, "bottomRightGradientColor", void 0);
424
+ __decorate([
425
+ serialize()
426
+ ], MRDLBackplateMaterial.prototype, "edgeWidth", void 0);
427
+ __decorate([
428
+ serialize()
429
+ ], MRDLBackplateMaterial.prototype, "edgePower", void 0);
430
+ __decorate([
431
+ serialize()
432
+ ], MRDLBackplateMaterial.prototype, "edgeLineGradientBlend", void 0);
433
+ return MRDLBackplateMaterial;
434
+ }(PushMaterial));
435
+ export { MRDLBackplateMaterial };
436
+ RegisterClass("BABYLON.GUI.MRDLBackplateMaterial", MRDLBackplateMaterial);
410
437
  //# sourceMappingURL=mrdlBackplateMaterial.js.map