@babylonjs/gui 5.24.0 → 5.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/2D/advancedDynamicTexture.d.ts +19 -28
  2. package/2D/advancedDynamicTexture.js +16 -25
  3. package/2D/advancedDynamicTexture.js.map +1 -1
  4. package/2D/controls/button.d.ts +6 -32
  5. package/2D/controls/button.js +6 -32
  6. package/2D/controls/button.js.map +1 -1
  7. package/2D/controls/checkbox.d.ts +2 -8
  8. package/2D/controls/checkbox.js +2 -8
  9. package/2D/controls/checkbox.js.map +1 -1
  10. package/2D/controls/colorpicker.d.ts +2 -4
  11. package/2D/controls/colorpicker.js +2 -4
  12. package/2D/controls/colorpicker.js.map +1 -1
  13. package/2D/controls/container.d.ts +20 -43
  14. package/2D/controls/container.js +20 -43
  15. package/2D/controls/container.js.map +1 -1
  16. package/2D/controls/control.d.ts +71 -144
  17. package/2D/controls/control.js +67 -140
  18. package/2D/controls/control.js.map +1 -1
  19. package/2D/controls/focusableButton.d.ts +4 -9
  20. package/2D/controls/focusableButton.js +4 -9
  21. package/2D/controls/focusableButton.js.map +1 -1
  22. package/2D/controls/grid.d.ts +1 -3
  23. package/2D/controls/grid.js +1 -3
  24. package/2D/controls/grid.js.map +1 -1
  25. package/2D/controls/image.d.ts +1 -3
  26. package/2D/controls/image.js +1 -3
  27. package/2D/controls/image.js.map +1 -1
  28. package/2D/controls/inputText.d.ts +10 -18
  29. package/2D/controls/inputText.js +9 -17
  30. package/2D/controls/inputText.js.map +1 -1
  31. package/2D/controls/inputTextArea.d.ts +10 -10
  32. package/2D/controls/inputTextArea.js +9 -9
  33. package/2D/controls/inputTextArea.js.map +1 -1
  34. package/2D/controls/rectangle.d.ts +2 -2
  35. package/2D/controls/rectangle.js +2 -2
  36. package/2D/controls/rectangle.js.map +1 -1
  37. package/2D/controls/scrollViewers/scrollViewer.d.ts +3 -7
  38. package/2D/controls/scrollViewers/scrollViewer.js +3 -7
  39. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  40. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +4 -10
  41. package/2D/controls/scrollViewers/scrollViewerWindow.js +4 -10
  42. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  43. package/2D/controls/selector.d.ts +14 -40
  44. package/2D/controls/selector.js +14 -40
  45. package/2D/controls/selector.js.map +1 -1
  46. package/2D/controls/sliders/baseSlider.d.ts +1 -3
  47. package/2D/controls/sliders/baseSlider.js +1 -3
  48. package/2D/controls/sliders/baseSlider.js.map +1 -1
  49. package/2D/controls/sliders/imageBasedSlider.d.ts +1 -3
  50. package/2D/controls/sliders/imageBasedSlider.js +1 -3
  51. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  52. package/2D/controls/sliders/imageScrollBar.d.ts +1 -3
  53. package/2D/controls/sliders/imageScrollBar.js +1 -3
  54. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  55. package/2D/controls/sliders/scrollBar.d.ts +1 -3
  56. package/2D/controls/sliders/scrollBar.js +1 -3
  57. package/2D/controls/sliders/scrollBar.js.map +1 -1
  58. package/2D/controls/stackPanel.d.ts +2 -6
  59. package/2D/controls/stackPanel.js +2 -6
  60. package/2D/controls/stackPanel.js.map +1 -1
  61. package/2D/controls/statics.d.ts +1 -1
  62. package/2D/controls/statics.js +1 -1
  63. package/2D/controls/statics.js.map +1 -1
  64. package/2D/controls/textBlock.d.ts +1 -2
  65. package/2D/controls/textBlock.js +1 -2
  66. package/2D/controls/textBlock.js.map +1 -1
  67. package/2D/controls/textWrapper.d.ts +1 -1
  68. package/2D/controls/textWrapper.js +1 -1
  69. package/2D/controls/textWrapper.js.map +1 -1
  70. package/2D/controls/toggleButton.d.ts +5 -29
  71. package/2D/controls/toggleButton.js +5 -29
  72. package/2D/controls/toggleButton.js.map +1 -1
  73. package/2D/controls/virtualKeyboard.d.ts +1 -3
  74. package/2D/controls/virtualKeyboard.js +1 -3
  75. package/2D/controls/virtualKeyboard.js.map +1 -1
  76. package/2D/multiLinePoint.d.ts +1 -1
  77. package/2D/multiLinePoint.js.map +1 -1
  78. package/2D/style.d.ts +2 -2
  79. package/2D/style.js +1 -1
  80. package/2D/style.js.map +1 -1
  81. package/3D/controls/button3D.d.ts +1 -1
  82. package/3D/controls/button3D.js.map +1 -1
  83. package/3D/controls/control3D.d.ts +11 -31
  84. package/3D/controls/control3D.js +10 -30
  85. package/3D/controls/control3D.js.map +1 -1
  86. package/3D/controls/holographicSlate.d.ts +5 -6
  87. package/3D/controls/holographicSlate.js +3 -4
  88. package/3D/controls/holographicSlate.js.map +1 -1
  89. package/3D/controls/meshButton3D.d.ts +1 -1
  90. package/3D/controls/meshButton3D.js.map +1 -1
  91. package/3D/controls/touchButton3D.d.ts +1 -4
  92. package/3D/controls/touchButton3D.js +1 -4
  93. package/3D/controls/touchButton3D.js.map +1 -1
  94. package/3D/controls/touchMeshButton3D.d.ts +1 -1
  95. package/3D/controls/touchMeshButton3D.js.map +1 -1
  96. package/3D/gizmos/gizmoHandle.d.ts +1 -1
  97. package/3D/gizmos/gizmoHandle.js.map +1 -1
  98. package/3D/gui3DManager.d.ts +5 -5
  99. package/3D/gui3DManager.js +4 -4
  100. package/3D/gui3DManager.js.map +1 -1
  101. package/3D/materials/fluent/fluentMaterial.d.ts +1 -1
  102. package/3D/materials/fluent/fluentMaterial.js +1 -1
  103. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  104. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +1 -1
  105. package/3D/materials/fluent/shaders/fluent.fragment.js +1 -1
  106. package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -1
  107. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +1 -1
  108. package/3D/materials/fluent/shaders/fluent.vertex.js +1 -1
  109. package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -1
  110. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +8 -8
  111. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +9 -9
  112. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  113. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +1 -1
  114. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +1 -1
  115. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -1
  116. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +1 -1
  117. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +1 -1
  118. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -1
  119. package/3D/materials/fluentButton/fluentButtonMaterial.js +1 -1
  120. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  121. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +1 -1
  122. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +1 -1
  123. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -1
  124. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +1 -1
  125. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +1 -1
  126. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -1
  127. package/3D/materials/handle/handleMaterial.d.ts +1 -1
  128. package/3D/materials/handle/handleMaterial.js +1 -1
  129. package/3D/materials/handle/handleMaterial.js.map +1 -1
  130. package/3D/materials/handle/shaders/handle.fragment.d.ts +1 -1
  131. package/3D/materials/handle/shaders/handle.fragment.js +1 -1
  132. package/3D/materials/handle/shaders/handle.fragment.js.map +1 -1
  133. package/3D/materials/handle/shaders/handle.vertex.d.ts +1 -1
  134. package/3D/materials/handle/shaders/handle.vertex.js +1 -1
  135. package/3D/materials/handle/shaders/handle.vertex.js.map +1 -1
  136. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +8 -8
  137. package/3D/materials/mrdl/mrdlBackplateMaterial.js +9 -9
  138. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  139. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +10 -10
  140. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +11 -11
  141. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  142. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +10 -10
  143. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +11 -11
  144. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  145. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +1 -1
  146. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +1 -1
  147. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -1
  148. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +1 -1
  149. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +1 -1
  150. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -1
  151. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +1 -1
  152. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +1 -1
  153. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -1
  154. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +1 -1
  155. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +1 -1
  156. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -1
  157. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +1 -1
  158. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +1 -1
  159. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -1
  160. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +1 -1
  161. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +1 -1
  162. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -1
  163. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"mrdlSliderBarMaterial.js","sourceRoot":"","sources":["../../../../../../../lts/gui/generated/3D/materials/mrdl/mrdlSliderBarMaterial.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport type { Nullable } from \"core/types\";\r\nimport { SerializationHelper, serialize } from \"core/Misc/decorators\";\r\nimport type { Matrix } from \"core/Maths/math.vector\";\r\nimport { Vector2, Vector3, Vector4 } from \"core/Maths/math.vector\";\r\nimport type { IAnimatable } from \"core/Animations/animatable.interface\";\r\nimport type { BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport { Texture } from \"core/Materials/Textures/texture\";\r\nimport { MaterialDefines } from \"core/Materials/materialDefines\";\r\nimport { MaterialHelper } from \"core/Materials/materialHelper\";\r\nimport type { IEffectCreationOptions } from \"core/Materials/effect\";\r\nimport { PushMaterial } from \"core/Materials/pushMaterial\";\r\nimport { VertexBuffer } from \"core/Buffers/buffer\";\r\nimport type { AbstractMesh } from \"core/Meshes/abstractMesh\";\r\nimport type { SubMesh } from \"core/Meshes/subMesh\";\r\nimport type { Mesh } from \"core/Meshes/mesh\";\r\nimport type { Scene } from \"core/scene\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { Color4 } from \"core/Maths/math.color\";\r\nimport { EffectFallbacks } from \"core/Materials/effectFallbacks\";\r\nimport { Constants } from \"core/Engines/constants\";\r\n\r\nimport \"./shaders/mrdlSliderBar.fragment\";\r\nimport \"./shaders/mrdlSliderBar.vertex\";\r\n\r\n/** @hidden */\r\nclass MRDLSliderBarMaterialDefines extends MaterialDefines {\r\n /*\r\n \"SKY_ENABLED\", \"BLOB_ENABLE_2\", \"IRIDESCENCE_ENABLED\"\r\n */\r\n public SKY_ENABLED = true;\r\n public BLOB_ENABLE_2 = true;\r\n public IRIDESCENCE_ENABLED = true;\r\n\r\n constructor() {\r\n super();\r\n this._needNormals = true;\r\n this._needUVs = true;\r\n this.rebuild();\r\n }\r\n}\r\n\r\n/**\r\n * Class used to render Slider Bar material with MRDL\r\n */\r\nexport class MRDLSliderBarMaterial extends PushMaterial {\r\n /**\r\n * URL pointing to the texture used to define the coloring for the Iridescent Map effect.\r\n */\r\n public static BLUE_GRADIENT_TEXTURE_URL = \"https://assets.babylonjs.com/meshes/MRTK/MRDL/mrtk-mrdl-blue-gradient.png\";\r\n private _blueGradientTexture: Texture;\r\n\r\n /**\r\n * Gets or sets the corner Radius on the slider bar.\r\n */\r\n @serialize()\r\n public radius = 0.6;\r\n\r\n /**\r\n * Gets or sets the Bevel Front on the slider bar.\r\n */\r\n @serialize()\r\n public bevelFront = 0.6;\r\n\r\n /**\r\n * Gets or sets the Bevel Front Stretch on the slider bar.\r\n */\r\n @serialize()\r\n public bevelFrontStretch = 0.077;\r\n\r\n /**\r\n * Gets or sets the Bevel Back on the slider bar.\r\n */\r\n @serialize()\r\n public bevelBack = 0;\r\n\r\n /**\r\n * Gets or sets the Bevel Back Stretch on the slider bar.\r\n */\r\n @serialize()\r\n public bevelBackStretch = 0;\r\n\r\n /**\r\n * Gets or sets the top left Radii Multiplier.\r\n */\r\n @serialize()\r\n public radiusTopLeft = 1.0;\r\n\r\n /**\r\n * Gets or sets the top left Radii Multiplier.\r\n */\r\n @serialize()\r\n public radiusTopRight = 1.0;\r\n\r\n /**\r\n * Gets or sets the top left Radii Multiplier.\r\n */\r\n @serialize()\r\n public radiusBottomLeft = 1.0;\r\n\r\n /**\r\n * Gets or sets the top left Radii Multiplier.\r\n */\r\n @serialize()\r\n public radiusBottomRight = 1.0;\r\n\r\n /**\r\n * Gets or sets whether Bulge is enabled.\r\n * Default is false.\r\n */\r\n @serialize()\r\n public bulgeEnabled = false;\r\n\r\n /**\r\n * Gets or sets the Bulge Height.\r\n */\r\n @serialize()\r\n public bulgeHeight = -0.323;\r\n\r\n /**\r\n * Gets or sets the Bulge Radius.\r\n */\r\n @serialize()\r\n public bulgeRadius = 0.73;\r\n\r\n /**\r\n * Gets or sets the Sun Intensity.\r\n */\r\n @serialize()\r\n public sunIntensity = 1.102;\r\n\r\n /**\r\n * Gets or sets the Sun Theta.\r\n */\r\n @serialize()\r\n public sunTheta = 0.76;\r\n\r\n /**\r\n * Gets or sets the Sun Phi.\r\n */\r\n @serialize()\r\n public sunPhi = 0.526;\r\n\r\n /**\r\n * Gets or sets the Indirect Diffuse.\r\n */\r\n @serialize()\r\n public indirectDiffuse = 0.658;\r\n\r\n /**\r\n * Gets or sets the base albedo.\r\n */\r\n @serialize()\r\n public albedo = new Color4(0.0117647, 0.505882, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the Specular value.\r\n */\r\n @serialize()\r\n public specular = 0;\r\n\r\n /**\r\n * Gets or sets the Shininess value.\r\n */\r\n @serialize()\r\n public shininess = 10;\r\n\r\n /**\r\n * Gets or sets the Sharpness value.\r\n */\r\n @serialize()\r\n public sharpness = 0;\r\n\r\n /**\r\n * Gets or sets the Subsurface value.\r\n */\r\n @serialize()\r\n public subsurface = 0;\r\n\r\n /**\r\n * Gets or sets the left gradient color.\r\n */\r\n @serialize()\r\n public leftGradientColor = new Color4(0.0117647, 0.505882, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the right gradient color.\r\n */\r\n @serialize()\r\n public rightGradientColor = new Color4(0.0117647, 0.505882, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the reflection value.\r\n */\r\n @serialize()\r\n public reflection = 0.749;\r\n\r\n /**\r\n * Gets or sets the front reflect value.\r\n */\r\n @serialize()\r\n public frontReflect = 0;\r\n\r\n /**\r\n * Gets or sets the edge reflect value.\r\n */\r\n @serialize()\r\n public edgeReflect = 0.09;\r\n\r\n /**\r\n * Gets or sets the power value.\r\n */\r\n @serialize()\r\n public power = 8.13;\r\n\r\n /**\r\n * Gets or sets the sky color.\r\n */\r\n @serialize()\r\n public skyColor = new Color4(0.0117647, 0.964706, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the horizon color.\r\n */\r\n @serialize()\r\n public horizonColor = new Color4(0.0117647, 0.333333, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the ground color.\r\n */\r\n @serialize()\r\n public groundColor = new Color4(0, 0.254902, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the horizon power value.\r\n */\r\n @serialize()\r\n public horizonPower = 1;\r\n\r\n /**\r\n * Gets or sets the finger occlusion width value.\r\n */\r\n @serialize()\r\n public width = 0.02;\r\n\r\n /**\r\n * Gets or sets the finger occlusion fuzz value.\r\n */\r\n @serialize()\r\n public fuzz = 0.5;\r\n\r\n /**\r\n * Gets or sets the minimum finger occlusion fuzz value.\r\n */\r\n @serialize()\r\n public minFuzz = 0.001;\r\n\r\n /**\r\n * Gets or sets the finger occlusion clip fade value.\r\n */\r\n @serialize()\r\n public clipFade = 0.01;\r\n\r\n /**\r\n * Gets or sets the hue shift value.\r\n */\r\n @serialize()\r\n public hueShift = 0;\r\n\r\n /**\r\n * Gets or sets the saturation shift value.\r\n */\r\n @serialize()\r\n public saturationShift = 0;\r\n\r\n /**\r\n * Gets or sets the value shift.\r\n */\r\n @serialize()\r\n public valueShift = 0;\r\n\r\n /**\r\n * Gets or sets the position of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobPosition = new Vector3(0, 0, 0.1);\r\n\r\n /**\r\n * Gets or sets the intensity of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobIntensity = 0.5;\r\n\r\n /**\r\n * Gets or sets the near size of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobNearSize = 0.01;\r\n /**\r\n * Gets or sets the far size of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobFarSize = 0.03;\r\n\r\n /**\r\n * Gets or sets the distance considered \"near\" to the mesh, which controls the size of the hover glow effect (see blobNearSize).\r\n */\r\n @serialize()\r\n public blobNearDistance = 0;\r\n\r\n /**\r\n * Gets or sets the distance considered \"far\" from the mesh, which controls the size of the hover glow effect (see blobFarSize).\r\n */\r\n @serialize()\r\n public blobFarDistance = 0.08;\r\n\r\n /**\r\n * Gets or sets the length of the hover glow effect fade.\r\n */\r\n @serialize()\r\n public blobFadeLength = 0.576;\r\n\r\n /**\r\n * Gets or sets the progress of the hover glow effect selection animation corresponding to the left pointer (0.0 - 1.0).\r\n */\r\n @serialize()\r\n public blobPulse = 0;\r\n\r\n /**\r\n * Gets or sets the opacity of the hover glow effect corresponding to the left pointer (0.0 - 1.0). Default is 0.\r\n */\r\n @serialize()\r\n public blobFade = 1;\r\n\r\n /**\r\n * Gets or sets the position of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobPosition2 = new Vector3(0.2, 0, 0.1);\r\n\r\n /**\r\n * Gets or sets the size of the hover glow effect when the right pointer is considered \"near\" to the mesh (see blobNearDistance).\r\n */\r\n @serialize()\r\n public blobNearSize2 = 0.01;\r\n\r\n /**\r\n * Gets or sets the progress of the hover glow effect selection animation corresponding to the right pointer (0.0 - 1.0).\r\n */\r\n @serialize()\r\n public blobPulse2 = 0;\r\n\r\n /**\r\n * Gets or sets the opacity of the hover glow effect corresponding to the right pointer (0.0 - 1.0). Default is 1.\r\n */\r\n @serialize()\r\n public blobFade2 = 1;\r\n\r\n /**\r\n * Gets or sets the texture of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobTexture = new Texture(\"\", this.getScene());\r\n\r\n /**\r\n * Gets or sets the finger position for left index.\r\n */\r\n @serialize()\r\n public leftIndexPosition = new Vector3(0, 0, 1);\r\n\r\n /**\r\n * Gets or sets the finger position for right index.\r\n */\r\n @serialize()\r\n public rightIndexPosition = new Vector3(-1, -1, -1);\r\n\r\n /**\r\n * Gets or sets the finger position for left index middle position.\r\n */\r\n @serialize()\r\n public leftIndexMiddlePosition = new Vector3(0, 0, 0);\r\n\r\n /**\r\n * Gets or sets the finger position for right index middle position.\r\n */\r\n @serialize()\r\n public rightIndexMiddlePosition = new Vector3(0, 0, 0);\r\n\r\n /**\r\n * Gets or sets the Decal Scle for XY.\r\n */\r\n @serialize()\r\n public decalScaleXY = new Vector2(1.5, 1.5);\r\n\r\n /**\r\n * Gets or sets decalFrontOnly\r\n * Default is true\r\n */\r\n @serialize()\r\n public decalFrontOnly = true;\r\n\r\n /**\r\n * Gets or sets the Rim Light intensity.\r\n */\r\n @serialize()\r\n public rimIntensity = 0.287;\r\n\r\n /**\r\n * Gets or sets the Rim Light hue shift value.\r\n */\r\n @serialize()\r\n public rimHueShift = 0;\r\n\r\n /**\r\n * Gets or sets the Rim Light saturation shift value.\r\n */\r\n @serialize()\r\n public rimSaturationShift = 0;\r\n\r\n /**\r\n * Gets or sets the Rim Light value shift.\r\n */\r\n @serialize()\r\n public rimValueShift = -1;\r\n\r\n /**\r\n * Gets or sets the intensity of the iridescence effect.\r\n */\r\n @serialize()\r\n public iridescenceIntensity = 0;\r\n\r\n /**\r\n * @hidden\r\n */\r\n public useGlobalLeftIndex = 1.0;\r\n\r\n /**\r\n * @hidden\r\n */\r\n public useGlobalRightIndex = 1.0;\r\n\r\n /**\r\n * @hidden\r\n */\r\n public globalLeftIndexTipProximity = 0.0;\r\n\r\n /**\r\n * @hidden\r\n */\r\n public globalRightIndexTipProximity = 0.0;\r\n\r\n /**\r\n * @hidden\r\n */\r\n public globalLeftIndexTipPosition = new Vector4(0.5, 0.0, -0.55, 1.0);\r\n\r\n /**\r\n * @hidden\r\n */\r\n public globaRightIndexTipPosition = new Vector4(0.0, 0.0, 0.0, 1.0);\r\n\r\n /**\r\n * @hidden\r\n */\r\n public globalLeftThumbTipPosition = new Vector4(0.5, 0.0, -0.55, 1.0);\r\n\r\n /**\r\n * @hidden\r\n */\r\n public globalRightThumbTipPosition = new Vector4(0.0, 0.0, 0.0, 1.0);\r\n\r\n /**\r\n * @hidden\r\n */\r\n public globalLeftIndexMiddlePosition = new Vector4(0.5, 0.0, -0.55, 1.0);\r\n\r\n /**\r\n * @hidden\r\n */\r\n public globalRightIndexMiddlePosition = new Vector4(0.0, 0.0, 0.0, 1.0);\r\n\r\n constructor(name: string, scene?: Scene) {\r\n super(name, scene);\r\n this.alphaMode = Constants.ALPHA_DISABLE;\r\n this.backFaceCulling = false;\r\n this._blueGradientTexture = new Texture(MRDLSliderBarMaterial.BLUE_GRADIENT_TEXTURE_URL, this.getScene(), true, false, Texture.NEAREST_SAMPLINGMODE);\r\n }\r\n\r\n public needAlphaBlending(): boolean {\r\n return false;\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): 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 MRDLSliderBarMaterialDefines();\r\n }\r\n\r\n const defines = <MRDLSliderBarMaterialDefines>subMesh.materialDefines;\r\n const scene = this.getScene();\r\n\r\n if (this._isReadyForSubMesh(subMesh)) {\r\n return true;\r\n }\r\n\r\n const engine = scene.getEngine();\r\n\r\n // Attribs\r\n MaterialHelper.PrepareDefinesForAttributes(mesh, defines, false, false);\r\n\r\n // Get correct effect\r\n if (defines.isDirty) {\r\n defines.markAsProcessed();\r\n\r\n scene.resetCachedMaterial();\r\n\r\n // Fallbacks\r\n const fallbacks = new EffectFallbacks();\r\n if (defines.FOG) {\r\n fallbacks.addFallback(1, \"FOG\");\r\n }\r\n\r\n MaterialHelper.HandleFallbacksForShadows(defines, fallbacks);\r\n\r\n defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;\r\n\r\n //Attributes\r\n const 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 if (defines.TANGENT) {\r\n attribs.push(VertexBuffer.TangentKind);\r\n }\r\n\r\n MaterialHelper.PrepareAttributesForInstances(attribs, defines);\r\n\r\n // Legacy browser patch\r\n const shaderName = \"mrdlSliderBar\";\r\n const join = defines.toString();\r\n\r\n const uniforms = [\r\n \"world\",\r\n \"viewProjection\",\r\n \"cameraPosition\",\r\n \"_Radius_\",\r\n \"_Bevel_Front_\",\r\n \"_Bevel_Front_Stretch_\",\r\n \"_Bevel_Back_\",\r\n \"_Bevel_Back_Stretch_\",\r\n \"_Radius_Top_Left_\",\r\n \"_Radius_Top_Right_\",\r\n \"_Radius_Bottom_Left_\",\r\n \"_Radius_Bottom_Right_\",\r\n \"_Bulge_Enabled_\",\r\n \"_Bulge_Height_\",\r\n \"_Bulge_Radius_\",\r\n \"_Sun_Intensity_\",\r\n \"_Sun_Theta_\",\r\n \"_Sun_Phi_\",\r\n \"_Indirect_Diffuse_\",\r\n \"_Albedo_\",\r\n \"_Specular_\",\r\n \"_Shininess_\",\r\n \"_Sharpness_\",\r\n \"_Subsurface_\",\r\n \"_Left_Color_\",\r\n \"_Right_Color_\",\r\n \"_Reflection_\",\r\n \"_Front_Reflect_\",\r\n \"_Edge_Reflect_\",\r\n \"_Power_\",\r\n \"_Sky_Color_\",\r\n \"_Horizon_Color_\",\r\n \"_Ground_Color_\",\r\n \"_Horizon_Power_\",\r\n \"_Reflection_Map_\",\r\n \"_Indirect_Environment_\",\r\n \"_Width_\",\r\n \"_Fuzz_\",\r\n \"_Min_Fuzz_\",\r\n \"_Clip_Fade_\",\r\n \"_Hue_Shift_\",\r\n \"_Saturation_Shift_\",\r\n \"_Value_Shift_\",\r\n \"_Blob_Position_\",\r\n \"_Blob_Intensity_\",\r\n \"_Blob_Near_Size_\",\r\n \"_Blob_Far_Size_\",\r\n \"_Blob_Near_Distance_\",\r\n \"_Blob_Far_Distance_\",\r\n \"_Blob_Fade_Length_\",\r\n \"_Blob_Pulse_\",\r\n \"_Blob_Fade_\",\r\n \"_Blob_Texture_\",\r\n \"_Blob_Position_2_\",\r\n \"_Blob_Near_Size_2_\",\r\n \"_Blob_Pulse_2_\",\r\n \"_Blob_Fade_2_\",\r\n \"_Left_Index_Pos_\",\r\n \"_Right_Index_Pos_\",\r\n \"_Left_Index_Middle_Pos_\",\r\n \"_Right_Index_Middle_Pos_\",\r\n \"_Decal_\",\r\n \"_Decal_Scale_XY_\",\r\n \"_Decal_Front_Only_\",\r\n \"_Rim_Intensity_\",\r\n \"_Rim_Texture_\",\r\n \"_Rim_Hue_Shift_\",\r\n \"_Rim_Saturation_Shift_\",\r\n \"_Rim_Value_Shift_\",\r\n \"_Iridescence_Intensity_\",\r\n \"_Iridescence_Texture_\",\r\n \"Use_Global_Left_Index\",\r\n \"Use_Global_Right_Index\",\r\n \"Global_Left_Index_Tip_Position\",\r\n \"Global_Right_Index_Tip_Position\",\r\n \"Global_Left_Thumb_Tip_Position\",\r\n \"Global_Right_Thumb_Tip_Position\",\r\n \"Global_Left_Index_Middle_Position;\",\r\n \"Global_Right_Index_Middle_Position\",\r\n \"Global_Left_Index_Tip_Proximity\",\r\n \"Global_Right_Index_Tip_Proximity\",\r\n ];\r\n const samplers: string[] = [\"_Rim_Texture_\", \"_Iridescence_Texture_\"];\r\n const 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: 4,\r\n });\r\n\r\n subMesh.setEffect(\r\n scene.getEngine().createEffect(\r\n 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: 4 },\r\n },\r\n engine\r\n ),\r\n defines,\r\n this._materialContext\r\n );\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 const defines = <MRDLSliderBarMaterialDefines>subMesh.materialDefines;\r\n if (!defines) {\r\n return;\r\n }\r\n\r\n const effect = subMesh.effect;\r\n if (!effect) {\r\n return;\r\n }\r\n\r\n this._activeEffect = effect;\r\n\r\n // Matrices\r\n this.bindOnlyWorldMatrix(world);\r\n this._activeEffect.setMatrix(\"viewProjection\", this.getScene().getTransformMatrix());\r\n this._activeEffect.setVector3(\"cameraPosition\", this.getScene().activeCamera!.position);\r\n\r\n // \"Round Rect\"\r\n this._activeEffect.setFloat(\"_Radius_\", this.radius);\r\n this._activeEffect.setFloat(\"_Bevel_Front_\", this.bevelFront);\r\n this._activeEffect.setFloat(\"_Bevel_Front_Stretch_\", this.bevelFrontStretch);\r\n this._activeEffect.setFloat(\"_Bevel_Back_\", this.bevelBack);\r\n this._activeEffect.setFloat(\"_Bevel_Back_Stretch_\", this.bevelBackStretch);\r\n\r\n // \"Radii Multipliers\"\r\n this._activeEffect.setFloat(\"_Radius_Top_Left_\", this.radiusTopLeft);\r\n this._activeEffect.setFloat(\"_Radius_Top_Right_\", this.radiusTopRight);\r\n this._activeEffect.setFloat(\"_Radius_Bottom_Left_\", this.radiusBottomLeft);\r\n this._activeEffect.setFloat(\"_Radius_Bottom_Right_\", this.radiusBottomRight);\r\n\r\n // \"Bulge\"\r\n this._activeEffect.setFloat(\"_Bulge_Enabled_\", this.bulgeEnabled ? 1.0 : 0.0);\r\n this._activeEffect.setFloat(\"_Bulge_Height_\", this.bulgeHeight);\r\n this._activeEffect.setFloat(\"_Bulge_Radius_\", this.bulgeRadius);\r\n\r\n // \"Sun\"\r\n this._activeEffect.setFloat(\"_Sun_Intensity_\", this.sunIntensity);\r\n this._activeEffect.setFloat(\"_Sun_Theta_\", this.sunTheta);\r\n this._activeEffect.setFloat(\"_Sun_Phi_\", this.sunPhi);\r\n this._activeEffect.setFloat(\"_Indirect_Diffuse_\", this.indirectDiffuse);\r\n\r\n // \"Diffuse And Specular\"\r\n this._activeEffect.setDirectColor4(\"_Albedo_\", this.albedo);\r\n this._activeEffect.setFloat(\"_Specular_\", this.specular);\r\n this._activeEffect.setFloat(\"_Shininess_\", this.shininess);\r\n this._activeEffect.setFloat(\"_Sharpness_\", this.sharpness);\r\n this._activeEffect.setFloat(\"_Subsurface_\", this.subsurface);\r\n\r\n // \"Gradient\"\r\n this._activeEffect.setDirectColor4(\"_Left_Color_\", this.leftGradientColor);\r\n this._activeEffect.setDirectColor4(\"_Right_Color_\", this.rightGradientColor);\r\n\r\n // \"Reflection\"\r\n this._activeEffect.setFloat(\"_Reflection_\", this.reflection);\r\n this._activeEffect.setFloat(\"_Front_Reflect_\", this.frontReflect);\r\n this._activeEffect.setFloat(\"_Edge_Reflect_\", this.edgeReflect);\r\n this._activeEffect.setFloat(\"_Power_\", this.power);\r\n\r\n // \"Sky Environment\"\r\n //define SKY_ENABLED true;\r\n this._activeEffect.setDirectColor4(\"_Sky_Color_\", this.skyColor);\r\n this._activeEffect.setDirectColor4(\"_Horizon_Color_\", this.horizonColor);\r\n this._activeEffect.setDirectColor4(\"_Ground_Color_\", this.groundColor);\r\n this._activeEffect.setFloat(\"_Horizon_Power_\", this.horizonPower);\r\n\r\n // \"Mapped Environment\"\r\n //define ENV_ENABLE false;\r\n this._activeEffect.setTexture(\"_Reflection_Map_\", new Texture(\"\", this.getScene()));\r\n this._activeEffect.setTexture(\"_Indirect_Environment_\", new Texture(\"\", this.getScene()));\r\n\r\n // \"FingerOcclusion\"\r\n //define OCCLUSION_ENABLED false;\r\n this._activeEffect.setFloat(\"_Width_\", this.width);\r\n this._activeEffect.setFloat(\"_Fuzz_\", this.fuzz);\r\n this._activeEffect.setFloat(\"_Min_Fuzz_\", this.minFuzz);\r\n this._activeEffect.setFloat(\"_Clip_Fade_\", this.clipFade);\r\n\r\n // \"View Based Color Shift\"\r\n this._activeEffect.setFloat(\"_Hue_Shift_\", this.hueShift);\r\n this._activeEffect.setFloat(\"_Saturation_Shift_\", this.saturationShift);\r\n this._activeEffect.setFloat(\"_Value_Shift_\", this.valueShift);\r\n\r\n // \"Blob\"\r\n //define BLOB_ENABLE false;\r\n this._activeEffect.setVector3(\"_Blob_Position_\", this.blobPosition);\r\n this._activeEffect.setFloat(\"_Blob_Intensity_\", this.blobIntensity);\r\n this._activeEffect.setFloat(\"_Blob_Near_Size_\", this.blobNearSize);\r\n this._activeEffect.setFloat(\"_Blob_Far_Size_\", this.blobFarSize);\r\n this._activeEffect.setFloat(\"_Blob_Near_Distance_\", this.blobNearDistance);\r\n this._activeEffect.setFloat(\"_Blob_Far_Distance_\", this.blobFarDistance);\r\n this._activeEffect.setFloat(\"_Blob_Fade_Length_\", this.blobFadeLength);\r\n this._activeEffect.setFloat(\"_Blob_Pulse_\", this.blobPulse);\r\n this._activeEffect.setFloat(\"_Blob_Fade_\", this.blobFade);\r\n\r\n // \"Blob Texture\"\r\n this._activeEffect.setTexture(\"_Blob_Texture_\", this.blobTexture);\r\n\r\n // \"Blob 2\"\r\n //define BLOB_ENABLE_2 true;\r\n this._activeEffect.setVector3(\"_Blob_Position_2_\", this.blobPosition2);\r\n this._activeEffect.setFloat(\"_Blob_Near_Size_2_\", this.blobNearSize2);\r\n this._activeEffect.setFloat(\"_Blob_Pulse_2_\", this.blobPulse2);\r\n this._activeEffect.setFloat(\"_Blob_Fade_2_\", this.blobFade2);\r\n\r\n // \"Finger Positions\"\r\n this._activeEffect.setVector3(\"_Left_Index_Pos_\", this.leftIndexPosition);\r\n this._activeEffect.setVector3(\"_Right_Index_Pos_\", this.rightIndexPosition);\r\n this._activeEffect.setVector3(\"_Left_Index_Middle_Pos_\", this.leftIndexMiddlePosition);\r\n this._activeEffect.setVector3(\"_Right_Index_Middle_Pos_\", this.rightIndexMiddlePosition);\r\n\r\n // \"Decal Texture\"\r\n //define DECAL_ENABLE false;\r\n this._activeEffect.setTexture(\"_Decal_\", new Texture(\"\", this.getScene()));\r\n this._activeEffect.setVector2(\"_Decal_Scale_XY_\", this.decalScaleXY);\r\n this._activeEffect.setFloat(\"_Decal_Front_Only_\", this.decalFrontOnly ? 1.0 : 0.0);\r\n\r\n // \"Rim Light\"\r\n this._activeEffect.setFloat(\"_Rim_Intensity_\", this.rimIntensity);\r\n this._activeEffect.setTexture(\"_Rim_Texture_\", this._blueGradientTexture);\r\n this._activeEffect.setFloat(\"_Rim_Hue_Shift_\", this.rimHueShift);\r\n this._activeEffect.setFloat(\"_Rim_Saturation_Shift_\", this.rimSaturationShift);\r\n this._activeEffect.setFloat(\"_Rim_Value_Shift_\", this.rimValueShift);\r\n\r\n // \"Iridescence\"\r\n //define IRIDESCENCE_ENABLED true;\r\n this._activeEffect.setFloat(\"_Iridescence_Intensity_\", this.iridescenceIntensity);\r\n this._activeEffect.setTexture(\"_Iridescence_Texture_\", this._blueGradientTexture);\r\n\r\n // Global inputs\r\n this._activeEffect.setFloat(\"Use_Global_Left_Index\", this.useGlobalLeftIndex);\r\n this._activeEffect.setFloat(\"Use_Global_Right_Index\", this.useGlobalRightIndex);\r\n\r\n this._activeEffect.setVector4(\"Global_Left_Index_Tip_Position\", this.globalLeftIndexTipPosition);\r\n this._activeEffect.setVector4(\"Global_Right_Index_Tip_Position\", this.globaRightIndexTipPosition);\r\n\r\n this._activeEffect.setVector4(\"Global_Left_Thumb_Tip_Position\", this.globalLeftThumbTipPosition);\r\n this._activeEffect.setVector4(\"Global_Right_Thumb_Tip_Position\", this.globalRightThumbTipPosition);\r\n\r\n this._activeEffect.setVector4(\"Global_Left_Index_Middle_Position\", this.globalLeftIndexMiddlePosition);\r\n this._activeEffect.setVector4(\"Global_Right_Index_Middle_Position\", this.globalRightIndexMiddlePosition);\r\n\r\n this._activeEffect.setFloat(\"Global_Left_Index_Tip_Proximity\", this.globalLeftIndexTipProximity);\r\n this._activeEffect.setFloat(\"Global_Right_Index_Tip_Proximity\", this.globalRightIndexTipProximity);\r\n\r\n this._afterBind(mesh, this._activeEffect);\r\n }\r\n\r\n /**\r\n * Get the list of animatables in the material.\r\n * @returns the list of animatables object used in the material\r\n */\r\n public getAnimatables(): IAnimatable[] {\r\n return [];\r\n }\r\n\r\n public dispose(forceDisposeEffect?: boolean): void {\r\n super.dispose(forceDisposeEffect);\r\n }\r\n\r\n public clone(name: string): MRDLSliderBarMaterial {\r\n return SerializationHelper.Clone(() => new MRDLSliderBarMaterial(name, this.getScene()), this);\r\n }\r\n\r\n public serialize(): any {\r\n const serializationObject = super.serialize();\r\n serializationObject.customType = \"BABYLON.MRDLSliderBarMaterial\";\r\n return serializationObject;\r\n }\r\n\r\n public getClassName(): string {\r\n return \"MRDLSliderBarMaterial\";\r\n }\r\n\r\n // Statics\r\n public static Parse(source: any, scene: Scene, rootUrl: string): MRDLSliderBarMaterial {\r\n return SerializationHelper.Parse(() => new MRDLSliderBarMaterial(source.name, scene), source, scene, rootUrl);\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.GUI.MRDLSliderBarMaterial\", MRDLSliderBarMaterial);\r\n"]}
1
+ {"version":3,"file":"mrdlSliderBarMaterial.js","sourceRoot":"","sources":["../../../../../../../lts/gui/generated/3D/materials/mrdl/mrdlSliderBarMaterial.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport type { Nullable } from \"core/types\";\r\nimport { SerializationHelper, serialize } from \"core/Misc/decorators\";\r\nimport type { Matrix } from \"core/Maths/math.vector\";\r\nimport { Vector2, Vector3, Vector4 } from \"core/Maths/math.vector\";\r\nimport type { IAnimatable } from \"core/Animations/animatable.interface\";\r\nimport type { BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport { Texture } from \"core/Materials/Textures/texture\";\r\nimport { MaterialDefines } from \"core/Materials/materialDefines\";\r\nimport { MaterialHelper } from \"core/Materials/materialHelper\";\r\nimport type { IEffectCreationOptions } from \"core/Materials/effect\";\r\nimport { PushMaterial } from \"core/Materials/pushMaterial\";\r\nimport { VertexBuffer } from \"core/Buffers/buffer\";\r\nimport type { AbstractMesh } from \"core/Meshes/abstractMesh\";\r\nimport type { SubMesh } from \"core/Meshes/subMesh\";\r\nimport type { Mesh } from \"core/Meshes/mesh\";\r\nimport type { Scene } from \"core/scene\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { Color4 } from \"core/Maths/math.color\";\r\nimport { EffectFallbacks } from \"core/Materials/effectFallbacks\";\r\nimport { Constants } from \"core/Engines/constants\";\r\n\r\nimport \"./shaders/mrdlSliderBar.fragment\";\r\nimport \"./shaders/mrdlSliderBar.vertex\";\r\n\r\n/** @internal */\r\nclass MRDLSliderBarMaterialDefines extends MaterialDefines {\r\n /*\r\n \"SKY_ENABLED\", \"BLOB_ENABLE_2\", \"IRIDESCENCE_ENABLED\"\r\n */\r\n public SKY_ENABLED = true;\r\n public BLOB_ENABLE_2 = true;\r\n public IRIDESCENCE_ENABLED = true;\r\n\r\n constructor() {\r\n super();\r\n this._needNormals = true;\r\n this._needUVs = true;\r\n this.rebuild();\r\n }\r\n}\r\n\r\n/**\r\n * Class used to render Slider Bar material with MRDL\r\n */\r\nexport class MRDLSliderBarMaterial extends PushMaterial {\r\n /**\r\n * URL pointing to the texture used to define the coloring for the Iridescent Map effect.\r\n */\r\n public static BLUE_GRADIENT_TEXTURE_URL = \"https://assets.babylonjs.com/meshes/MRTK/MRDL/mrtk-mrdl-blue-gradient.png\";\r\n private _blueGradientTexture: Texture;\r\n\r\n /**\r\n * Gets or sets the corner Radius on the slider bar.\r\n */\r\n @serialize()\r\n public radius = 0.6;\r\n\r\n /**\r\n * Gets or sets the Bevel Front on the slider bar.\r\n */\r\n @serialize()\r\n public bevelFront = 0.6;\r\n\r\n /**\r\n * Gets or sets the Bevel Front Stretch on the slider bar.\r\n */\r\n @serialize()\r\n public bevelFrontStretch = 0.077;\r\n\r\n /**\r\n * Gets or sets the Bevel Back on the slider bar.\r\n */\r\n @serialize()\r\n public bevelBack = 0;\r\n\r\n /**\r\n * Gets or sets the Bevel Back Stretch on the slider bar.\r\n */\r\n @serialize()\r\n public bevelBackStretch = 0;\r\n\r\n /**\r\n * Gets or sets the top left Radii Multiplier.\r\n */\r\n @serialize()\r\n public radiusTopLeft = 1.0;\r\n\r\n /**\r\n * Gets or sets the top left Radii Multiplier.\r\n */\r\n @serialize()\r\n public radiusTopRight = 1.0;\r\n\r\n /**\r\n * Gets or sets the top left Radii Multiplier.\r\n */\r\n @serialize()\r\n public radiusBottomLeft = 1.0;\r\n\r\n /**\r\n * Gets or sets the top left Radii Multiplier.\r\n */\r\n @serialize()\r\n public radiusBottomRight = 1.0;\r\n\r\n /**\r\n * Gets or sets whether Bulge is enabled.\r\n * Default is false.\r\n */\r\n @serialize()\r\n public bulgeEnabled = false;\r\n\r\n /**\r\n * Gets or sets the Bulge Height.\r\n */\r\n @serialize()\r\n public bulgeHeight = -0.323;\r\n\r\n /**\r\n * Gets or sets the Bulge Radius.\r\n */\r\n @serialize()\r\n public bulgeRadius = 0.73;\r\n\r\n /**\r\n * Gets or sets the Sun Intensity.\r\n */\r\n @serialize()\r\n public sunIntensity = 1.102;\r\n\r\n /**\r\n * Gets or sets the Sun Theta.\r\n */\r\n @serialize()\r\n public sunTheta = 0.76;\r\n\r\n /**\r\n * Gets or sets the Sun Phi.\r\n */\r\n @serialize()\r\n public sunPhi = 0.526;\r\n\r\n /**\r\n * Gets or sets the Indirect Diffuse.\r\n */\r\n @serialize()\r\n public indirectDiffuse = 0.658;\r\n\r\n /**\r\n * Gets or sets the base albedo.\r\n */\r\n @serialize()\r\n public albedo = new Color4(0.0117647, 0.505882, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the Specular value.\r\n */\r\n @serialize()\r\n public specular = 0;\r\n\r\n /**\r\n * Gets or sets the Shininess value.\r\n */\r\n @serialize()\r\n public shininess = 10;\r\n\r\n /**\r\n * Gets or sets the Sharpness value.\r\n */\r\n @serialize()\r\n public sharpness = 0;\r\n\r\n /**\r\n * Gets or sets the Subsurface value.\r\n */\r\n @serialize()\r\n public subsurface = 0;\r\n\r\n /**\r\n * Gets or sets the left gradient color.\r\n */\r\n @serialize()\r\n public leftGradientColor = new Color4(0.0117647, 0.505882, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the right gradient color.\r\n */\r\n @serialize()\r\n public rightGradientColor = new Color4(0.0117647, 0.505882, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the reflection value.\r\n */\r\n @serialize()\r\n public reflection = 0.749;\r\n\r\n /**\r\n * Gets or sets the front reflect value.\r\n */\r\n @serialize()\r\n public frontReflect = 0;\r\n\r\n /**\r\n * Gets or sets the edge reflect value.\r\n */\r\n @serialize()\r\n public edgeReflect = 0.09;\r\n\r\n /**\r\n * Gets or sets the power value.\r\n */\r\n @serialize()\r\n public power = 8.13;\r\n\r\n /**\r\n * Gets or sets the sky color.\r\n */\r\n @serialize()\r\n public skyColor = new Color4(0.0117647, 0.964706, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the horizon color.\r\n */\r\n @serialize()\r\n public horizonColor = new Color4(0.0117647, 0.333333, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the ground color.\r\n */\r\n @serialize()\r\n public groundColor = new Color4(0, 0.254902, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the horizon power value.\r\n */\r\n @serialize()\r\n public horizonPower = 1;\r\n\r\n /**\r\n * Gets or sets the finger occlusion width value.\r\n */\r\n @serialize()\r\n public width = 0.02;\r\n\r\n /**\r\n * Gets or sets the finger occlusion fuzz value.\r\n */\r\n @serialize()\r\n public fuzz = 0.5;\r\n\r\n /**\r\n * Gets or sets the minimum finger occlusion fuzz value.\r\n */\r\n @serialize()\r\n public minFuzz = 0.001;\r\n\r\n /**\r\n * Gets or sets the finger occlusion clip fade value.\r\n */\r\n @serialize()\r\n public clipFade = 0.01;\r\n\r\n /**\r\n * Gets or sets the hue shift value.\r\n */\r\n @serialize()\r\n public hueShift = 0;\r\n\r\n /**\r\n * Gets or sets the saturation shift value.\r\n */\r\n @serialize()\r\n public saturationShift = 0;\r\n\r\n /**\r\n * Gets or sets the value shift.\r\n */\r\n @serialize()\r\n public valueShift = 0;\r\n\r\n /**\r\n * Gets or sets the position of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobPosition = new Vector3(0, 0, 0.1);\r\n\r\n /**\r\n * Gets or sets the intensity of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobIntensity = 0.5;\r\n\r\n /**\r\n * Gets or sets the near size of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobNearSize = 0.01;\r\n /**\r\n * Gets or sets the far size of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobFarSize = 0.03;\r\n\r\n /**\r\n * Gets or sets the distance considered \"near\" to the mesh, which controls the size of the hover glow effect (see blobNearSize).\r\n */\r\n @serialize()\r\n public blobNearDistance = 0;\r\n\r\n /**\r\n * Gets or sets the distance considered \"far\" from the mesh, which controls the size of the hover glow effect (see blobFarSize).\r\n */\r\n @serialize()\r\n public blobFarDistance = 0.08;\r\n\r\n /**\r\n * Gets or sets the length of the hover glow effect fade.\r\n */\r\n @serialize()\r\n public blobFadeLength = 0.576;\r\n\r\n /**\r\n * Gets or sets the progress of the hover glow effect selection animation corresponding to the left pointer (0.0 - 1.0).\r\n */\r\n @serialize()\r\n public blobPulse = 0;\r\n\r\n /**\r\n * Gets or sets the opacity of the hover glow effect corresponding to the left pointer (0.0 - 1.0). Default is 0.\r\n */\r\n @serialize()\r\n public blobFade = 1;\r\n\r\n /**\r\n * Gets or sets the position of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobPosition2 = new Vector3(0.2, 0, 0.1);\r\n\r\n /**\r\n * Gets or sets the size of the hover glow effect when the right pointer is considered \"near\" to the mesh (see blobNearDistance).\r\n */\r\n @serialize()\r\n public blobNearSize2 = 0.01;\r\n\r\n /**\r\n * Gets or sets the progress of the hover glow effect selection animation corresponding to the right pointer (0.0 - 1.0).\r\n */\r\n @serialize()\r\n public blobPulse2 = 0;\r\n\r\n /**\r\n * Gets or sets the opacity of the hover glow effect corresponding to the right pointer (0.0 - 1.0). Default is 1.\r\n */\r\n @serialize()\r\n public blobFade2 = 1;\r\n\r\n /**\r\n * Gets or sets the texture of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobTexture = new Texture(\"\", this.getScene());\r\n\r\n /**\r\n * Gets or sets the finger position for left index.\r\n */\r\n @serialize()\r\n public leftIndexPosition = new Vector3(0, 0, 1);\r\n\r\n /**\r\n * Gets or sets the finger position for right index.\r\n */\r\n @serialize()\r\n public rightIndexPosition = new Vector3(-1, -1, -1);\r\n\r\n /**\r\n * Gets or sets the finger position for left index middle position.\r\n */\r\n @serialize()\r\n public leftIndexMiddlePosition = new Vector3(0, 0, 0);\r\n\r\n /**\r\n * Gets or sets the finger position for right index middle position.\r\n */\r\n @serialize()\r\n public rightIndexMiddlePosition = new Vector3(0, 0, 0);\r\n\r\n /**\r\n * Gets or sets the Decal Scle for XY.\r\n */\r\n @serialize()\r\n public decalScaleXY = new Vector2(1.5, 1.5);\r\n\r\n /**\r\n * Gets or sets decalFrontOnly\r\n * Default is true\r\n */\r\n @serialize()\r\n public decalFrontOnly = true;\r\n\r\n /**\r\n * Gets or sets the Rim Light intensity.\r\n */\r\n @serialize()\r\n public rimIntensity = 0.287;\r\n\r\n /**\r\n * Gets or sets the Rim Light hue shift value.\r\n */\r\n @serialize()\r\n public rimHueShift = 0;\r\n\r\n /**\r\n * Gets or sets the Rim Light saturation shift value.\r\n */\r\n @serialize()\r\n public rimSaturationShift = 0;\r\n\r\n /**\r\n * Gets or sets the Rim Light value shift.\r\n */\r\n @serialize()\r\n public rimValueShift = -1;\r\n\r\n /**\r\n * Gets or sets the intensity of the iridescence effect.\r\n */\r\n @serialize()\r\n public iridescenceIntensity = 0;\r\n\r\n /**\r\n * @internal\r\n */\r\n public useGlobalLeftIndex = 1.0;\r\n\r\n /**\r\n * @internal\r\n */\r\n public useGlobalRightIndex = 1.0;\r\n\r\n /**\r\n * @internal\r\n */\r\n public globalLeftIndexTipProximity = 0.0;\r\n\r\n /**\r\n * @internal\r\n */\r\n public globalRightIndexTipProximity = 0.0;\r\n\r\n /**\r\n * @internal\r\n */\r\n public globalLeftIndexTipPosition = new Vector4(0.5, 0.0, -0.55, 1.0);\r\n\r\n /**\r\n * @internal\r\n */\r\n public globaRightIndexTipPosition = new Vector4(0.0, 0.0, 0.0, 1.0);\r\n\r\n /**\r\n * @internal\r\n */\r\n public globalLeftThumbTipPosition = new Vector4(0.5, 0.0, -0.55, 1.0);\r\n\r\n /**\r\n * @internal\r\n */\r\n public globalRightThumbTipPosition = new Vector4(0.0, 0.0, 0.0, 1.0);\r\n\r\n /**\r\n * @internal\r\n */\r\n public globalLeftIndexMiddlePosition = new Vector4(0.5, 0.0, -0.55, 1.0);\r\n\r\n /**\r\n * @internal\r\n */\r\n public globalRightIndexMiddlePosition = new Vector4(0.0, 0.0, 0.0, 1.0);\r\n\r\n constructor(name: string, scene?: Scene) {\r\n super(name, scene);\r\n this.alphaMode = Constants.ALPHA_DISABLE;\r\n this.backFaceCulling = false;\r\n this._blueGradientTexture = new Texture(MRDLSliderBarMaterial.BLUE_GRADIENT_TEXTURE_URL, this.getScene(), true, false, Texture.NEAREST_SAMPLINGMODE);\r\n }\r\n\r\n public needAlphaBlending(): boolean {\r\n return false;\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): 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 MRDLSliderBarMaterialDefines();\r\n }\r\n\r\n const defines = <MRDLSliderBarMaterialDefines>subMesh.materialDefines;\r\n const scene = this.getScene();\r\n\r\n if (this._isReadyForSubMesh(subMesh)) {\r\n return true;\r\n }\r\n\r\n const engine = scene.getEngine();\r\n\r\n // Attribs\r\n MaterialHelper.PrepareDefinesForAttributes(mesh, defines, false, false);\r\n\r\n // Get correct effect\r\n if (defines.isDirty) {\r\n defines.markAsProcessed();\r\n\r\n scene.resetCachedMaterial();\r\n\r\n // Fallbacks\r\n const fallbacks = new EffectFallbacks();\r\n if (defines.FOG) {\r\n fallbacks.addFallback(1, \"FOG\");\r\n }\r\n\r\n MaterialHelper.HandleFallbacksForShadows(defines, fallbacks);\r\n\r\n defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;\r\n\r\n //Attributes\r\n const 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 if (defines.TANGENT) {\r\n attribs.push(VertexBuffer.TangentKind);\r\n }\r\n\r\n MaterialHelper.PrepareAttributesForInstances(attribs, defines);\r\n\r\n // Legacy browser patch\r\n const shaderName = \"mrdlSliderBar\";\r\n const join = defines.toString();\r\n\r\n const uniforms = [\r\n \"world\",\r\n \"viewProjection\",\r\n \"cameraPosition\",\r\n \"_Radius_\",\r\n \"_Bevel_Front_\",\r\n \"_Bevel_Front_Stretch_\",\r\n \"_Bevel_Back_\",\r\n \"_Bevel_Back_Stretch_\",\r\n \"_Radius_Top_Left_\",\r\n \"_Radius_Top_Right_\",\r\n \"_Radius_Bottom_Left_\",\r\n \"_Radius_Bottom_Right_\",\r\n \"_Bulge_Enabled_\",\r\n \"_Bulge_Height_\",\r\n \"_Bulge_Radius_\",\r\n \"_Sun_Intensity_\",\r\n \"_Sun_Theta_\",\r\n \"_Sun_Phi_\",\r\n \"_Indirect_Diffuse_\",\r\n \"_Albedo_\",\r\n \"_Specular_\",\r\n \"_Shininess_\",\r\n \"_Sharpness_\",\r\n \"_Subsurface_\",\r\n \"_Left_Color_\",\r\n \"_Right_Color_\",\r\n \"_Reflection_\",\r\n \"_Front_Reflect_\",\r\n \"_Edge_Reflect_\",\r\n \"_Power_\",\r\n \"_Sky_Color_\",\r\n \"_Horizon_Color_\",\r\n \"_Ground_Color_\",\r\n \"_Horizon_Power_\",\r\n \"_Reflection_Map_\",\r\n \"_Indirect_Environment_\",\r\n \"_Width_\",\r\n \"_Fuzz_\",\r\n \"_Min_Fuzz_\",\r\n \"_Clip_Fade_\",\r\n \"_Hue_Shift_\",\r\n \"_Saturation_Shift_\",\r\n \"_Value_Shift_\",\r\n \"_Blob_Position_\",\r\n \"_Blob_Intensity_\",\r\n \"_Blob_Near_Size_\",\r\n \"_Blob_Far_Size_\",\r\n \"_Blob_Near_Distance_\",\r\n \"_Blob_Far_Distance_\",\r\n \"_Blob_Fade_Length_\",\r\n \"_Blob_Pulse_\",\r\n \"_Blob_Fade_\",\r\n \"_Blob_Texture_\",\r\n \"_Blob_Position_2_\",\r\n \"_Blob_Near_Size_2_\",\r\n \"_Blob_Pulse_2_\",\r\n \"_Blob_Fade_2_\",\r\n \"_Left_Index_Pos_\",\r\n \"_Right_Index_Pos_\",\r\n \"_Left_Index_Middle_Pos_\",\r\n \"_Right_Index_Middle_Pos_\",\r\n \"_Decal_\",\r\n \"_Decal_Scale_XY_\",\r\n \"_Decal_Front_Only_\",\r\n \"_Rim_Intensity_\",\r\n \"_Rim_Texture_\",\r\n \"_Rim_Hue_Shift_\",\r\n \"_Rim_Saturation_Shift_\",\r\n \"_Rim_Value_Shift_\",\r\n \"_Iridescence_Intensity_\",\r\n \"_Iridescence_Texture_\",\r\n \"Use_Global_Left_Index\",\r\n \"Use_Global_Right_Index\",\r\n \"Global_Left_Index_Tip_Position\",\r\n \"Global_Right_Index_Tip_Position\",\r\n \"Global_Left_Thumb_Tip_Position\",\r\n \"Global_Right_Thumb_Tip_Position\",\r\n \"Global_Left_Index_Middle_Position;\",\r\n \"Global_Right_Index_Middle_Position\",\r\n \"Global_Left_Index_Tip_Proximity\",\r\n \"Global_Right_Index_Tip_Proximity\",\r\n ];\r\n const samplers: string[] = [\"_Rim_Texture_\", \"_Iridescence_Texture_\"];\r\n const 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: 4,\r\n });\r\n\r\n subMesh.setEffect(\r\n scene.getEngine().createEffect(\r\n 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: 4 },\r\n },\r\n engine\r\n ),\r\n defines,\r\n this._materialContext\r\n );\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 const defines = <MRDLSliderBarMaterialDefines>subMesh.materialDefines;\r\n if (!defines) {\r\n return;\r\n }\r\n\r\n const effect = subMesh.effect;\r\n if (!effect) {\r\n return;\r\n }\r\n\r\n this._activeEffect = effect;\r\n\r\n // Matrices\r\n this.bindOnlyWorldMatrix(world);\r\n this._activeEffect.setMatrix(\"viewProjection\", this.getScene().getTransformMatrix());\r\n this._activeEffect.setVector3(\"cameraPosition\", this.getScene().activeCamera!.position);\r\n\r\n // \"Round Rect\"\r\n this._activeEffect.setFloat(\"_Radius_\", this.radius);\r\n this._activeEffect.setFloat(\"_Bevel_Front_\", this.bevelFront);\r\n this._activeEffect.setFloat(\"_Bevel_Front_Stretch_\", this.bevelFrontStretch);\r\n this._activeEffect.setFloat(\"_Bevel_Back_\", this.bevelBack);\r\n this._activeEffect.setFloat(\"_Bevel_Back_Stretch_\", this.bevelBackStretch);\r\n\r\n // \"Radii Multipliers\"\r\n this._activeEffect.setFloat(\"_Radius_Top_Left_\", this.radiusTopLeft);\r\n this._activeEffect.setFloat(\"_Radius_Top_Right_\", this.radiusTopRight);\r\n this._activeEffect.setFloat(\"_Radius_Bottom_Left_\", this.radiusBottomLeft);\r\n this._activeEffect.setFloat(\"_Radius_Bottom_Right_\", this.radiusBottomRight);\r\n\r\n // \"Bulge\"\r\n this._activeEffect.setFloat(\"_Bulge_Enabled_\", this.bulgeEnabled ? 1.0 : 0.0);\r\n this._activeEffect.setFloat(\"_Bulge_Height_\", this.bulgeHeight);\r\n this._activeEffect.setFloat(\"_Bulge_Radius_\", this.bulgeRadius);\r\n\r\n // \"Sun\"\r\n this._activeEffect.setFloat(\"_Sun_Intensity_\", this.sunIntensity);\r\n this._activeEffect.setFloat(\"_Sun_Theta_\", this.sunTheta);\r\n this._activeEffect.setFloat(\"_Sun_Phi_\", this.sunPhi);\r\n this._activeEffect.setFloat(\"_Indirect_Diffuse_\", this.indirectDiffuse);\r\n\r\n // \"Diffuse And Specular\"\r\n this._activeEffect.setDirectColor4(\"_Albedo_\", this.albedo);\r\n this._activeEffect.setFloat(\"_Specular_\", this.specular);\r\n this._activeEffect.setFloat(\"_Shininess_\", this.shininess);\r\n this._activeEffect.setFloat(\"_Sharpness_\", this.sharpness);\r\n this._activeEffect.setFloat(\"_Subsurface_\", this.subsurface);\r\n\r\n // \"Gradient\"\r\n this._activeEffect.setDirectColor4(\"_Left_Color_\", this.leftGradientColor);\r\n this._activeEffect.setDirectColor4(\"_Right_Color_\", this.rightGradientColor);\r\n\r\n // \"Reflection\"\r\n this._activeEffect.setFloat(\"_Reflection_\", this.reflection);\r\n this._activeEffect.setFloat(\"_Front_Reflect_\", this.frontReflect);\r\n this._activeEffect.setFloat(\"_Edge_Reflect_\", this.edgeReflect);\r\n this._activeEffect.setFloat(\"_Power_\", this.power);\r\n\r\n // \"Sky Environment\"\r\n //define SKY_ENABLED true;\r\n this._activeEffect.setDirectColor4(\"_Sky_Color_\", this.skyColor);\r\n this._activeEffect.setDirectColor4(\"_Horizon_Color_\", this.horizonColor);\r\n this._activeEffect.setDirectColor4(\"_Ground_Color_\", this.groundColor);\r\n this._activeEffect.setFloat(\"_Horizon_Power_\", this.horizonPower);\r\n\r\n // \"Mapped Environment\"\r\n //define ENV_ENABLE false;\r\n this._activeEffect.setTexture(\"_Reflection_Map_\", new Texture(\"\", this.getScene()));\r\n this._activeEffect.setTexture(\"_Indirect_Environment_\", new Texture(\"\", this.getScene()));\r\n\r\n // \"FingerOcclusion\"\r\n //define OCCLUSION_ENABLED false;\r\n this._activeEffect.setFloat(\"_Width_\", this.width);\r\n this._activeEffect.setFloat(\"_Fuzz_\", this.fuzz);\r\n this._activeEffect.setFloat(\"_Min_Fuzz_\", this.minFuzz);\r\n this._activeEffect.setFloat(\"_Clip_Fade_\", this.clipFade);\r\n\r\n // \"View Based Color Shift\"\r\n this._activeEffect.setFloat(\"_Hue_Shift_\", this.hueShift);\r\n this._activeEffect.setFloat(\"_Saturation_Shift_\", this.saturationShift);\r\n this._activeEffect.setFloat(\"_Value_Shift_\", this.valueShift);\r\n\r\n // \"Blob\"\r\n //define BLOB_ENABLE false;\r\n this._activeEffect.setVector3(\"_Blob_Position_\", this.blobPosition);\r\n this._activeEffect.setFloat(\"_Blob_Intensity_\", this.blobIntensity);\r\n this._activeEffect.setFloat(\"_Blob_Near_Size_\", this.blobNearSize);\r\n this._activeEffect.setFloat(\"_Blob_Far_Size_\", this.blobFarSize);\r\n this._activeEffect.setFloat(\"_Blob_Near_Distance_\", this.blobNearDistance);\r\n this._activeEffect.setFloat(\"_Blob_Far_Distance_\", this.blobFarDistance);\r\n this._activeEffect.setFloat(\"_Blob_Fade_Length_\", this.blobFadeLength);\r\n this._activeEffect.setFloat(\"_Blob_Pulse_\", this.blobPulse);\r\n this._activeEffect.setFloat(\"_Blob_Fade_\", this.blobFade);\r\n\r\n // \"Blob Texture\"\r\n this._activeEffect.setTexture(\"_Blob_Texture_\", this.blobTexture);\r\n\r\n // \"Blob 2\"\r\n //define BLOB_ENABLE_2 true;\r\n this._activeEffect.setVector3(\"_Blob_Position_2_\", this.blobPosition2);\r\n this._activeEffect.setFloat(\"_Blob_Near_Size_2_\", this.blobNearSize2);\r\n this._activeEffect.setFloat(\"_Blob_Pulse_2_\", this.blobPulse2);\r\n this._activeEffect.setFloat(\"_Blob_Fade_2_\", this.blobFade2);\r\n\r\n // \"Finger Positions\"\r\n this._activeEffect.setVector3(\"_Left_Index_Pos_\", this.leftIndexPosition);\r\n this._activeEffect.setVector3(\"_Right_Index_Pos_\", this.rightIndexPosition);\r\n this._activeEffect.setVector3(\"_Left_Index_Middle_Pos_\", this.leftIndexMiddlePosition);\r\n this._activeEffect.setVector3(\"_Right_Index_Middle_Pos_\", this.rightIndexMiddlePosition);\r\n\r\n // \"Decal Texture\"\r\n //define DECAL_ENABLE false;\r\n this._activeEffect.setTexture(\"_Decal_\", new Texture(\"\", this.getScene()));\r\n this._activeEffect.setVector2(\"_Decal_Scale_XY_\", this.decalScaleXY);\r\n this._activeEffect.setFloat(\"_Decal_Front_Only_\", this.decalFrontOnly ? 1.0 : 0.0);\r\n\r\n // \"Rim Light\"\r\n this._activeEffect.setFloat(\"_Rim_Intensity_\", this.rimIntensity);\r\n this._activeEffect.setTexture(\"_Rim_Texture_\", this._blueGradientTexture);\r\n this._activeEffect.setFloat(\"_Rim_Hue_Shift_\", this.rimHueShift);\r\n this._activeEffect.setFloat(\"_Rim_Saturation_Shift_\", this.rimSaturationShift);\r\n this._activeEffect.setFloat(\"_Rim_Value_Shift_\", this.rimValueShift);\r\n\r\n // \"Iridescence\"\r\n //define IRIDESCENCE_ENABLED true;\r\n this._activeEffect.setFloat(\"_Iridescence_Intensity_\", this.iridescenceIntensity);\r\n this._activeEffect.setTexture(\"_Iridescence_Texture_\", this._blueGradientTexture);\r\n\r\n // Global inputs\r\n this._activeEffect.setFloat(\"Use_Global_Left_Index\", this.useGlobalLeftIndex);\r\n this._activeEffect.setFloat(\"Use_Global_Right_Index\", this.useGlobalRightIndex);\r\n\r\n this._activeEffect.setVector4(\"Global_Left_Index_Tip_Position\", this.globalLeftIndexTipPosition);\r\n this._activeEffect.setVector4(\"Global_Right_Index_Tip_Position\", this.globaRightIndexTipPosition);\r\n\r\n this._activeEffect.setVector4(\"Global_Left_Thumb_Tip_Position\", this.globalLeftThumbTipPosition);\r\n this._activeEffect.setVector4(\"Global_Right_Thumb_Tip_Position\", this.globalRightThumbTipPosition);\r\n\r\n this._activeEffect.setVector4(\"Global_Left_Index_Middle_Position\", this.globalLeftIndexMiddlePosition);\r\n this._activeEffect.setVector4(\"Global_Right_Index_Middle_Position\", this.globalRightIndexMiddlePosition);\r\n\r\n this._activeEffect.setFloat(\"Global_Left_Index_Tip_Proximity\", this.globalLeftIndexTipProximity);\r\n this._activeEffect.setFloat(\"Global_Right_Index_Tip_Proximity\", this.globalRightIndexTipProximity);\r\n\r\n this._afterBind(mesh, this._activeEffect);\r\n }\r\n\r\n /**\r\n * Get the list of animatables in the material.\r\n * @returns the list of animatables object used in the material\r\n */\r\n public getAnimatables(): IAnimatable[] {\r\n return [];\r\n }\r\n\r\n public dispose(forceDisposeEffect?: boolean): void {\r\n super.dispose(forceDisposeEffect);\r\n }\r\n\r\n public clone(name: string): MRDLSliderBarMaterial {\r\n return SerializationHelper.Clone(() => new MRDLSliderBarMaterial(name, this.getScene()), this);\r\n }\r\n\r\n public serialize(): any {\r\n const serializationObject = super.serialize();\r\n serializationObject.customType = \"BABYLON.MRDLSliderBarMaterial\";\r\n return serializationObject;\r\n }\r\n\r\n public getClassName(): string {\r\n return \"MRDLSliderBarMaterial\";\r\n }\r\n\r\n // Statics\r\n public static Parse(source: any, scene: Scene, rootUrl: string): MRDLSliderBarMaterial {\r\n return SerializationHelper.Parse(() => new MRDLSliderBarMaterial(source.name, scene), source, scene, rootUrl);\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.GUI.MRDLSliderBarMaterial\", MRDLSliderBarMaterial);\r\n"]}
@@ -276,43 +276,43 @@ export declare class MRDLSliderThumbMaterial extends PushMaterial {
276
276
  */
277
277
  iridescenceIntensity: number;
278
278
  /**
279
- * @hidden
279
+ * @internal
280
280
  */
281
281
  useGlobalLeftIndex: number;
282
282
  /**
283
- * @hidden
283
+ * @internal
284
284
  */
285
285
  useGlobalRightIndex: number;
286
286
  /**
287
- * @hidden
287
+ * @internal
288
288
  */
289
289
  globalLeftIndexTipProximity: number;
290
290
  /**
291
- * @hidden
291
+ * @internal
292
292
  */
293
293
  globalRightIndexTipProximity: number;
294
294
  /**
295
- * @hidden
295
+ * @internal
296
296
  */
297
297
  globalLeftIndexTipPosition: Vector4;
298
298
  /**
299
- * @hidden
299
+ * @internal
300
300
  */
301
301
  globaRightIndexTipPosition: Vector4;
302
302
  /**
303
- * @hidden
303
+ * @internal
304
304
  */
305
305
  globalLeftThumbTipPosition: Vector4;
306
306
  /**
307
- * @hidden
307
+ * @internal
308
308
  */
309
309
  globalRightThumbTipPosition: Vector4;
310
310
  /**
311
- * @hidden
311
+ * @internal
312
312
  */
313
313
  globalLeftIndexMiddlePosition: Vector4;
314
314
  /**
315
- * @hidden
315
+ * @internal
316
316
  */
317
317
  globalRightIndexMiddlePosition: Vector4;
318
318
  constructor(name: string, scene?: Scene);
@@ -12,7 +12,7 @@ import { EffectFallbacks } from "@babylonjs/core/Materials/effectFallbacks.js";
12
12
  import { Constants } from "@babylonjs/core/Engines/constants.js";
13
13
  import "./shaders/mrdlSliderThumb.fragment.js";
14
14
  import "./shaders/mrdlSliderThumb.vertex.js";
15
- /** @hidden */
15
+ /** @internal */
16
16
  class MRDLSliderThumbMaterialDefines extends MaterialDefines {
17
17
  constructor() {
18
18
  super();
@@ -288,43 +288,43 @@ export class MRDLSliderThumbMaterial extends PushMaterial {
288
288
  */
289
289
  this.iridescenceIntensity = 0;
290
290
  /**
291
- * @hidden
291
+ * @internal
292
292
  */
293
293
  this.useGlobalLeftIndex = 1.0;
294
294
  /**
295
- * @hidden
295
+ * @internal
296
296
  */
297
297
  this.useGlobalRightIndex = 1.0;
298
298
  /**
299
- * @hidden
299
+ * @internal
300
300
  */
301
301
  this.globalLeftIndexTipProximity = 0.0;
302
302
  /**
303
- * @hidden
303
+ * @internal
304
304
  */
305
305
  this.globalRightIndexTipProximity = 0.0;
306
306
  /**
307
- * @hidden
307
+ * @internal
308
308
  */
309
309
  this.globalLeftIndexTipPosition = new Vector4(0.5, 0.0, -0.55, 1.0);
310
310
  /**
311
- * @hidden
311
+ * @internal
312
312
  */
313
313
  this.globaRightIndexTipPosition = new Vector4(0.0, 0.0, 0.0, 1.0);
314
314
  /**
315
- * @hidden
315
+ * @internal
316
316
  */
317
317
  this.globalLeftThumbTipPosition = new Vector4(0.5, 0.0, -0.55, 1.0);
318
318
  /**
319
- * @hidden
319
+ * @internal
320
320
  */
321
321
  this.globalRightThumbTipPosition = new Vector4(0.0, 0.0, 0.0, 1.0);
322
322
  /**
323
- * @hidden
323
+ * @internal
324
324
  */
325
325
  this.globalLeftIndexMiddlePosition = new Vector4(0.5, 0.0, -0.55, 1.0);
326
326
  /**
327
- * @hidden
327
+ * @internal
328
328
  */
329
329
  this.globalRightIndexMiddlePosition = new Vector4(0.0, 0.0, 0.0, 1.0);
330
330
  this.alphaMode = Constants.ALPHA_DISABLE;
@@ -1 +1 @@
1
- {"version":3,"file":"mrdlSliderThumbMaterial.js","sourceRoot":"","sources":["../../../../../../../lts/gui/generated/3D/materials/mrdl/mrdlSliderThumbMaterial.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport type { Nullable } from \"core/types\";\r\nimport { SerializationHelper, serialize } from \"core/Misc/decorators\";\r\nimport type { Matrix } from \"core/Maths/math.vector\";\r\nimport { Vector2, Vector3, Vector4 } from \"core/Maths/math.vector\";\r\nimport type { IAnimatable } from \"core/Animations/animatable.interface\";\r\nimport type { BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport { Texture } from \"core/Materials/Textures/texture\";\r\nimport { MaterialDefines } from \"core/Materials/materialDefines\";\r\nimport { MaterialHelper } from \"core/Materials/materialHelper\";\r\nimport type { IEffectCreationOptions } from \"core/Materials/effect\";\r\nimport { PushMaterial } from \"core/Materials/pushMaterial\";\r\nimport { VertexBuffer } from \"core/Buffers/buffer\";\r\nimport type { AbstractMesh } from \"core/Meshes/abstractMesh\";\r\nimport type { SubMesh } from \"core/Meshes/subMesh\";\r\nimport type { Mesh } from \"core/Meshes/mesh\";\r\nimport type { Scene } from \"core/scene\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { Color4 } from \"core/Maths/math.color\";\r\nimport { EffectFallbacks } from \"core/Materials/effectFallbacks\";\r\nimport { Constants } from \"core/Engines/constants\";\r\n\r\nimport \"./shaders/mrdlSliderThumb.fragment\";\r\nimport \"./shaders/mrdlSliderThumb.vertex\";\r\n\r\n/** @hidden */\r\nclass MRDLSliderThumbMaterialDefines extends MaterialDefines {\r\n /*\r\n \"SKY_ENABLED\", \"BLOB_ENABLE_2\", \"IRIDESCENCE_ENABLED\"\r\n */\r\n public SKY_ENABLED = true;\r\n public BLOB_ENABLE_2 = true;\r\n public IRIDESCENCE_ENABLED = true;\r\n\r\n constructor() {\r\n super();\r\n this._needNormals = true;\r\n this._needUVs = true;\r\n this.rebuild();\r\n }\r\n}\r\n\r\n/**\r\n * Class used to render Slider Thumb material with MRDL\r\n */\r\nexport class MRDLSliderThumbMaterial extends PushMaterial {\r\n /**\r\n * URL pointing to the texture used to define the coloring for the Iridescent Map effect.\r\n */\r\n public static BLUE_GRADIENT_TEXTURE_URL = \"https://assets.babylonjs.com/meshes/MRTK/MRDL/mrtk-mrdl-blue-gradient.png\";\r\n private _blueGradientTexture: Texture;\r\n\r\n /**\r\n * Gets or sets the corner Radius on the slider thumb.\r\n */\r\n @serialize()\r\n public radius = 0.157;\r\n\r\n /**\r\n * Gets or sets the Bevel Front on the slider thumb.\r\n */\r\n @serialize()\r\n public bevelFront = 0.065;\r\n\r\n /**\r\n * Gets or sets the Bevel Front Stretch on the slider thumb.\r\n */\r\n @serialize()\r\n public bevelFrontStretch = 0.077;\r\n\r\n /**\r\n * Gets or sets the Bevel Back on the slider thumb.\r\n */\r\n @serialize()\r\n public bevelBack = 0.031;\r\n\r\n /**\r\n * Gets or sets the Bevel Back Stretch on the slider thumb.\r\n */\r\n @serialize()\r\n public bevelBackStretch = 0;\r\n\r\n /**\r\n * Gets or sets the top left Radii Multiplier.\r\n */\r\n @serialize()\r\n public radiusTopLeft = 1.0;\r\n\r\n /**\r\n * Gets or sets the top left Radii Multiplier.\r\n */\r\n @serialize()\r\n public radiusTopRight = 1.0;\r\n\r\n /**\r\n * Gets or sets the top left Radii Multiplier.\r\n */\r\n @serialize()\r\n public radiusBottomLeft = 1.0;\r\n\r\n /**\r\n * Gets or sets the top left Radii Multiplier.\r\n */\r\n @serialize()\r\n public radiusBottomRight = 1.0;\r\n\r\n /**\r\n * Gets or sets whether Bulge is enabled.\r\n * Default is false.\r\n */\r\n @serialize()\r\n public bulgeEnabled = false;\r\n\r\n /**\r\n * Gets or sets the Bulge Height.\r\n */\r\n @serialize()\r\n public bulgeHeight = -0.323;\r\n\r\n /**\r\n * Gets or sets the Bulge Radius.\r\n */\r\n @serialize()\r\n public bulgeRadius = 0.73;\r\n\r\n /**\r\n * Gets or sets the Sun Intensity.\r\n */\r\n @serialize()\r\n public sunIntensity = 2;\r\n\r\n /**\r\n * Gets or sets the Sun Theta.\r\n */\r\n @serialize()\r\n public sunTheta = 0.937;\r\n\r\n /**\r\n * Gets or sets the Sun Phi.\r\n */\r\n @serialize()\r\n public sunPhi = 0.555;\r\n\r\n /**\r\n * Gets or sets the Indirect Diffuse.\r\n */\r\n @serialize()\r\n public indirectDiffuse = 1;\r\n\r\n /**\r\n * Gets or sets the base albedo.\r\n */\r\n @serialize()\r\n public albedo = new Color4(0.0117647, 0.505882, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the Specular value.\r\n */\r\n @serialize()\r\n public specular = 0;\r\n\r\n /**\r\n * Gets or sets the Shininess value.\r\n */\r\n @serialize()\r\n public shininess = 10;\r\n\r\n /**\r\n * Gets or sets the Sharpness value.\r\n */\r\n @serialize()\r\n public sharpness = 0;\r\n\r\n /**\r\n * Gets or sets the Subsurface value.\r\n */\r\n @serialize()\r\n public subsurface = 0.31;\r\n\r\n /**\r\n * Gets or sets the left gradient color.\r\n */\r\n @serialize()\r\n public leftGradientColor = new Color4(0.0117647, 0.505882, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the right gradient color.\r\n */\r\n @serialize()\r\n public rightGradientColor = new Color4(0.0117647, 0.505882, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the reflection value.\r\n */\r\n @serialize()\r\n public reflection = 0.749;\r\n\r\n /**\r\n * Gets or sets the front reflect value.\r\n */\r\n @serialize()\r\n public frontReflect = 0;\r\n\r\n /**\r\n * Gets or sets the edge reflect value.\r\n */\r\n @serialize()\r\n public edgeReflect = 0.09;\r\n\r\n /**\r\n * Gets or sets the power value.\r\n */\r\n @serialize()\r\n public power = 8.1;\r\n\r\n /**\r\n * Gets or sets the sky color.\r\n */\r\n @serialize()\r\n public skyColor = new Color4(0.0117647, 0.960784, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the horizon color.\r\n */\r\n @serialize()\r\n public horizonColor = new Color4(0.0117647, 0.333333, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the ground color.\r\n */\r\n @serialize()\r\n public groundColor = new Color4(0, 0.254902, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the horizon power value.\r\n */\r\n @serialize()\r\n public horizonPower = 1;\r\n\r\n /**\r\n * Gets or sets the finger occlusion width value.\r\n */\r\n @serialize()\r\n public width = 0.02;\r\n\r\n /**\r\n * Gets or sets the finger occlusion fuzz value.\r\n */\r\n @serialize()\r\n public fuzz = 0.5;\r\n\r\n /**\r\n * Gets or sets the minimum finger occlusion fuzz value.\r\n */\r\n @serialize()\r\n public minFuzz = 0.001;\r\n\r\n /**\r\n * Gets or sets the finger occlusion clip fade value.\r\n */\r\n @serialize()\r\n public clipFade = 0.01;\r\n\r\n /**\r\n * Gets or sets the hue shift value.\r\n */\r\n @serialize()\r\n public hueShift = 0;\r\n\r\n /**\r\n * Gets or sets the saturation shift value.\r\n */\r\n @serialize()\r\n public saturationShift = 0;\r\n\r\n /**\r\n * Gets or sets the value shift.\r\n */\r\n @serialize()\r\n public valueShift = 0;\r\n\r\n /**\r\n * Gets or sets the position of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobPosition = new Vector3(0, 0, 0.1);\r\n\r\n /**\r\n * Gets or sets the intensity of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobIntensity = 0.5;\r\n\r\n /**\r\n * Gets or sets the near size of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobNearSize = 0.01;\r\n\r\n /**\r\n * Gets or sets the far size of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobFarSize = 0.03;\r\n\r\n /**\r\n * Gets or sets the distance considered \"near\" to the mesh, which controls the size of the hover glow effect (see blobNearSize).\r\n */\r\n @serialize()\r\n public blobNearDistance = 0;\r\n\r\n /**\r\n * Gets or sets the distance considered \"far\" from the mesh, which controls the size of the hover glow effect (see blobFarSize).\r\n */\r\n @serialize()\r\n public blobFarDistance = 0.08;\r\n\r\n /**\r\n * Gets or sets the length of the hover glow effect fade.\r\n */\r\n @serialize()\r\n public blobFadeLength = 0.576;\r\n\r\n /**\r\n * Gets or sets the progress of the hover glow effect selection animation corresponding to the left pointer (0.0 - 1.0).\r\n */\r\n @serialize()\r\n public blobPulse = 0;\r\n\r\n /**\r\n * Gets or sets the opacity of the hover glow effect corresponding to the left pointer (0.0 - 1.0). Default is 0.\r\n */\r\n @serialize()\r\n public blobFade = 1;\r\n\r\n /**\r\n * Gets or sets the position of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobPosition2 = new Vector3(0.2, 0, 0.1);\r\n\r\n /**\r\n * Gets or sets the size of the hover glow effect when the right pointer is considered \"near\" to the mesh (see blobNearDistance).\r\n */\r\n @serialize()\r\n public blobNearSize2 = 0.01;\r\n\r\n /**\r\n * Gets or sets the progress of the hover glow effect selection animation corresponding to the right pointer (0.0 - 1.0).\r\n */\r\n @serialize()\r\n public blobPulse2 = 0;\r\n\r\n /**\r\n * Gets or sets the opacity of the hover glow effect corresponding to the right pointer (0.0 - 1.0). Default is 1.\r\n */\r\n @serialize()\r\n public blobFade2 = 1;\r\n\r\n /**\r\n * Gets or sets the texture of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobTexture = new Texture(\"\", this.getScene());\r\n\r\n /**\r\n * Gets or sets the finger position for left index.\r\n */\r\n @serialize()\r\n public leftIndexPosition = new Vector3(0, 0, 1);\r\n\r\n /**\r\n * Gets or sets the finger position for right index.\r\n */\r\n @serialize()\r\n public rightIndexPosition = new Vector3(-1, -1, -1);\r\n\r\n /**\r\n * Gets or sets the finger position for left index middle position.\r\n */\r\n @serialize()\r\n public leftIndexMiddlePosition = new Vector3(0, 0, 0);\r\n\r\n /**\r\n * Gets or sets the finger position for right index middle position.\r\n */\r\n @serialize()\r\n public rightIndexMiddlePosition = new Vector3(0, 0, 0);\r\n\r\n /**\r\n * Gets or sets the Decal Scale for XY.\r\n */\r\n @serialize()\r\n public decalScaleXY = new Vector2(1.5, 1.5);\r\n\r\n /**\r\n * Gets or sets decalFrontOnly\r\n * Default is true\r\n */\r\n @serialize()\r\n public decalFrontOnly = true;\r\n\r\n /**\r\n * Gets or sets the Rim Light intensity.\r\n */\r\n @serialize()\r\n public rimIntensity = 0.287;\r\n\r\n /**\r\n * Gets or sets the Rim Light hue shift value.\r\n */\r\n @serialize()\r\n public rimHueShift = 0;\r\n\r\n /**\r\n * Gets or sets the Rim Light saturation shift value.\r\n */\r\n @serialize()\r\n public rimSaturationShift = 0;\r\n\r\n /**\r\n * Gets or sets the Rim Light value shift.\r\n */\r\n @serialize()\r\n public rimValueShift = -1;\r\n\r\n /**\r\n * Gets or sets the intensity of the iridescence effect.\r\n */\r\n @serialize()\r\n public iridescenceIntensity = 0;\r\n\r\n /**\r\n * @hidden\r\n */\r\n public useGlobalLeftIndex = 1.0;\r\n\r\n /**\r\n * @hidden\r\n */\r\n public useGlobalRightIndex = 1.0;\r\n\r\n /**\r\n * @hidden\r\n */\r\n public globalLeftIndexTipProximity = 0.0;\r\n\r\n /**\r\n * @hidden\r\n */\r\n public globalRightIndexTipProximity = 0.0;\r\n\r\n /**\r\n * @hidden\r\n */\r\n public globalLeftIndexTipPosition = new Vector4(0.5, 0.0, -0.55, 1.0);\r\n\r\n /**\r\n * @hidden\r\n */\r\n public globaRightIndexTipPosition = new Vector4(0.0, 0.0, 0.0, 1.0);\r\n\r\n /**\r\n * @hidden\r\n */\r\n public globalLeftThumbTipPosition = new Vector4(0.5, 0.0, -0.55, 1.0);\r\n\r\n /**\r\n * @hidden\r\n */\r\n public globalRightThumbTipPosition = new Vector4(0.0, 0.0, 0.0, 1.0);\r\n\r\n /**\r\n * @hidden\r\n */\r\n public globalLeftIndexMiddlePosition = new Vector4(0.5, 0.0, -0.55, 1.0);\r\n\r\n /**\r\n * @hidden\r\n */\r\n public globalRightIndexMiddlePosition = new Vector4(0.0, 0.0, 0.0, 1.0);\r\n\r\n constructor(name: string, scene?: Scene) {\r\n super(name, scene);\r\n this.alphaMode = Constants.ALPHA_DISABLE;\r\n this.backFaceCulling = false;\r\n this._blueGradientTexture = new Texture(MRDLSliderThumbMaterial.BLUE_GRADIENT_TEXTURE_URL, scene, true, false, Texture.NEAREST_SAMPLINGMODE);\r\n }\r\n\r\n public needAlphaBlending(): boolean {\r\n return false;\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): 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 MRDLSliderThumbMaterialDefines();\r\n }\r\n\r\n const defines = <MRDLSliderThumbMaterialDefines>subMesh.materialDefines;\r\n const scene = this.getScene();\r\n\r\n if (this._isReadyForSubMesh(subMesh)) {\r\n return true;\r\n }\r\n\r\n const engine = scene.getEngine();\r\n\r\n // Attribs\r\n MaterialHelper.PrepareDefinesForAttributes(mesh, defines, false, false);\r\n\r\n // Get correct effect\r\n if (defines.isDirty) {\r\n defines.markAsProcessed();\r\n\r\n scene.resetCachedMaterial();\r\n\r\n // Fallbacks\r\n const fallbacks = new EffectFallbacks();\r\n if (defines.FOG) {\r\n fallbacks.addFallback(1, \"FOG\");\r\n }\r\n\r\n MaterialHelper.HandleFallbacksForShadows(defines, fallbacks);\r\n\r\n defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;\r\n\r\n //Attributes\r\n const 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 if (defines.TANGENT) {\r\n attribs.push(VertexBuffer.TangentKind);\r\n }\r\n\r\n MaterialHelper.PrepareAttributesForInstances(attribs, defines);\r\n\r\n // Legacy browser patch\r\n const shaderName = \"mrdlSliderThumb\";\r\n const join = defines.toString();\r\n\r\n const uniforms = [\r\n \"world\",\r\n \"viewProjection\",\r\n \"cameraPosition\",\r\n \"_Radius_\",\r\n \"_Bevel_Front_\",\r\n \"_Bevel_Front_Stretch_\",\r\n \"_Bevel_Back_\",\r\n \"_Bevel_Back_Stretch_\",\r\n \"_Radius_Top_Left_\",\r\n \"_Radius_Top_Right_\",\r\n \"_Radius_Bottom_Left_\",\r\n \"_Radius_Bottom_Right_\",\r\n \"_Bulge_Enabled_\",\r\n \"_Bulge_Height_\",\r\n \"_Bulge_Radius_\",\r\n \"_Sun_Intensity_\",\r\n \"_Sun_Theta_\",\r\n \"_Sun_Phi_\",\r\n \"_Indirect_Diffuse_\",\r\n \"_Albedo_\",\r\n \"_Specular_\",\r\n \"_Shininess_\",\r\n \"_Sharpness_\",\r\n \"_Subsurface_\",\r\n \"_Left_Color_\",\r\n \"_Right_Color_\",\r\n \"_Reflection_\",\r\n \"_Front_Reflect_\",\r\n \"_Edge_Reflect_\",\r\n \"_Power_\",\r\n \"_Sky_Color_\",\r\n \"_Horizon_Color_\",\r\n \"_Ground_Color_\",\r\n \"_Horizon_Power_\",\r\n \"_Reflection_Map_\",\r\n \"_Indirect_Environment_\",\r\n \"_Width_\",\r\n \"_Fuzz_\",\r\n \"_Min_Fuzz_\",\r\n \"_Clip_Fade_\",\r\n \"_Hue_Shift_\",\r\n \"_Saturation_Shift_\",\r\n \"_Value_Shift_\",\r\n \"_Blob_Position_\",\r\n \"_Blob_Intensity_\",\r\n \"_Blob_Near_Size_\",\r\n \"_Blob_Far_Size_\",\r\n \"_Blob_Near_Distance_\",\r\n \"_Blob_Far_Distance_\",\r\n \"_Blob_Fade_Length_\",\r\n \"_Blob_Pulse_\",\r\n \"_Blob_Fade_\",\r\n \"_Blob_Texture_\",\r\n \"_Blob_Position_2_\",\r\n \"_Blob_Near_Size_2_\",\r\n \"_Blob_Pulse_2_\",\r\n \"_Blob_Fade_2_\",\r\n \"_Left_Index_Pos_\",\r\n \"_Right_Index_Pos_\",\r\n \"_Left_Index_Middle_Pos_\",\r\n \"_Right_Index_Middle_Pos_\",\r\n \"_Decal_\",\r\n \"_Decal_Scale_XY_\",\r\n \"_Decal_Front_Only_\",\r\n \"_Rim_Intensity_\",\r\n \"_Rim_Texture_\",\r\n \"_Rim_Hue_Shift_\",\r\n \"_Rim_Saturation_Shift_\",\r\n \"_Rim_Value_Shift_\",\r\n \"_Iridescence_Intensity_\",\r\n \"_Iridescence_Texture_\",\r\n \"Use_Global_Left_Index\",\r\n \"Use_Global_Right_Index\",\r\n \"Global_Left_Index_Tip_Position\",\r\n \"Global_Right_Index_Tip_Position\",\r\n \"Global_Left_Thumb_Tip_Position\",\r\n \"Global_Right_Thumb_Tip_Position\",\r\n \"Global_Left_Index_Middle_Position;\",\r\n \"Global_Right_Index_Middle_Position\",\r\n \"Global_Left_Index_Tip_Proximity\",\r\n \"Global_Right_Index_Tip_Proximity\",\r\n ];\r\n const samplers: string[] = [\"_Rim_Texture_\", \"_Iridescence_Texture_\"];\r\n const 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: 4,\r\n });\r\n\r\n subMesh.setEffect(\r\n scene.getEngine().createEffect(\r\n 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: 4 },\r\n },\r\n engine\r\n ),\r\n defines\r\n );\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 const defines = <MRDLSliderThumbMaterialDefines>subMesh.materialDefines;\r\n if (!defines) {\r\n return;\r\n }\r\n\r\n const effect = subMesh.effect;\r\n if (!effect) {\r\n return;\r\n }\r\n\r\n this._activeEffect = effect;\r\n\r\n // Matrices\r\n this.bindOnlyWorldMatrix(world);\r\n this._activeEffect.setMatrix(\"viewProjection\", this.getScene().getTransformMatrix());\r\n this._activeEffect.setVector3(\"cameraPosition\", this.getScene().activeCamera!.position);\r\n\r\n // \"Round Rect\"\r\n this._activeEffect.setFloat(\"_Radius_\", this.radius);\r\n this._activeEffect.setFloat(\"_Bevel_Front_\", this.bevelFront);\r\n this._activeEffect.setFloat(\"_Bevel_Front_Stretch_\", this.bevelFrontStretch);\r\n this._activeEffect.setFloat(\"_Bevel_Back_\", this.bevelBack);\r\n this._activeEffect.setFloat(\"_Bevel_Back_Stretch_\", this.bevelBackStretch);\r\n\r\n // \"Radii Multipliers\"\r\n this._activeEffect.setFloat(\"_Radius_Top_Left_\", this.radiusTopLeft);\r\n this._activeEffect.setFloat(\"_Radius_Top_Right_\", this.radiusTopRight);\r\n this._activeEffect.setFloat(\"_Radius_Bottom_Left_\", this.radiusBottomLeft);\r\n this._activeEffect.setFloat(\"_Radius_Bottom_Right_\", this.radiusBottomRight);\r\n\r\n // \"Bulge\"\r\n this._activeEffect.setFloat(\"_Bulge_Enabled_\", this.bulgeEnabled ? 1.0 : 0.0);\r\n this._activeEffect.setFloat(\"_Bulge_Height_\", this.bulgeHeight);\r\n this._activeEffect.setFloat(\"_Bulge_Radius_\", this.bulgeRadius);\r\n\r\n // \"Sun\"\r\n this._activeEffect.setFloat(\"_Sun_Intensity_\", this.sunIntensity);\r\n this._activeEffect.setFloat(\"_Sun_Theta_\", this.sunTheta);\r\n this._activeEffect.setFloat(\"_Sun_Phi_\", this.sunPhi);\r\n this._activeEffect.setFloat(\"_Indirect_Diffuse_\", this.indirectDiffuse);\r\n\r\n // \"Diffuse And Specular\"\r\n this._activeEffect.setDirectColor4(\"_Albedo_\", this.albedo);\r\n this._activeEffect.setFloat(\"_Specular_\", this.specular);\r\n this._activeEffect.setFloat(\"_Shininess_\", this.shininess);\r\n this._activeEffect.setFloat(\"_Sharpness_\", this.sharpness);\r\n this._activeEffect.setFloat(\"_Subsurface_\", this.subsurface);\r\n\r\n // \"Gradient\"\r\n this._activeEffect.setDirectColor4(\"_Left_Color_\", this.leftGradientColor);\r\n this._activeEffect.setDirectColor4(\"_Right_Color_\", this.rightGradientColor);\r\n\r\n // \"Reflection\"\r\n this._activeEffect.setFloat(\"_Reflection_\", this.reflection);\r\n this._activeEffect.setFloat(\"_Front_Reflect_\", this.frontReflect);\r\n this._activeEffect.setFloat(\"_Edge_Reflect_\", this.edgeReflect);\r\n this._activeEffect.setFloat(\"_Power_\", this.power);\r\n\r\n // \"Sky Environment\"\r\n //define SKY_ENABLED true;\r\n this._activeEffect.setDirectColor4(\"_Sky_Color_\", this.skyColor);\r\n this._activeEffect.setDirectColor4(\"_Horizon_Color_\", this.horizonColor);\r\n this._activeEffect.setDirectColor4(\"_Ground_Color_\", this.groundColor);\r\n this._activeEffect.setFloat(\"_Horizon_Power_\", this.horizonPower);\r\n\r\n // \"Mapped Environment\"\r\n //define ENV_ENABLE false;\r\n this._activeEffect.setTexture(\"_Reflection_Map_\", new Texture(\"\", this.getScene()));\r\n this._activeEffect.setTexture(\"_Indirect_Environment_\", new Texture(\"\", this.getScene()));\r\n\r\n // \"FingerOcclusion\"\r\n //define OCCLUSION_ENABLED false;\r\n this._activeEffect.setFloat(\"_Width_\", this.width);\r\n this._activeEffect.setFloat(\"_Fuzz_\", this.fuzz);\r\n this._activeEffect.setFloat(\"_Min_Fuzz_\", this.minFuzz);\r\n this._activeEffect.setFloat(\"_Clip_Fade_\", this.clipFade);\r\n\r\n // \"View Based Color Shift\"\r\n this._activeEffect.setFloat(\"_Hue_Shift_\", this.hueShift);\r\n this._activeEffect.setFloat(\"_Saturation_Shift_\", this.saturationShift);\r\n this._activeEffect.setFloat(\"_Value_Shift_\", this.valueShift);\r\n\r\n // \"Blob\"\r\n //define BLOB_ENABLE false;\r\n this._activeEffect.setVector3(\"_Blob_Position_\", this.blobPosition);\r\n this._activeEffect.setFloat(\"_Blob_Intensity_\", this.blobIntensity);\r\n this._activeEffect.setFloat(\"_Blob_Near_Size_\", this.blobNearSize);\r\n this._activeEffect.setFloat(\"_Blob_Far_Size_\", this.blobFarSize);\r\n this._activeEffect.setFloat(\"_Blob_Near_Distance_\", this.blobNearDistance);\r\n this._activeEffect.setFloat(\"_Blob_Far_Distance_\", this.blobFarDistance);\r\n this._activeEffect.setFloat(\"_Blob_Fade_Length_\", this.blobFadeLength);\r\n this._activeEffect.setFloat(\"_Blob_Pulse_\", this.blobPulse);\r\n this._activeEffect.setFloat(\"_Blob_Fade_\", this.blobFade);\r\n\r\n // \"Blob Texture\"\r\n this._activeEffect.setTexture(\"_Blob_Texture_\", this.blobTexture);\r\n\r\n // \"Blob 2\"\r\n //define BLOB_ENABLE_2 true;\r\n this._activeEffect.setVector3(\"_Blob_Position_2_\", this.blobPosition2);\r\n this._activeEffect.setFloat(\"_Blob_Near_Size_2_\", this.blobNearSize2);\r\n this._activeEffect.setFloat(\"_Blob_Pulse_2_\", this.blobPulse2);\r\n this._activeEffect.setFloat(\"_Blob_Fade_2_\", this.blobFade2);\r\n\r\n // \"Finger Positions\"\r\n this._activeEffect.setVector3(\"_Left_Index_Pos_\", this.leftIndexPosition);\r\n this._activeEffect.setVector3(\"_Right_Index_Pos_\", this.rightIndexPosition);\r\n this._activeEffect.setVector3(\"_Left_Index_Middle_Pos_\", this.leftIndexMiddlePosition);\r\n this._activeEffect.setVector3(\"_Right_Index_Middle_Pos_\", this.rightIndexMiddlePosition);\r\n\r\n // \"Decal Texture\"\r\n //define DECAL_ENABLE false;\r\n this._activeEffect.setTexture(\"_Decal_\", new Texture(\"\", this.getScene()));\r\n this._activeEffect.setVector2(\"_Decal_Scale_XY_\", this.decalScaleXY);\r\n this._activeEffect.setFloat(\"_Decal_Front_Only_\", this.decalFrontOnly ? 1.0 : 0.0);\r\n\r\n // \"Rim Light\"\r\n this._activeEffect.setFloat(\"_Rim_Intensity_\", this.rimIntensity);\r\n this._activeEffect.setTexture(\"_Rim_Texture_\", this._blueGradientTexture);\r\n this._activeEffect.setFloat(\"_Rim_Hue_Shift_\", this.rimHueShift);\r\n this._activeEffect.setFloat(\"_Rim_Saturation_Shift_\", this.rimSaturationShift);\r\n this._activeEffect.setFloat(\"_Rim_Value_Shift_\", this.rimValueShift);\r\n\r\n // \"Iridescence\"\r\n //define IRIDESCENCE_ENABLED true;\r\n this._activeEffect.setFloat(\"_Iridescence_Intensity_\", this.iridescenceIntensity);\r\n this._activeEffect.setTexture(\"_Iridescence_Texture_\", this._blueGradientTexture);\r\n\r\n // Global inputs\r\n this._activeEffect.setFloat(\"Use_Global_Left_Index\", this.useGlobalLeftIndex);\r\n this._activeEffect.setFloat(\"Use_Global_Right_Index\", this.useGlobalRightIndex);\r\n\r\n this._activeEffect.setVector4(\"Global_Left_Index_Tip_Position\", this.globalLeftIndexTipPosition);\r\n this._activeEffect.setVector4(\"Global_Right_Index_Tip_Position\", this.globaRightIndexTipPosition);\r\n\r\n this._activeEffect.setVector4(\"Global_Left_Thumb_Tip_Position\", this.globalLeftThumbTipPosition);\r\n this._activeEffect.setVector4(\"Global_Right_Thumb_Tip_Position\", this.globalRightThumbTipPosition);\r\n\r\n this._activeEffect.setVector4(\"Global_Left_Index_Middle_Position\", this.globalLeftIndexMiddlePosition);\r\n this._activeEffect.setVector4(\"Global_Right_Index_Middle_Position\", this.globalRightIndexMiddlePosition);\r\n\r\n this._activeEffect.setFloat(\"Global_Left_Index_Tip_Proximity\", this.globalLeftIndexTipProximity);\r\n this._activeEffect.setFloat(\"Global_Right_Index_Tip_Proximity\", this.globalRightIndexTipProximity);\r\n\r\n this._afterBind(mesh, this._activeEffect);\r\n }\r\n\r\n /**\r\n * Get the list of animatables in the material.\r\n * @returns the list of animatables object used in the material\r\n */\r\n public getAnimatables(): IAnimatable[] {\r\n return [];\r\n }\r\n\r\n public dispose(forceDisposeEffect?: boolean): void {\r\n super.dispose(forceDisposeEffect);\r\n }\r\n\r\n public clone(name: string): MRDLSliderThumbMaterial {\r\n return SerializationHelper.Clone(() => new MRDLSliderThumbMaterial(name, this.getScene()), this);\r\n }\r\n\r\n public serialize(): any {\r\n const serializationObject = super.serialize();\r\n serializationObject.customType = \"BABYLON.MRDLSliderThumbMaterial\";\r\n return serializationObject;\r\n }\r\n\r\n public getClassName(): string {\r\n return \"MRDLSliderThumbMaterial\";\r\n }\r\n\r\n // Statics\r\n public static Parse(source: any, scene: Scene, rootUrl: string): MRDLSliderThumbMaterial {\r\n return SerializationHelper.Parse(() => new MRDLSliderThumbMaterial(source.name, scene), source, scene, rootUrl);\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.GUI.MRDLSliderThumbMaterial\", MRDLSliderThumbMaterial);\r\n"]}
1
+ {"version":3,"file":"mrdlSliderThumbMaterial.js","sourceRoot":"","sources":["../../../../../../../lts/gui/generated/3D/materials/mrdl/mrdlSliderThumbMaterial.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport type { Nullable } from \"core/types\";\r\nimport { SerializationHelper, serialize } from \"core/Misc/decorators\";\r\nimport type { Matrix } from \"core/Maths/math.vector\";\r\nimport { Vector2, Vector3, Vector4 } from \"core/Maths/math.vector\";\r\nimport type { IAnimatable } from \"core/Animations/animatable.interface\";\r\nimport type { BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport { Texture } from \"core/Materials/Textures/texture\";\r\nimport { MaterialDefines } from \"core/Materials/materialDefines\";\r\nimport { MaterialHelper } from \"core/Materials/materialHelper\";\r\nimport type { IEffectCreationOptions } from \"core/Materials/effect\";\r\nimport { PushMaterial } from \"core/Materials/pushMaterial\";\r\nimport { VertexBuffer } from \"core/Buffers/buffer\";\r\nimport type { AbstractMesh } from \"core/Meshes/abstractMesh\";\r\nimport type { SubMesh } from \"core/Meshes/subMesh\";\r\nimport type { Mesh } from \"core/Meshes/mesh\";\r\nimport type { Scene } from \"core/scene\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { Color4 } from \"core/Maths/math.color\";\r\nimport { EffectFallbacks } from \"core/Materials/effectFallbacks\";\r\nimport { Constants } from \"core/Engines/constants\";\r\n\r\nimport \"./shaders/mrdlSliderThumb.fragment\";\r\nimport \"./shaders/mrdlSliderThumb.vertex\";\r\n\r\n/** @internal */\r\nclass MRDLSliderThumbMaterialDefines extends MaterialDefines {\r\n /*\r\n \"SKY_ENABLED\", \"BLOB_ENABLE_2\", \"IRIDESCENCE_ENABLED\"\r\n */\r\n public SKY_ENABLED = true;\r\n public BLOB_ENABLE_2 = true;\r\n public IRIDESCENCE_ENABLED = true;\r\n\r\n constructor() {\r\n super();\r\n this._needNormals = true;\r\n this._needUVs = true;\r\n this.rebuild();\r\n }\r\n}\r\n\r\n/**\r\n * Class used to render Slider Thumb material with MRDL\r\n */\r\nexport class MRDLSliderThumbMaterial extends PushMaterial {\r\n /**\r\n * URL pointing to the texture used to define the coloring for the Iridescent Map effect.\r\n */\r\n public static BLUE_GRADIENT_TEXTURE_URL = \"https://assets.babylonjs.com/meshes/MRTK/MRDL/mrtk-mrdl-blue-gradient.png\";\r\n private _blueGradientTexture: Texture;\r\n\r\n /**\r\n * Gets or sets the corner Radius on the slider thumb.\r\n */\r\n @serialize()\r\n public radius = 0.157;\r\n\r\n /**\r\n * Gets or sets the Bevel Front on the slider thumb.\r\n */\r\n @serialize()\r\n public bevelFront = 0.065;\r\n\r\n /**\r\n * Gets or sets the Bevel Front Stretch on the slider thumb.\r\n */\r\n @serialize()\r\n public bevelFrontStretch = 0.077;\r\n\r\n /**\r\n * Gets or sets the Bevel Back on the slider thumb.\r\n */\r\n @serialize()\r\n public bevelBack = 0.031;\r\n\r\n /**\r\n * Gets or sets the Bevel Back Stretch on the slider thumb.\r\n */\r\n @serialize()\r\n public bevelBackStretch = 0;\r\n\r\n /**\r\n * Gets or sets the top left Radii Multiplier.\r\n */\r\n @serialize()\r\n public radiusTopLeft = 1.0;\r\n\r\n /**\r\n * Gets or sets the top left Radii Multiplier.\r\n */\r\n @serialize()\r\n public radiusTopRight = 1.0;\r\n\r\n /**\r\n * Gets or sets the top left Radii Multiplier.\r\n */\r\n @serialize()\r\n public radiusBottomLeft = 1.0;\r\n\r\n /**\r\n * Gets or sets the top left Radii Multiplier.\r\n */\r\n @serialize()\r\n public radiusBottomRight = 1.0;\r\n\r\n /**\r\n * Gets or sets whether Bulge is enabled.\r\n * Default is false.\r\n */\r\n @serialize()\r\n public bulgeEnabled = false;\r\n\r\n /**\r\n * Gets or sets the Bulge Height.\r\n */\r\n @serialize()\r\n public bulgeHeight = -0.323;\r\n\r\n /**\r\n * Gets or sets the Bulge Radius.\r\n */\r\n @serialize()\r\n public bulgeRadius = 0.73;\r\n\r\n /**\r\n * Gets or sets the Sun Intensity.\r\n */\r\n @serialize()\r\n public sunIntensity = 2;\r\n\r\n /**\r\n * Gets or sets the Sun Theta.\r\n */\r\n @serialize()\r\n public sunTheta = 0.937;\r\n\r\n /**\r\n * Gets or sets the Sun Phi.\r\n */\r\n @serialize()\r\n public sunPhi = 0.555;\r\n\r\n /**\r\n * Gets or sets the Indirect Diffuse.\r\n */\r\n @serialize()\r\n public indirectDiffuse = 1;\r\n\r\n /**\r\n * Gets or sets the base albedo.\r\n */\r\n @serialize()\r\n public albedo = new Color4(0.0117647, 0.505882, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the Specular value.\r\n */\r\n @serialize()\r\n public specular = 0;\r\n\r\n /**\r\n * Gets or sets the Shininess value.\r\n */\r\n @serialize()\r\n public shininess = 10;\r\n\r\n /**\r\n * Gets or sets the Sharpness value.\r\n */\r\n @serialize()\r\n public sharpness = 0;\r\n\r\n /**\r\n * Gets or sets the Subsurface value.\r\n */\r\n @serialize()\r\n public subsurface = 0.31;\r\n\r\n /**\r\n * Gets or sets the left gradient color.\r\n */\r\n @serialize()\r\n public leftGradientColor = new Color4(0.0117647, 0.505882, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the right gradient color.\r\n */\r\n @serialize()\r\n public rightGradientColor = new Color4(0.0117647, 0.505882, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the reflection value.\r\n */\r\n @serialize()\r\n public reflection = 0.749;\r\n\r\n /**\r\n * Gets or sets the front reflect value.\r\n */\r\n @serialize()\r\n public frontReflect = 0;\r\n\r\n /**\r\n * Gets or sets the edge reflect value.\r\n */\r\n @serialize()\r\n public edgeReflect = 0.09;\r\n\r\n /**\r\n * Gets or sets the power value.\r\n */\r\n @serialize()\r\n public power = 8.1;\r\n\r\n /**\r\n * Gets or sets the sky color.\r\n */\r\n @serialize()\r\n public skyColor = new Color4(0.0117647, 0.960784, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the horizon color.\r\n */\r\n @serialize()\r\n public horizonColor = new Color4(0.0117647, 0.333333, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the ground color.\r\n */\r\n @serialize()\r\n public groundColor = new Color4(0, 0.254902, 0.996078, 1);\r\n\r\n /**\r\n * Gets or sets the horizon power value.\r\n */\r\n @serialize()\r\n public horizonPower = 1;\r\n\r\n /**\r\n * Gets or sets the finger occlusion width value.\r\n */\r\n @serialize()\r\n public width = 0.02;\r\n\r\n /**\r\n * Gets or sets the finger occlusion fuzz value.\r\n */\r\n @serialize()\r\n public fuzz = 0.5;\r\n\r\n /**\r\n * Gets or sets the minimum finger occlusion fuzz value.\r\n */\r\n @serialize()\r\n public minFuzz = 0.001;\r\n\r\n /**\r\n * Gets or sets the finger occlusion clip fade value.\r\n */\r\n @serialize()\r\n public clipFade = 0.01;\r\n\r\n /**\r\n * Gets or sets the hue shift value.\r\n */\r\n @serialize()\r\n public hueShift = 0;\r\n\r\n /**\r\n * Gets or sets the saturation shift value.\r\n */\r\n @serialize()\r\n public saturationShift = 0;\r\n\r\n /**\r\n * Gets or sets the value shift.\r\n */\r\n @serialize()\r\n public valueShift = 0;\r\n\r\n /**\r\n * Gets or sets the position of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobPosition = new Vector3(0, 0, 0.1);\r\n\r\n /**\r\n * Gets or sets the intensity of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobIntensity = 0.5;\r\n\r\n /**\r\n * Gets or sets the near size of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobNearSize = 0.01;\r\n\r\n /**\r\n * Gets or sets the far size of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobFarSize = 0.03;\r\n\r\n /**\r\n * Gets or sets the distance considered \"near\" to the mesh, which controls the size of the hover glow effect (see blobNearSize).\r\n */\r\n @serialize()\r\n public blobNearDistance = 0;\r\n\r\n /**\r\n * Gets or sets the distance considered \"far\" from the mesh, which controls the size of the hover glow effect (see blobFarSize).\r\n */\r\n @serialize()\r\n public blobFarDistance = 0.08;\r\n\r\n /**\r\n * Gets or sets the length of the hover glow effect fade.\r\n */\r\n @serialize()\r\n public blobFadeLength = 0.576;\r\n\r\n /**\r\n * Gets or sets the progress of the hover glow effect selection animation corresponding to the left pointer (0.0 - 1.0).\r\n */\r\n @serialize()\r\n public blobPulse = 0;\r\n\r\n /**\r\n * Gets or sets the opacity of the hover glow effect corresponding to the left pointer (0.0 - 1.0). Default is 0.\r\n */\r\n @serialize()\r\n public blobFade = 1;\r\n\r\n /**\r\n * Gets or sets the position of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobPosition2 = new Vector3(0.2, 0, 0.1);\r\n\r\n /**\r\n * Gets or sets the size of the hover glow effect when the right pointer is considered \"near\" to the mesh (see blobNearDistance).\r\n */\r\n @serialize()\r\n public blobNearSize2 = 0.01;\r\n\r\n /**\r\n * Gets or sets the progress of the hover glow effect selection animation corresponding to the right pointer (0.0 - 1.0).\r\n */\r\n @serialize()\r\n public blobPulse2 = 0;\r\n\r\n /**\r\n * Gets or sets the opacity of the hover glow effect corresponding to the right pointer (0.0 - 1.0). Default is 1.\r\n */\r\n @serialize()\r\n public blobFade2 = 1;\r\n\r\n /**\r\n * Gets or sets the texture of the hover glow effect.\r\n */\r\n @serialize()\r\n public blobTexture = new Texture(\"\", this.getScene());\r\n\r\n /**\r\n * Gets or sets the finger position for left index.\r\n */\r\n @serialize()\r\n public leftIndexPosition = new Vector3(0, 0, 1);\r\n\r\n /**\r\n * Gets or sets the finger position for right index.\r\n */\r\n @serialize()\r\n public rightIndexPosition = new Vector3(-1, -1, -1);\r\n\r\n /**\r\n * Gets or sets the finger position for left index middle position.\r\n */\r\n @serialize()\r\n public leftIndexMiddlePosition = new Vector3(0, 0, 0);\r\n\r\n /**\r\n * Gets or sets the finger position for right index middle position.\r\n */\r\n @serialize()\r\n public rightIndexMiddlePosition = new Vector3(0, 0, 0);\r\n\r\n /**\r\n * Gets or sets the Decal Scale for XY.\r\n */\r\n @serialize()\r\n public decalScaleXY = new Vector2(1.5, 1.5);\r\n\r\n /**\r\n * Gets or sets decalFrontOnly\r\n * Default is true\r\n */\r\n @serialize()\r\n public decalFrontOnly = true;\r\n\r\n /**\r\n * Gets or sets the Rim Light intensity.\r\n */\r\n @serialize()\r\n public rimIntensity = 0.287;\r\n\r\n /**\r\n * Gets or sets the Rim Light hue shift value.\r\n */\r\n @serialize()\r\n public rimHueShift = 0;\r\n\r\n /**\r\n * Gets or sets the Rim Light saturation shift value.\r\n */\r\n @serialize()\r\n public rimSaturationShift = 0;\r\n\r\n /**\r\n * Gets or sets the Rim Light value shift.\r\n */\r\n @serialize()\r\n public rimValueShift = -1;\r\n\r\n /**\r\n * Gets or sets the intensity of the iridescence effect.\r\n */\r\n @serialize()\r\n public iridescenceIntensity = 0;\r\n\r\n /**\r\n * @internal\r\n */\r\n public useGlobalLeftIndex = 1.0;\r\n\r\n /**\r\n * @internal\r\n */\r\n public useGlobalRightIndex = 1.0;\r\n\r\n /**\r\n * @internal\r\n */\r\n public globalLeftIndexTipProximity = 0.0;\r\n\r\n /**\r\n * @internal\r\n */\r\n public globalRightIndexTipProximity = 0.0;\r\n\r\n /**\r\n * @internal\r\n */\r\n public globalLeftIndexTipPosition = new Vector4(0.5, 0.0, -0.55, 1.0);\r\n\r\n /**\r\n * @internal\r\n */\r\n public globaRightIndexTipPosition = new Vector4(0.0, 0.0, 0.0, 1.0);\r\n\r\n /**\r\n * @internal\r\n */\r\n public globalLeftThumbTipPosition = new Vector4(0.5, 0.0, -0.55, 1.0);\r\n\r\n /**\r\n * @internal\r\n */\r\n public globalRightThumbTipPosition = new Vector4(0.0, 0.0, 0.0, 1.0);\r\n\r\n /**\r\n * @internal\r\n */\r\n public globalLeftIndexMiddlePosition = new Vector4(0.5, 0.0, -0.55, 1.0);\r\n\r\n /**\r\n * @internal\r\n */\r\n public globalRightIndexMiddlePosition = new Vector4(0.0, 0.0, 0.0, 1.0);\r\n\r\n constructor(name: string, scene?: Scene) {\r\n super(name, scene);\r\n this.alphaMode = Constants.ALPHA_DISABLE;\r\n this.backFaceCulling = false;\r\n this._blueGradientTexture = new Texture(MRDLSliderThumbMaterial.BLUE_GRADIENT_TEXTURE_URL, scene, true, false, Texture.NEAREST_SAMPLINGMODE);\r\n }\r\n\r\n public needAlphaBlending(): boolean {\r\n return false;\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): 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 MRDLSliderThumbMaterialDefines();\r\n }\r\n\r\n const defines = <MRDLSliderThumbMaterialDefines>subMesh.materialDefines;\r\n const scene = this.getScene();\r\n\r\n if (this._isReadyForSubMesh(subMesh)) {\r\n return true;\r\n }\r\n\r\n const engine = scene.getEngine();\r\n\r\n // Attribs\r\n MaterialHelper.PrepareDefinesForAttributes(mesh, defines, false, false);\r\n\r\n // Get correct effect\r\n if (defines.isDirty) {\r\n defines.markAsProcessed();\r\n\r\n scene.resetCachedMaterial();\r\n\r\n // Fallbacks\r\n const fallbacks = new EffectFallbacks();\r\n if (defines.FOG) {\r\n fallbacks.addFallback(1, \"FOG\");\r\n }\r\n\r\n MaterialHelper.HandleFallbacksForShadows(defines, fallbacks);\r\n\r\n defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;\r\n\r\n //Attributes\r\n const 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 if (defines.TANGENT) {\r\n attribs.push(VertexBuffer.TangentKind);\r\n }\r\n\r\n MaterialHelper.PrepareAttributesForInstances(attribs, defines);\r\n\r\n // Legacy browser patch\r\n const shaderName = \"mrdlSliderThumb\";\r\n const join = defines.toString();\r\n\r\n const uniforms = [\r\n \"world\",\r\n \"viewProjection\",\r\n \"cameraPosition\",\r\n \"_Radius_\",\r\n \"_Bevel_Front_\",\r\n \"_Bevel_Front_Stretch_\",\r\n \"_Bevel_Back_\",\r\n \"_Bevel_Back_Stretch_\",\r\n \"_Radius_Top_Left_\",\r\n \"_Radius_Top_Right_\",\r\n \"_Radius_Bottom_Left_\",\r\n \"_Radius_Bottom_Right_\",\r\n \"_Bulge_Enabled_\",\r\n \"_Bulge_Height_\",\r\n \"_Bulge_Radius_\",\r\n \"_Sun_Intensity_\",\r\n \"_Sun_Theta_\",\r\n \"_Sun_Phi_\",\r\n \"_Indirect_Diffuse_\",\r\n \"_Albedo_\",\r\n \"_Specular_\",\r\n \"_Shininess_\",\r\n \"_Sharpness_\",\r\n \"_Subsurface_\",\r\n \"_Left_Color_\",\r\n \"_Right_Color_\",\r\n \"_Reflection_\",\r\n \"_Front_Reflect_\",\r\n \"_Edge_Reflect_\",\r\n \"_Power_\",\r\n \"_Sky_Color_\",\r\n \"_Horizon_Color_\",\r\n \"_Ground_Color_\",\r\n \"_Horizon_Power_\",\r\n \"_Reflection_Map_\",\r\n \"_Indirect_Environment_\",\r\n \"_Width_\",\r\n \"_Fuzz_\",\r\n \"_Min_Fuzz_\",\r\n \"_Clip_Fade_\",\r\n \"_Hue_Shift_\",\r\n \"_Saturation_Shift_\",\r\n \"_Value_Shift_\",\r\n \"_Blob_Position_\",\r\n \"_Blob_Intensity_\",\r\n \"_Blob_Near_Size_\",\r\n \"_Blob_Far_Size_\",\r\n \"_Blob_Near_Distance_\",\r\n \"_Blob_Far_Distance_\",\r\n \"_Blob_Fade_Length_\",\r\n \"_Blob_Pulse_\",\r\n \"_Blob_Fade_\",\r\n \"_Blob_Texture_\",\r\n \"_Blob_Position_2_\",\r\n \"_Blob_Near_Size_2_\",\r\n \"_Blob_Pulse_2_\",\r\n \"_Blob_Fade_2_\",\r\n \"_Left_Index_Pos_\",\r\n \"_Right_Index_Pos_\",\r\n \"_Left_Index_Middle_Pos_\",\r\n \"_Right_Index_Middle_Pos_\",\r\n \"_Decal_\",\r\n \"_Decal_Scale_XY_\",\r\n \"_Decal_Front_Only_\",\r\n \"_Rim_Intensity_\",\r\n \"_Rim_Texture_\",\r\n \"_Rim_Hue_Shift_\",\r\n \"_Rim_Saturation_Shift_\",\r\n \"_Rim_Value_Shift_\",\r\n \"_Iridescence_Intensity_\",\r\n \"_Iridescence_Texture_\",\r\n \"Use_Global_Left_Index\",\r\n \"Use_Global_Right_Index\",\r\n \"Global_Left_Index_Tip_Position\",\r\n \"Global_Right_Index_Tip_Position\",\r\n \"Global_Left_Thumb_Tip_Position\",\r\n \"Global_Right_Thumb_Tip_Position\",\r\n \"Global_Left_Index_Middle_Position;\",\r\n \"Global_Right_Index_Middle_Position\",\r\n \"Global_Left_Index_Tip_Proximity\",\r\n \"Global_Right_Index_Tip_Proximity\",\r\n ];\r\n const samplers: string[] = [\"_Rim_Texture_\", \"_Iridescence_Texture_\"];\r\n const 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: 4,\r\n });\r\n\r\n subMesh.setEffect(\r\n scene.getEngine().createEffect(\r\n 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: 4 },\r\n },\r\n engine\r\n ),\r\n defines\r\n );\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 const defines = <MRDLSliderThumbMaterialDefines>subMesh.materialDefines;\r\n if (!defines) {\r\n return;\r\n }\r\n\r\n const effect = subMesh.effect;\r\n if (!effect) {\r\n return;\r\n }\r\n\r\n this._activeEffect = effect;\r\n\r\n // Matrices\r\n this.bindOnlyWorldMatrix(world);\r\n this._activeEffect.setMatrix(\"viewProjection\", this.getScene().getTransformMatrix());\r\n this._activeEffect.setVector3(\"cameraPosition\", this.getScene().activeCamera!.position);\r\n\r\n // \"Round Rect\"\r\n this._activeEffect.setFloat(\"_Radius_\", this.radius);\r\n this._activeEffect.setFloat(\"_Bevel_Front_\", this.bevelFront);\r\n this._activeEffect.setFloat(\"_Bevel_Front_Stretch_\", this.bevelFrontStretch);\r\n this._activeEffect.setFloat(\"_Bevel_Back_\", this.bevelBack);\r\n this._activeEffect.setFloat(\"_Bevel_Back_Stretch_\", this.bevelBackStretch);\r\n\r\n // \"Radii Multipliers\"\r\n this._activeEffect.setFloat(\"_Radius_Top_Left_\", this.radiusTopLeft);\r\n this._activeEffect.setFloat(\"_Radius_Top_Right_\", this.radiusTopRight);\r\n this._activeEffect.setFloat(\"_Radius_Bottom_Left_\", this.radiusBottomLeft);\r\n this._activeEffect.setFloat(\"_Radius_Bottom_Right_\", this.radiusBottomRight);\r\n\r\n // \"Bulge\"\r\n this._activeEffect.setFloat(\"_Bulge_Enabled_\", this.bulgeEnabled ? 1.0 : 0.0);\r\n this._activeEffect.setFloat(\"_Bulge_Height_\", this.bulgeHeight);\r\n this._activeEffect.setFloat(\"_Bulge_Radius_\", this.bulgeRadius);\r\n\r\n // \"Sun\"\r\n this._activeEffect.setFloat(\"_Sun_Intensity_\", this.sunIntensity);\r\n this._activeEffect.setFloat(\"_Sun_Theta_\", this.sunTheta);\r\n this._activeEffect.setFloat(\"_Sun_Phi_\", this.sunPhi);\r\n this._activeEffect.setFloat(\"_Indirect_Diffuse_\", this.indirectDiffuse);\r\n\r\n // \"Diffuse And Specular\"\r\n this._activeEffect.setDirectColor4(\"_Albedo_\", this.albedo);\r\n this._activeEffect.setFloat(\"_Specular_\", this.specular);\r\n this._activeEffect.setFloat(\"_Shininess_\", this.shininess);\r\n this._activeEffect.setFloat(\"_Sharpness_\", this.sharpness);\r\n this._activeEffect.setFloat(\"_Subsurface_\", this.subsurface);\r\n\r\n // \"Gradient\"\r\n this._activeEffect.setDirectColor4(\"_Left_Color_\", this.leftGradientColor);\r\n this._activeEffect.setDirectColor4(\"_Right_Color_\", this.rightGradientColor);\r\n\r\n // \"Reflection\"\r\n this._activeEffect.setFloat(\"_Reflection_\", this.reflection);\r\n this._activeEffect.setFloat(\"_Front_Reflect_\", this.frontReflect);\r\n this._activeEffect.setFloat(\"_Edge_Reflect_\", this.edgeReflect);\r\n this._activeEffect.setFloat(\"_Power_\", this.power);\r\n\r\n // \"Sky Environment\"\r\n //define SKY_ENABLED true;\r\n this._activeEffect.setDirectColor4(\"_Sky_Color_\", this.skyColor);\r\n this._activeEffect.setDirectColor4(\"_Horizon_Color_\", this.horizonColor);\r\n this._activeEffect.setDirectColor4(\"_Ground_Color_\", this.groundColor);\r\n this._activeEffect.setFloat(\"_Horizon_Power_\", this.horizonPower);\r\n\r\n // \"Mapped Environment\"\r\n //define ENV_ENABLE false;\r\n this._activeEffect.setTexture(\"_Reflection_Map_\", new Texture(\"\", this.getScene()));\r\n this._activeEffect.setTexture(\"_Indirect_Environment_\", new Texture(\"\", this.getScene()));\r\n\r\n // \"FingerOcclusion\"\r\n //define OCCLUSION_ENABLED false;\r\n this._activeEffect.setFloat(\"_Width_\", this.width);\r\n this._activeEffect.setFloat(\"_Fuzz_\", this.fuzz);\r\n this._activeEffect.setFloat(\"_Min_Fuzz_\", this.minFuzz);\r\n this._activeEffect.setFloat(\"_Clip_Fade_\", this.clipFade);\r\n\r\n // \"View Based Color Shift\"\r\n this._activeEffect.setFloat(\"_Hue_Shift_\", this.hueShift);\r\n this._activeEffect.setFloat(\"_Saturation_Shift_\", this.saturationShift);\r\n this._activeEffect.setFloat(\"_Value_Shift_\", this.valueShift);\r\n\r\n // \"Blob\"\r\n //define BLOB_ENABLE false;\r\n this._activeEffect.setVector3(\"_Blob_Position_\", this.blobPosition);\r\n this._activeEffect.setFloat(\"_Blob_Intensity_\", this.blobIntensity);\r\n this._activeEffect.setFloat(\"_Blob_Near_Size_\", this.blobNearSize);\r\n this._activeEffect.setFloat(\"_Blob_Far_Size_\", this.blobFarSize);\r\n this._activeEffect.setFloat(\"_Blob_Near_Distance_\", this.blobNearDistance);\r\n this._activeEffect.setFloat(\"_Blob_Far_Distance_\", this.blobFarDistance);\r\n this._activeEffect.setFloat(\"_Blob_Fade_Length_\", this.blobFadeLength);\r\n this._activeEffect.setFloat(\"_Blob_Pulse_\", this.blobPulse);\r\n this._activeEffect.setFloat(\"_Blob_Fade_\", this.blobFade);\r\n\r\n // \"Blob Texture\"\r\n this._activeEffect.setTexture(\"_Blob_Texture_\", this.blobTexture);\r\n\r\n // \"Blob 2\"\r\n //define BLOB_ENABLE_2 true;\r\n this._activeEffect.setVector3(\"_Blob_Position_2_\", this.blobPosition2);\r\n this._activeEffect.setFloat(\"_Blob_Near_Size_2_\", this.blobNearSize2);\r\n this._activeEffect.setFloat(\"_Blob_Pulse_2_\", this.blobPulse2);\r\n this._activeEffect.setFloat(\"_Blob_Fade_2_\", this.blobFade2);\r\n\r\n // \"Finger Positions\"\r\n this._activeEffect.setVector3(\"_Left_Index_Pos_\", this.leftIndexPosition);\r\n this._activeEffect.setVector3(\"_Right_Index_Pos_\", this.rightIndexPosition);\r\n this._activeEffect.setVector3(\"_Left_Index_Middle_Pos_\", this.leftIndexMiddlePosition);\r\n this._activeEffect.setVector3(\"_Right_Index_Middle_Pos_\", this.rightIndexMiddlePosition);\r\n\r\n // \"Decal Texture\"\r\n //define DECAL_ENABLE false;\r\n this._activeEffect.setTexture(\"_Decal_\", new Texture(\"\", this.getScene()));\r\n this._activeEffect.setVector2(\"_Decal_Scale_XY_\", this.decalScaleXY);\r\n this._activeEffect.setFloat(\"_Decal_Front_Only_\", this.decalFrontOnly ? 1.0 : 0.0);\r\n\r\n // \"Rim Light\"\r\n this._activeEffect.setFloat(\"_Rim_Intensity_\", this.rimIntensity);\r\n this._activeEffect.setTexture(\"_Rim_Texture_\", this._blueGradientTexture);\r\n this._activeEffect.setFloat(\"_Rim_Hue_Shift_\", this.rimHueShift);\r\n this._activeEffect.setFloat(\"_Rim_Saturation_Shift_\", this.rimSaturationShift);\r\n this._activeEffect.setFloat(\"_Rim_Value_Shift_\", this.rimValueShift);\r\n\r\n // \"Iridescence\"\r\n //define IRIDESCENCE_ENABLED true;\r\n this._activeEffect.setFloat(\"_Iridescence_Intensity_\", this.iridescenceIntensity);\r\n this._activeEffect.setTexture(\"_Iridescence_Texture_\", this._blueGradientTexture);\r\n\r\n // Global inputs\r\n this._activeEffect.setFloat(\"Use_Global_Left_Index\", this.useGlobalLeftIndex);\r\n this._activeEffect.setFloat(\"Use_Global_Right_Index\", this.useGlobalRightIndex);\r\n\r\n this._activeEffect.setVector4(\"Global_Left_Index_Tip_Position\", this.globalLeftIndexTipPosition);\r\n this._activeEffect.setVector4(\"Global_Right_Index_Tip_Position\", this.globaRightIndexTipPosition);\r\n\r\n this._activeEffect.setVector4(\"Global_Left_Thumb_Tip_Position\", this.globalLeftThumbTipPosition);\r\n this._activeEffect.setVector4(\"Global_Right_Thumb_Tip_Position\", this.globalRightThumbTipPosition);\r\n\r\n this._activeEffect.setVector4(\"Global_Left_Index_Middle_Position\", this.globalLeftIndexMiddlePosition);\r\n this._activeEffect.setVector4(\"Global_Right_Index_Middle_Position\", this.globalRightIndexMiddlePosition);\r\n\r\n this._activeEffect.setFloat(\"Global_Left_Index_Tip_Proximity\", this.globalLeftIndexTipProximity);\r\n this._activeEffect.setFloat(\"Global_Right_Index_Tip_Proximity\", this.globalRightIndexTipProximity);\r\n\r\n this._afterBind(mesh, this._activeEffect);\r\n }\r\n\r\n /**\r\n * Get the list of animatables in the material.\r\n * @returns the list of animatables object used in the material\r\n */\r\n public getAnimatables(): IAnimatable[] {\r\n return [];\r\n }\r\n\r\n public dispose(forceDisposeEffect?: boolean): void {\r\n super.dispose(forceDisposeEffect);\r\n }\r\n\r\n public clone(name: string): MRDLSliderThumbMaterial {\r\n return SerializationHelper.Clone(() => new MRDLSliderThumbMaterial(name, this.getScene()), this);\r\n }\r\n\r\n public serialize(): any {\r\n const serializationObject = super.serialize();\r\n serializationObject.customType = \"BABYLON.MRDLSliderThumbMaterial\";\r\n return serializationObject;\r\n }\r\n\r\n public getClassName(): string {\r\n return \"MRDLSliderThumbMaterial\";\r\n }\r\n\r\n // Statics\r\n public static Parse(source: any, scene: Scene, rootUrl: string): MRDLSliderThumbMaterial {\r\n return SerializationHelper.Parse(() => new MRDLSliderThumbMaterial(source.name, scene), source, scene, rootUrl);\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.GUI.MRDLSliderThumbMaterial\", MRDLSliderThumbMaterial);\r\n"]}
@@ -1,4 +1,4 @@
1
- /** @hidden */
1
+ /** @internal */
2
2
  export declare const mrdlBackplatePixelShader: {
3
3
  name: string;
4
4
  shader: string;