@babylonjs/gui 9.14.0 → 9.16.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 (106) hide show
  1. package/2D/advancedDynamicTexture.d.ts +2 -2
  2. package/2D/advancedDynamicTexture.js +2 -2
  3. package/2D/advancedDynamicTexture.js.map +1 -1
  4. package/2D/controls/checkbox.pure.js +164 -153
  5. package/2D/controls/checkbox.pure.js.map +1 -1
  6. package/2D/controls/colorpicker.pure.js +1300 -1289
  7. package/2D/controls/colorpicker.pure.js.map +1 -1
  8. package/2D/controls/container.pure.js +597 -582
  9. package/2D/controls/container.pure.js.map +1 -1
  10. package/2D/controls/control.pure.js +2474 -2434
  11. package/2D/controls/control.pure.js.map +1 -1
  12. package/2D/controls/displayGrid.pure.js +201 -190
  13. package/2D/controls/displayGrid.pure.js.map +1 -1
  14. package/2D/controls/ellipse.pure.js +96 -85
  15. package/2D/controls/ellipse.pure.js.map +1 -1
  16. package/2D/controls/grid.pure.js +511 -500
  17. package/2D/controls/grid.pure.js.map +1 -1
  18. package/2D/controls/image.pure.js +888 -877
  19. package/2D/controls/image.pure.js.map +1 -1
  20. package/2D/controls/inputText.pure.js +988 -973
  21. package/2D/controls/inputText.pure.js.map +1 -1
  22. package/2D/controls/inputTextArea.pure.js +955 -944
  23. package/2D/controls/inputTextArea.pure.js.map +1 -1
  24. package/2D/controls/line.pure.js +237 -226
  25. package/2D/controls/line.pure.js.map +1 -1
  26. package/2D/controls/multiLine.pure.js +233 -222
  27. package/2D/controls/multiLine.pure.js.map +1 -1
  28. package/2D/controls/radioButton.pure.js +182 -169
  29. package/2D/controls/radioButton.pure.js.map +1 -1
  30. package/2D/controls/rectangle.pure.js +211 -200
  31. package/2D/controls/rectangle.pure.js.map +1 -1
  32. package/2D/controls/scrollViewers/scrollViewer.pure.js +579 -567
  33. package/2D/controls/scrollViewers/scrollViewer.pure.js.map +1 -1
  34. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +1 -1
  35. package/2D/controls/scrollViewers/scrollViewerWindow.js +2 -2
  36. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  37. package/2D/controls/selector.d.ts +2 -2
  38. package/2D/controls/selector.js +8 -8
  39. package/2D/controls/selector.js.map +1 -1
  40. package/2D/controls/sliders/baseSlider.d.ts +1 -1
  41. package/2D/controls/sliders/baseSlider.js +292 -281
  42. package/2D/controls/sliders/baseSlider.js.map +1 -1
  43. package/2D/controls/sliders/imageBasedSlider.pure.js +158 -147
  44. package/2D/controls/sliders/imageBasedSlider.pure.js.map +1 -1
  45. package/2D/controls/sliders/imageScrollBar.js +237 -223
  46. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  47. package/2D/controls/sliders/scrollBar.pure.js +169 -158
  48. package/2D/controls/sliders/scrollBar.pure.js.map +1 -1
  49. package/2D/controls/sliders/slider.pure.js +251 -240
  50. package/2D/controls/sliders/slider.pure.js.map +1 -1
  51. package/2D/controls/stackPanel.pure.js +236 -221
  52. package/2D/controls/stackPanel.pure.js.map +1 -1
  53. package/2D/controls/textBlock.pure.js +637 -626
  54. package/2D/controls/textBlock.pure.js.map +1 -1
  55. package/2D/math2D.d.ts +1 -1
  56. package/2D/math2D.js +1 -1
  57. package/2D/math2D.js.map +1 -1
  58. package/2D/measure.js +1 -1
  59. package/2D/measure.js.map +1 -1
  60. package/3D/controls/MRTK3/touchHolographicButton.d.ts +4 -4
  61. package/3D/controls/MRTK3/touchHolographicButton.js +10 -10
  62. package/3D/controls/MRTK3/touchHolographicButton.js.map +1 -1
  63. package/3D/controls/holographicBackplate.d.ts +1 -1
  64. package/3D/controls/holographicBackplate.js +1 -1
  65. package/3D/controls/holographicBackplate.js.map +1 -1
  66. package/3D/controls/holographicButton.d.ts +1 -1
  67. package/3D/controls/holographicButton.js +4 -4
  68. package/3D/controls/holographicButton.js.map +1 -1
  69. package/3D/controls/holographicSlate.js +4 -4
  70. package/3D/controls/holographicSlate.js.map +1 -1
  71. package/3D/controls/slider3D.d.ts +3 -3
  72. package/3D/controls/slider3D.js +3 -3
  73. package/3D/controls/slider3D.js.map +1 -1
  74. package/3D/controls/touchHolographicButton.d.ts +2 -2
  75. package/3D/controls/touchHolographicButton.js +5 -5
  76. package/3D/controls/touchHolographicButton.js.map +1 -1
  77. package/3D/controls/touchHolographicMenu.js +1 -1
  78. package/3D/controls/touchHolographicMenu.js.map +1 -1
  79. package/3D/gizmos/gizmoHandle.d.ts +1 -1
  80. package/3D/gizmos/gizmoHandle.js +1 -1
  81. package/3D/gizmos/gizmoHandle.js.map +1 -1
  82. package/3D/materials/fluent/fluentMaterial.pure.d.ts +4 -4
  83. package/3D/materials/fluent/fluentMaterial.pure.js +322 -270
  84. package/3D/materials/fluent/fluentMaterial.pure.js.map +1 -1
  85. package/3D/materials/fluentBackplate/fluentBackplateMaterial.pure.js +510 -451
  86. package/3D/materials/fluentBackplate/fluentBackplateMaterial.pure.js.map +1 -1
  87. package/3D/materials/fluentButton/fluentButtonMaterial.pure.js +612 -526
  88. package/3D/materials/fluentButton/fluentButtonMaterial.pure.js.map +1 -1
  89. package/3D/materials/fluentMaterial.d.ts +1 -1
  90. package/3D/materials/fluentMaterial.js +1 -1
  91. package/3D/materials/fluentMaterial.js.map +1 -1
  92. package/3D/materials/handle/handleMaterial.pure.js +3 -1
  93. package/3D/materials/handle/handleMaterial.pure.js.map +1 -1
  94. package/3D/materials/mrdl/mrdlBackglowMaterial.pure.js +313 -271
  95. package/3D/materials/mrdl/mrdlBackglowMaterial.pure.js.map +1 -1
  96. package/3D/materials/mrdl/mrdlBackplateMaterial.pure.js +462 -402
  97. package/3D/materials/mrdl/mrdlBackplateMaterial.pure.js.map +1 -1
  98. package/3D/materials/mrdl/mrdlFrontplateMaterial.pure.js +583 -498
  99. package/3D/materials/mrdl/mrdlFrontplateMaterial.pure.js.map +1 -1
  100. package/3D/materials/mrdl/mrdlInnerquadMaterial.pure.js +226 -200
  101. package/3D/materials/mrdl/mrdlInnerquadMaterial.pure.js.map +1 -1
  102. package/3D/materials/mrdl/mrdlSliderBarMaterial.pure.js +961 -822
  103. package/3D/materials/mrdl/mrdlSliderBarMaterial.pure.js.map +1 -1
  104. package/3D/materials/mrdl/mrdlSliderThumbMaterial.pure.js +961 -822
  105. package/3D/materials/mrdl/mrdlSliderThumbMaterial.pure.js.map +1 -1
  106. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"mrdlFrontplateMaterial.pure.js","sourceRoot":"","sources":["../../../../../../dev/gui/src/3D/materials/mrdl/mrdlFrontplateMaterial.pure.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport { type AbstractMesh } from \"core/Meshes/abstractMesh.pure\";\r\nimport { type BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport { type IAnimatable } from \"core/Animations/animatable.interface\";\r\nimport { type IEffectCreationOptions } from \"core/Materials/effect\";\r\nimport { type Matrix, Vector3 } from \"core/Maths/math.vector.pure\";\r\nimport { type Mesh } from \"core/Meshes/mesh\";\r\nimport { type Nullable } from \"core/types\";\r\nimport { type Scene } from \"core/scene\";\r\nimport { type SubMesh } from \"core/Meshes/subMesh\";\r\n\r\nimport { Color4 } from \"core/Maths/math.color.pure\";\r\nimport { Constants } from \"core/Engines/constants\";\r\nimport { EffectFallbacks } from \"core/Materials/effectFallbacks\";\r\nimport { MaterialDefines } from \"core/Materials/materialDefines\";\r\nimport { PushMaterial } from \"core/Materials/pushMaterial\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { serialize } from \"core/Misc/decorators\";\r\nimport { SerializationHelper } from \"core/Misc/decorators.serialization\";\r\nimport { VertexBuffer } from \"core/Buffers/buffer.pure\";\r\nimport { Texture } from \"core/Materials/Textures/texture.pure\";\r\n\r\nimport { HandleFallbacksForShadows, PrepareAttributesForInstances, PrepareDefinesForAttributes, PrepareUniformsAndSamplersList } from \"core/Materials/materialHelper.functions\";\r\n\r\n/** @hidden */\r\nclass MRDLFrontplateMaterialDefines extends MaterialDefines {\r\n /**\r\n * Sets default value for \"SMOOTH_EDGES\"\r\n */\r\n public SMOOTH_EDGES = 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\nexport class MRDLFrontplateMaterial extends PushMaterial {\r\n /**\r\n * Gets or sets the corner radius on the frontplate. If this value is changed, update the lineWidth to match.\r\n */\r\n @serialize()\r\n public radius = 0.12;\r\n\r\n /**\r\n * Gets or sets the line width of the frontplate.\r\n */\r\n @serialize()\r\n public lineWidth = 0.01;\r\n\r\n /**\r\n * Gets or sets whether the scale is relative to the frontplate height.\r\n */\r\n @serialize()\r\n public relativeToHeight = false;\r\n\r\n /** @hidden */\r\n public _filterWidth = 1.0;\r\n\r\n /**\r\n * Gets or sets the edge color of the frontplate.\r\n */\r\n @serialize()\r\n public edgeColor: Color4 = new Color4(0.53, 0.53, 0.53, 1);\r\n\r\n /**\r\n * Gets or sets whether to enable blob effects on the frontplate.\r\n */\r\n @serialize()\r\n public blobEnable = true;\r\n\r\n /**\r\n * Gets or sets the blob position on the frontplate.\r\n */\r\n @serialize()\r\n public blobPosition: Vector3 = new Vector3(100, 100, 100);\r\n\r\n /**\r\n * Gets or sets the blob intensity of the frontplate.\r\n */\r\n @serialize()\r\n public blobIntensity = 0.5;\r\n\r\n /**\r\n * Gets or sets the blob near size of the frontplate.\r\n */\r\n @serialize()\r\n public blobNearSize = 0.032;\r\n\r\n /**\r\n * Gets or sets the blob far size of the frontplate.\r\n */\r\n @serialize()\r\n public blobFarSize = 0.048;\r\n\r\n /**\r\n * Gets or sets the blob near distance of the frontplate.\r\n */\r\n @serialize()\r\n public blobNearDistance = 0.008;\r\n\r\n /**\r\n * Gets or sets the blob far distance of the frontplate.\r\n */\r\n @serialize()\r\n public blobFarDistance = 0.064;\r\n\r\n /**\r\n * Gets or sets the blob fade length of the frontplate.\r\n */\r\n @serialize()\r\n public blobFadeLength = 0.04;\r\n\r\n /**\r\n * Gets or sets the blob inner fade of the frontplate.\r\n */\r\n @serialize()\r\n public blobInnerFade = 0.01;\r\n\r\n /**\r\n * Gets or sets the blob pulse of the frontplate.\r\n */\r\n @serialize()\r\n public blobPulse = 0.0;\r\n\r\n /**\r\n * Gets or sets the blob fade effect on the frontplate.\r\n */\r\n @serialize()\r\n public blobFade = 1.0;\r\n\r\n /**\r\n * Gets or sets the maximum size of the blob pulse on the frontplate.\r\n */\r\n @serialize()\r\n public blobPulseMaxSize = 0.05;\r\n\r\n /**\r\n * Gets or sets whether to enable extra blob effects of the frontplate.\r\n */\r\n @serialize()\r\n public blobEnable2 = true;\r\n\r\n /**\r\n * Gets or sets blob2 position of the frontplate.\r\n */\r\n @serialize()\r\n public blobPosition2: Vector3 = new Vector3(10, 10.1, -0.6);\r\n\r\n /**\r\n * Gets or sets the blob2 near size of the frontplate.\r\n */\r\n @serialize()\r\n public blobNearSize2 = 0.008;\r\n\r\n /**\r\n * Gets or sets the blob2 inner fade of the frontplate.\r\n */\r\n @serialize()\r\n public blobInnerFade2 = 0.1;\r\n\r\n /**\r\n * Gets or sets the blob2 pulse of the frontplate.\r\n */\r\n @serialize()\r\n public blobPulse2 = 0.0;\r\n\r\n /**\r\n * Gets or sets the blob2 fade effect on the frontplate.\r\n */\r\n @serialize()\r\n public blobFade2 = 1.0;\r\n\r\n /**\r\n * Gets or sets the gaze intensity of the frontplate.\r\n */\r\n @serialize()\r\n public gazeIntensity = 0.8;\r\n\r\n /**\r\n * Gets or sets the gaze focus of the frontplate.\r\n */\r\n @serialize()\r\n public gazeFocus = 0.0;\r\n\r\n /**\r\n * Gets or sets the selection fuzz of the frontplate.\r\n */\r\n @serialize()\r\n public selectionFuzz = 0.5;\r\n\r\n /**\r\n * Gets or sets the fade intensity of the frontplate.\r\n */\r\n @serialize()\r\n public selected = 1.0;\r\n\r\n /**\r\n * Gets or sets the selection fade intensity of the frontplate.\r\n */\r\n @serialize()\r\n public selectionFade = 0.2;\r\n\r\n /**\r\n * Gets or sets the selection fade size of the frontplate.\r\n */\r\n @serialize()\r\n public selectionFadeSize = 0.0;\r\n\r\n /**\r\n * Gets or sets the selected distance of the frontplate.\r\n */\r\n @serialize()\r\n public selectedDistance = 0.08;\r\n\r\n /**\r\n * Gets or sets the selected fade length of the frontplate.\r\n */\r\n @serialize()\r\n public selectedFadeLength = 0.08;\r\n\r\n /**\r\n * Gets or sets the proximity maximum intensity of the frontplate.\r\n */\r\n @serialize()\r\n public proximityMaxIntensity = 0.45;\r\n\r\n /**\r\n * Gets or sets the proximity far distance of the frontplate.\r\n */\r\n @serialize()\r\n public proximityFarDistance = 0.16;\r\n\r\n /**\r\n * Gets or sets the proximity near radius of the frontplate.\r\n */\r\n @serialize()\r\n public proximityNearRadius = 0.016;\r\n\r\n /**\r\n * Gets or sets the proximity anisotropy of the frontplate.\r\n */\r\n @serialize()\r\n public proximityAnisotropy = 1.0;\r\n\r\n /**\r\n * Gets or sets whether to use global left index on the frontplate.\r\n */\r\n @serialize()\r\n public useGlobalLeftIndex = true;\r\n\r\n /**\r\n * Gets or sets whether to use global right index of the frontplate.\r\n */\r\n @serialize()\r\n public useGlobalRightIndex = true;\r\n\r\n /**\r\n * URL pointing to the texture used to define the coloring for the BLOB.\r\n */\r\n public static BLOB_TEXTURE_URL = \"\";\r\n\r\n /**\r\n * Gets or sets the opacity of the frontplate (0.0 - 1.0).\r\n */\r\n public fadeOut = 1.0;\r\n\r\n private _blobTexture: Texture;\r\n\r\n constructor(name: string, scene: Scene) {\r\n super(name, scene);\r\n this.alphaMode = Constants.ALPHA_ADD;\r\n this.disableDepthWrite = true;\r\n this.backFaceCulling = false;\r\n this._blobTexture = new Texture(MRDLFrontplateMaterial.BLOB_TEXTURE_URL, scene, true, false, Texture.NEAREST_SAMPLINGMODE);\r\n }\r\n\r\n public override needAlphaBlending(): boolean {\r\n return true;\r\n }\r\n\r\n public override needAlphaTesting(): boolean {\r\n return false;\r\n }\r\n\r\n public override getAlphaTestTexture(): Nullable<BaseTexture> {\r\n return null;\r\n }\r\n\r\n // Methods\r\n public override isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh): boolean {\r\n const drawWrapper = subMesh._drawWrapper;\r\n\r\n if (this.isFrozen) {\r\n if (drawWrapper.effect && drawWrapper._wasPreviouslyReady) {\r\n return true;\r\n }\r\n }\r\n\r\n if (!subMesh.materialDefines) {\r\n subMesh.materialDefines = new MRDLFrontplateMaterialDefines();\r\n }\r\n\r\n const defines = <MRDLFrontplateMaterialDefines>subMesh.materialDefines;\r\n const scene = this.getScene();\r\n\r\n if (MRDLFrontplateMaterial.BLOB_TEXTURE_URL !== \"\" && !this._blobTexture.isReady()) {\r\n return false;\r\n }\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 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 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 PrepareAttributesForInstances(attribs, defines);\r\n\r\n // Legacy browser patch\r\n const shaderName = \"mrdlFrontplate\";\r\n const join = defines.toString();\r\n\r\n const uniforms = [\r\n \"world\",\r\n \"worldView\",\r\n \"worldViewProjection\",\r\n \"view\",\r\n \"projection\",\r\n \"viewProjection\",\r\n \"cameraPosition\",\r\n \"_Radius_\",\r\n \"_Line_Width_\",\r\n \"_Relative_To_Height_\",\r\n \"_Filter_Width_\",\r\n \"_Edge_Color_\",\r\n \"_Fade_Out_\",\r\n \"_Smooth_Edges_\",\r\n \"_Blob_Enable_\",\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_Inner_Fade_\",\r\n \"_Blob_Pulse_\",\r\n \"_Blob_Fade_\",\r\n \"_Blob_Pulse_Max_Size_\",\r\n \"_Blob_Enable_2_\",\r\n \"_Blob_Position_2_\",\r\n \"_Blob_Near_Size_2_\",\r\n \"_Blob_Inner_Fade_2_\",\r\n \"_Blob_Pulse_2_\",\r\n \"_Blob_Fade_2_\",\r\n \"_Gaze_Intensity_\",\r\n \"_Gaze_Focus_\",\r\n \"_Blob_Texture_\",\r\n \"_Selection_Fuzz_\",\r\n \"_Selected_\",\r\n \"_Selection_Fade_\",\r\n \"_Selection_Fade_Size_\",\r\n \"_Selected_Distance_\",\r\n \"_Selected_Fade_Length_\",\r\n \"_Proximity_Max_Intensity_\",\r\n \"_Proximity_Far_Distance_\",\r\n \"_Proximity_Near_Radius_\",\r\n \"_Proximity_Anisotropy_\",\r\n \"Global_Left_Index_Tip_Position\",\r\n \"Global_Right_Index_Tip_Position\",\r\n \"_Use_Global_Left_Index_\",\r\n \"_Use_Global_Right_Index_\",\r\n ];\r\n const samplers: string[] = [];\r\n const uniformBuffers: string[] = [];\r\n\r\n 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 drawWrapper._wasPreviouslyReady = true;\r\n\r\n return true;\r\n }\r\n\r\n public override bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void {\r\n const scene = this.getScene();\r\n\r\n const defines = <MRDLFrontplateMaterialDefines>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\", scene.getTransformMatrix());\r\n this._activeEffect.setVector3(\"cameraPosition\", scene.activeCamera!.position);\r\n\r\n // \"Round Rect\"\r\n this._activeEffect.setFloat(\"_Radius_\", this.radius);\r\n this._activeEffect.setFloat(\"_Line_Width_\", this.lineWidth);\r\n this._activeEffect.setFloat(\"_Relative_To_Height_\", this.relativeToHeight ? 1.0 : 0.0);\r\n this._activeEffect.setFloat(\"_Filter_Width_\", this._filterWidth);\r\n this._activeEffect.setDirectColor4(\"_Edge_Color_\", this.edgeColor);\r\n\r\n // \"Fade\"\r\n this._activeEffect.setFloat(\"_Fade_Out_\", this.fadeOut);\r\n\r\n // \"Blob\"\r\n this._activeEffect.setFloat(\"_Blob_Enable_\", this.blobEnable ? 1.0 : 0.0);\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_Inner_Fade_\", this.blobInnerFade);\r\n this._activeEffect.setFloat(\"_Blob_Pulse_\", this.blobPulse);\r\n this._activeEffect.setFloat(\"_Blob_Fade_\", this.blobFade);\r\n this._activeEffect.setFloat(\"_Blob_Pulse_Max_Size_\", this.blobPulseMaxSize);\r\n\r\n // \"Blob 2\"\r\n this._activeEffect.setFloat(\"_Blob_Enable_2_\", this.blobEnable2 ? 1.0 : 0.0);\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_Inner_Fade_2_\", this.blobInnerFade2);\r\n this._activeEffect.setFloat(\"_Blob_Pulse_2_\", this.blobPulse2);\r\n this._activeEffect.setFloat(\"_Blob_Fade_2_\", this.blobFade2);\r\n\r\n // \"Gaze\"\r\n this._activeEffect.setFloat(\"_Gaze_Intensity_\", this.gazeIntensity);\r\n this._activeEffect.setFloat(\"_Gaze_Focus_\", this.gazeFocus);\r\n\r\n // \"Blob Texture\"\r\n this._activeEffect.setTexture(\"_Blob_Texture_\", this._blobTexture);\r\n\r\n // \"Selection\"\r\n this._activeEffect.setFloat(\"_Selection_Fuzz_\", this.selectionFuzz);\r\n this._activeEffect.setFloat(\"_Selected_\", this.selected);\r\n this._activeEffect.setFloat(\"_Selection_Fade_\", this.selectionFade);\r\n this._activeEffect.setFloat(\"_Selection_Fade_Size_\", this.selectionFadeSize);\r\n this._activeEffect.setFloat(\"_Selected_Distance_\", this.selectedDistance);\r\n this._activeEffect.setFloat(\"_Selected_Fade_Length_\", this.selectedFadeLength);\r\n\r\n // \"Proximity\"\r\n this._activeEffect.setFloat(\"_Proximity_Max_Intensity_\", this.proximityMaxIntensity);\r\n this._activeEffect.setFloat(\"_Proximity_Far_Distance_\", this.proximityFarDistance);\r\n this._activeEffect.setFloat(\"_Proximity_Near_Radius_\", this.proximityNearRadius);\r\n this._activeEffect.setFloat(\"_Proximity_Anisotropy_\", this.proximityAnisotropy);\r\n\r\n // \"Global\"\r\n this._activeEffect.setFloat(\"_Use_Global_Left_Index_\", this.useGlobalLeftIndex ? 1.0 : 0.0);\r\n this._activeEffect.setFloat(\"_Use_Global_Right_Index_\", this.useGlobalRightIndex ? 1.0 : 0.0);\r\n\r\n // \"Antialiasing\"\r\n //define SMOOTH_EDGES true;\r\n\r\n this._afterBind(mesh, this._activeEffect, subMesh);\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 override getAnimatables(): IAnimatable[] {\r\n return [];\r\n }\r\n\r\n public override dispose(forceDisposeEffect?: boolean): void {\r\n super.dispose(forceDisposeEffect);\r\n }\r\n\r\n public override clone(name: string): MRDLFrontplateMaterial {\r\n return SerializationHelper.Clone(() => new MRDLFrontplateMaterial(name, this.getScene()), this);\r\n }\r\n\r\n public override serialize(): unknown {\r\n const serializationObject = SerializationHelper.Serialize(this);\r\n serializationObject.customType = \"BABYLON.MRDLFrontplateMaterial\";\r\n return serializationObject;\r\n }\r\n\r\n public override getClassName(): string {\r\n return \"MRDLFrontplateMaterial\";\r\n }\r\n\r\n // Statics\r\n public static override Parse(source: any, scene: Scene, rootUrl: string): MRDLFrontplateMaterial {\r\n return SerializationHelper.Parse(() => new MRDLFrontplateMaterial(source.name, scene), source, scene, rootUrl);\r\n }\r\n}\r\n\r\nlet _Registered = false;\r\n/**\r\n * Registers the MRDLFrontplateMaterial class with the type store for serialization support.\r\n * Safe to call multiple times; only the first call has an effect.\r\n */\r\nexport function RegisterMRDLFrontplateMaterial(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n RegisterClass(\"BABYLON.GUI.MRDLFrontplateMaterial\", MRDLFrontplateMaterial);\r\n}\r\n"]}
1
+ {"version":3,"file":"mrdlFrontplateMaterial.pure.js","sourceRoot":"","sources":["../../../../../../dev/gui/src/3D/materials/mrdl/mrdlFrontplateMaterial.pure.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport { type AbstractMesh } from \"core/Meshes/abstractMesh.pure\";\r\nimport { type BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport { type IAnimatable } from \"core/Animations/animatable.interface\";\r\nimport { type IEffectCreationOptions } from \"core/Materials/effect\";\r\nimport { type Matrix, Vector3 } from \"core/Maths/math.vector.pure\";\r\nimport { type Mesh } from \"core/Meshes/mesh\";\r\nimport { type Nullable } from \"core/types\";\r\nimport { type Scene } from \"core/scene\";\r\nimport { type SubMesh } from \"core/Meshes/subMesh\";\r\n\r\nimport { Color4 } from \"core/Maths/math.color.pure\";\r\nimport { Constants } from \"core/Engines/constants\";\r\nimport { EffectFallbacks } from \"core/Materials/effectFallbacks\";\r\nimport { MaterialDefines } from \"core/Materials/materialDefines\";\r\nimport { PushMaterial } from \"core/Materials/pushMaterial\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { serialize } from \"core/Misc/decorators\";\r\nimport { SerializationHelper } from \"core/Misc/decorators.serialization\";\r\nimport { VertexBuffer } from \"core/Buffers/buffer.pure\";\r\nimport { Texture } from \"core/Materials/Textures/texture.pure\";\r\n\r\nimport { HandleFallbacksForShadows, PrepareAttributesForInstances, PrepareDefinesForAttributes, PrepareUniformsAndSamplersList } from \"core/Materials/materialHelper.functions\";\r\n\r\n/** @hidden */\r\nclass MRDLFrontplateMaterialDefines extends MaterialDefines {\r\n /**\r\n * Sets default value for \"SMOOTH_EDGES\"\r\n */\r\n public SMOOTH_EDGES = 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\nexport class MRDLFrontplateMaterial extends PushMaterial {\r\n /**\r\n * Gets or sets the corner radius on the frontplate. If this value is changed, update the lineWidth to match.\r\n */\r\n @serialize()\r\n public radius = 0.12;\r\n\r\n /**\r\n * Gets or sets the line width of the frontplate.\r\n */\r\n @serialize()\r\n public lineWidth = 0.01;\r\n\r\n /**\r\n * Gets or sets whether the scale is relative to the frontplate height.\r\n */\r\n @serialize()\r\n public relativeToHeight = false;\r\n\r\n /** @hidden */\r\n public _filterWidth = 1.0;\r\n\r\n /**\r\n * Gets or sets the edge color of the frontplate.\r\n */\r\n @serialize()\r\n public edgeColor: Color4 = new Color4(0.53, 0.53, 0.53, 1);\r\n\r\n /**\r\n * Gets or sets whether to enable blob effects on the frontplate.\r\n */\r\n @serialize()\r\n public blobEnable = true;\r\n\r\n /**\r\n * Gets or sets the blob position on the frontplate.\r\n */\r\n @serialize()\r\n public blobPosition: Vector3 = new Vector3(100, 100, 100);\r\n\r\n /**\r\n * Gets or sets the blob intensity of the frontplate.\r\n */\r\n @serialize()\r\n public blobIntensity = 0.5;\r\n\r\n /**\r\n * Gets or sets the blob near size of the frontplate.\r\n */\r\n @serialize()\r\n public blobNearSize = 0.032;\r\n\r\n /**\r\n * Gets or sets the blob far size of the frontplate.\r\n */\r\n @serialize()\r\n public blobFarSize = 0.048;\r\n\r\n /**\r\n * Gets or sets the blob near distance of the frontplate.\r\n */\r\n @serialize()\r\n public blobNearDistance = 0.008;\r\n\r\n /**\r\n * Gets or sets the blob far distance of the frontplate.\r\n */\r\n @serialize()\r\n public blobFarDistance = 0.064;\r\n\r\n /**\r\n * Gets or sets the blob fade length of the frontplate.\r\n */\r\n @serialize()\r\n public blobFadeLength = 0.04;\r\n\r\n /**\r\n * Gets or sets the blob inner fade of the frontplate.\r\n */\r\n @serialize()\r\n public blobInnerFade = 0.01;\r\n\r\n /**\r\n * Gets or sets the blob pulse of the frontplate.\r\n */\r\n @serialize()\r\n public blobPulse = 0.0;\r\n\r\n /**\r\n * Gets or sets the blob fade effect on the frontplate.\r\n */\r\n @serialize()\r\n public blobFade = 1.0;\r\n\r\n /**\r\n * Gets or sets the maximum size of the blob pulse on the frontplate.\r\n */\r\n @serialize()\r\n public blobPulseMaxSize = 0.05;\r\n\r\n /**\r\n * Gets or sets whether to enable extra blob effects of the frontplate.\r\n */\r\n @serialize()\r\n public blobEnable2 = true;\r\n\r\n /**\r\n * Gets or sets blob2 position of the frontplate.\r\n */\r\n @serialize()\r\n public blobPosition2: Vector3 = new Vector3(10, 10.1, -0.6);\r\n\r\n /**\r\n * Gets or sets the blob2 near size of the frontplate.\r\n */\r\n @serialize()\r\n public blobNearSize2 = 0.008;\r\n\r\n /**\r\n * Gets or sets the blob2 inner fade of the frontplate.\r\n */\r\n @serialize()\r\n public blobInnerFade2 = 0.1;\r\n\r\n /**\r\n * Gets or sets the blob2 pulse of the frontplate.\r\n */\r\n @serialize()\r\n public blobPulse2 = 0.0;\r\n\r\n /**\r\n * Gets or sets the blob2 fade effect on the frontplate.\r\n */\r\n @serialize()\r\n public blobFade2 = 1.0;\r\n\r\n /**\r\n * Gets or sets the gaze intensity of the frontplate.\r\n */\r\n @serialize()\r\n public gazeIntensity = 0.8;\r\n\r\n /**\r\n * Gets or sets the gaze focus of the frontplate.\r\n */\r\n @serialize()\r\n public gazeFocus = 0.0;\r\n\r\n /**\r\n * Gets or sets the selection fuzz of the frontplate.\r\n */\r\n @serialize()\r\n public selectionFuzz = 0.5;\r\n\r\n /**\r\n * Gets or sets the fade intensity of the frontplate.\r\n */\r\n @serialize()\r\n public selected = 1.0;\r\n\r\n /**\r\n * Gets or sets the selection fade intensity of the frontplate.\r\n */\r\n @serialize()\r\n public selectionFade = 0.2;\r\n\r\n /**\r\n * Gets or sets the selection fade size of the frontplate.\r\n */\r\n @serialize()\r\n public selectionFadeSize = 0.0;\r\n\r\n /**\r\n * Gets or sets the selected distance of the frontplate.\r\n */\r\n @serialize()\r\n public selectedDistance = 0.08;\r\n\r\n /**\r\n * Gets or sets the selected fade length of the frontplate.\r\n */\r\n @serialize()\r\n public selectedFadeLength = 0.08;\r\n\r\n /**\r\n * Gets or sets the proximity maximum intensity of the frontplate.\r\n */\r\n @serialize()\r\n public proximityMaxIntensity = 0.45;\r\n\r\n /**\r\n * Gets or sets the proximity far distance of the frontplate.\r\n */\r\n @serialize()\r\n public proximityFarDistance = 0.16;\r\n\r\n /**\r\n * Gets or sets the proximity near radius of the frontplate.\r\n */\r\n @serialize()\r\n public proximityNearRadius = 0.016;\r\n\r\n /**\r\n * Gets or sets the proximity anisotropy of the frontplate.\r\n */\r\n @serialize()\r\n public proximityAnisotropy = 1.0;\r\n\r\n /**\r\n * Gets or sets whether to use global left index on the frontplate.\r\n */\r\n @serialize()\r\n public useGlobalLeftIndex = true;\r\n\r\n /**\r\n * Gets or sets whether to use global right index of the frontplate.\r\n */\r\n @serialize()\r\n public useGlobalRightIndex = true;\r\n\r\n /**\r\n * URL pointing to the texture used to define the coloring for the BLOB.\r\n */\r\n public static BLOB_TEXTURE_URL = \"\";\r\n\r\n /**\r\n * Gets or sets the opacity of the frontplate (0.0 - 1.0).\r\n */\r\n public fadeOut = 1.0;\r\n\r\n private _blobTexture: Texture;\r\n\r\n constructor(name: string, scene: Scene) {\r\n super(name, scene);\r\n this.alphaMode = Constants.ALPHA_ADD;\r\n this.disableDepthWrite = true;\r\n this.backFaceCulling = false;\r\n this._blobTexture = new Texture(MRDLFrontplateMaterial.BLOB_TEXTURE_URL, scene, true, false, Texture.NEAREST_SAMPLINGMODE);\r\n }\r\n\r\n public override needAlphaBlending(): boolean {\r\n return true;\r\n }\r\n\r\n public override needAlphaTesting(): boolean {\r\n return false;\r\n }\r\n\r\n public override getAlphaTestTexture(): Nullable<BaseTexture> {\r\n return null;\r\n }\r\n\r\n // Methods\r\n public override isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh): boolean {\r\n const drawWrapper = subMesh._drawWrapper;\r\n\r\n if (this.isFrozen) {\r\n if (drawWrapper.effect && drawWrapper._wasPreviouslyReady) {\r\n return true;\r\n }\r\n }\r\n\r\n if (!subMesh.materialDefines) {\r\n subMesh.materialDefines = new MRDLFrontplateMaterialDefines();\r\n }\r\n\r\n const defines = <MRDLFrontplateMaterialDefines>subMesh.materialDefines;\r\n const scene = this.getScene();\r\n\r\n if (MRDLFrontplateMaterial.BLOB_TEXTURE_URL !== \"\" && !this._blobTexture.isReady()) {\r\n return false;\r\n }\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 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 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 PrepareAttributesForInstances(attribs, defines);\r\n\r\n // Legacy browser patch\r\n const shaderName = \"mrdlFrontplate\";\r\n const join = defines.toString();\r\n\r\n const uniforms = [\r\n \"world\",\r\n \"worldView\",\r\n \"worldViewProjection\",\r\n \"view\",\r\n \"projection\",\r\n \"viewProjection\",\r\n \"cameraPosition\",\r\n \"_Radius_\",\r\n \"_Line_Width_\",\r\n \"_Relative_To_Height_\",\r\n \"_Filter_Width_\",\r\n \"_Edge_Color_\",\r\n \"_Fade_Out_\",\r\n \"_Smooth_Edges_\",\r\n \"_Blob_Enable_\",\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_Inner_Fade_\",\r\n \"_Blob_Pulse_\",\r\n \"_Blob_Fade_\",\r\n \"_Blob_Pulse_Max_Size_\",\r\n \"_Blob_Enable_2_\",\r\n \"_Blob_Position_2_\",\r\n \"_Blob_Near_Size_2_\",\r\n \"_Blob_Inner_Fade_2_\",\r\n \"_Blob_Pulse_2_\",\r\n \"_Blob_Fade_2_\",\r\n \"_Gaze_Intensity_\",\r\n \"_Gaze_Focus_\",\r\n \"_Blob_Texture_\",\r\n \"_Selection_Fuzz_\",\r\n \"_Selected_\",\r\n \"_Selection_Fade_\",\r\n \"_Selection_Fade_Size_\",\r\n \"_Selected_Distance_\",\r\n \"_Selected_Fade_Length_\",\r\n \"_Proximity_Max_Intensity_\",\r\n \"_Proximity_Far_Distance_\",\r\n \"_Proximity_Near_Radius_\",\r\n \"_Proximity_Anisotropy_\",\r\n \"Global_Left_Index_Tip_Position\",\r\n \"Global_Right_Index_Tip_Position\",\r\n \"_Use_Global_Left_Index_\",\r\n \"_Use_Global_Right_Index_\",\r\n ];\r\n const samplers: string[] = [];\r\n const uniformBuffers: string[] = [];\r\n\r\n 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 extraInitializationsAsync: async () => {\r\n await Promise.all([import(\"./shaders/mrdlFrontplate.vertex\"), import(\"./shaders/mrdlFrontplate.fragment\")]);\r\n },\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 drawWrapper._wasPreviouslyReady = true;\r\n\r\n return true;\r\n }\r\n\r\n public override bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void {\r\n const scene = this.getScene();\r\n\r\n const defines = <MRDLFrontplateMaterialDefines>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\", scene.getTransformMatrix());\r\n this._activeEffect.setVector3(\"cameraPosition\", scene.activeCamera!.position);\r\n\r\n // \"Round Rect\"\r\n this._activeEffect.setFloat(\"_Radius_\", this.radius);\r\n this._activeEffect.setFloat(\"_Line_Width_\", this.lineWidth);\r\n this._activeEffect.setFloat(\"_Relative_To_Height_\", this.relativeToHeight ? 1.0 : 0.0);\r\n this._activeEffect.setFloat(\"_Filter_Width_\", this._filterWidth);\r\n this._activeEffect.setDirectColor4(\"_Edge_Color_\", this.edgeColor);\r\n\r\n // \"Fade\"\r\n this._activeEffect.setFloat(\"_Fade_Out_\", this.fadeOut);\r\n\r\n // \"Blob\"\r\n this._activeEffect.setFloat(\"_Blob_Enable_\", this.blobEnable ? 1.0 : 0.0);\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_Inner_Fade_\", this.blobInnerFade);\r\n this._activeEffect.setFloat(\"_Blob_Pulse_\", this.blobPulse);\r\n this._activeEffect.setFloat(\"_Blob_Fade_\", this.blobFade);\r\n this._activeEffect.setFloat(\"_Blob_Pulse_Max_Size_\", this.blobPulseMaxSize);\r\n\r\n // \"Blob 2\"\r\n this._activeEffect.setFloat(\"_Blob_Enable_2_\", this.blobEnable2 ? 1.0 : 0.0);\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_Inner_Fade_2_\", this.blobInnerFade2);\r\n this._activeEffect.setFloat(\"_Blob_Pulse_2_\", this.blobPulse2);\r\n this._activeEffect.setFloat(\"_Blob_Fade_2_\", this.blobFade2);\r\n\r\n // \"Gaze\"\r\n this._activeEffect.setFloat(\"_Gaze_Intensity_\", this.gazeIntensity);\r\n this._activeEffect.setFloat(\"_Gaze_Focus_\", this.gazeFocus);\r\n\r\n // \"Blob Texture\"\r\n this._activeEffect.setTexture(\"_Blob_Texture_\", this._blobTexture);\r\n\r\n // \"Selection\"\r\n this._activeEffect.setFloat(\"_Selection_Fuzz_\", this.selectionFuzz);\r\n this._activeEffect.setFloat(\"_Selected_\", this.selected);\r\n this._activeEffect.setFloat(\"_Selection_Fade_\", this.selectionFade);\r\n this._activeEffect.setFloat(\"_Selection_Fade_Size_\", this.selectionFadeSize);\r\n this._activeEffect.setFloat(\"_Selected_Distance_\", this.selectedDistance);\r\n this._activeEffect.setFloat(\"_Selected_Fade_Length_\", this.selectedFadeLength);\r\n\r\n // \"Proximity\"\r\n this._activeEffect.setFloat(\"_Proximity_Max_Intensity_\", this.proximityMaxIntensity);\r\n this._activeEffect.setFloat(\"_Proximity_Far_Distance_\", this.proximityFarDistance);\r\n this._activeEffect.setFloat(\"_Proximity_Near_Radius_\", this.proximityNearRadius);\r\n this._activeEffect.setFloat(\"_Proximity_Anisotropy_\", this.proximityAnisotropy);\r\n\r\n // \"Global\"\r\n this._activeEffect.setFloat(\"_Use_Global_Left_Index_\", this.useGlobalLeftIndex ? 1.0 : 0.0);\r\n this._activeEffect.setFloat(\"_Use_Global_Right_Index_\", this.useGlobalRightIndex ? 1.0 : 0.0);\r\n\r\n // \"Antialiasing\"\r\n //define SMOOTH_EDGES true;\r\n\r\n this._afterBind(mesh, this._activeEffect, subMesh);\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 override getAnimatables(): IAnimatable[] {\r\n return [];\r\n }\r\n\r\n public override dispose(forceDisposeEffect?: boolean): void {\r\n super.dispose(forceDisposeEffect);\r\n }\r\n\r\n public override clone(name: string): MRDLFrontplateMaterial {\r\n return SerializationHelper.Clone(() => new MRDLFrontplateMaterial(name, this.getScene()), this);\r\n }\r\n\r\n public override serialize(): unknown {\r\n const serializationObject = SerializationHelper.Serialize(this);\r\n serializationObject.customType = \"BABYLON.MRDLFrontplateMaterial\";\r\n return serializationObject;\r\n }\r\n\r\n public override getClassName(): string {\r\n return \"MRDLFrontplateMaterial\";\r\n }\r\n\r\n // Statics\r\n public static override Parse(source: any, scene: Scene, rootUrl: string): MRDLFrontplateMaterial {\r\n return SerializationHelper.Parse(() => new MRDLFrontplateMaterial(source.name, scene), source, scene, rootUrl);\r\n }\r\n}\r\n\r\nlet _Registered = false;\r\n/**\r\n * Registers the MRDLFrontplateMaterial class with the type store for serialization support.\r\n * Safe to call multiple times; only the first call has an effect.\r\n */\r\nexport function RegisterMRDLFrontplateMaterial(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n RegisterClass(\"BABYLON.GUI.MRDLFrontplateMaterial\", MRDLFrontplateMaterial);\r\n}\r\n"]}
@@ -1,4 +1,4 @@
1
- import { __decorate } from "@babylonjs/core/tslib.es6.js";
1
+ import { __esDecorate, __runInitializers } from "@babylonjs/core/tslib.es6.js";
2
2
  import { Color4 } from "@babylonjs/core/Maths/math.color.pure.js";
3
3
  import { Constants } from "@babylonjs/core/Engines/constants.js";
4
4
  import { EffectFallbacks } from "@babylonjs/core/Materials/effectFallbacks.js";
@@ -17,213 +17,239 @@ class MRDLInnerquadMaterialDefines extends MaterialDefines {
17
17
  this.rebuild();
18
18
  }
19
19
  }
20
- export class MRDLInnerquadMaterial extends PushMaterial {
21
- constructor(name, scene) {
22
- super(name, scene);
23
- /**
24
- * Gets or sets the color of the innerquad.
25
- */
26
- this.color = new Color4(1, 1, 1, 0.05);
27
- /**
28
- * Gets or sets the corner radius on the innerquad. If this value is changed, update the lineWidth to match.
29
- */
30
- this.radius = 0.12;
31
- /**
32
- * Gets or sets whether the radius of the innerquad should be fixed.
33
- */
34
- this.fixedRadius = true;
35
- /** @hidden */
36
- this._filterWidth = 1.0;
37
- /**
38
- * Gets or sets the glow fraction of the innerquad.
39
- */
40
- this.glowFraction = 0.0;
41
- /**
42
- * Gets or sets the maximum glow intensity of the innerquad.
43
- */
44
- this.glowMax = 0.5;
45
- /**
46
- * Gets or sets the glow falloff effect of the innerquad.
47
- */
48
- this.glowFalloff = 2.0;
49
- this.alphaMode = Constants.ALPHA_COMBINE;
50
- this.backFaceCulling = false;
51
- }
52
- needAlphaBlending() {
53
- return true;
54
- }
55
- needAlphaTesting() {
56
- return false;
57
- }
58
- getAlphaTestTexture() {
59
- return null;
60
- }
61
- // Methods
62
- isReadyForSubMesh(mesh, subMesh) {
63
- const drawWrapper = subMesh._drawWrapper;
64
- if (this.isFrozen) {
65
- if (drawWrapper.effect && drawWrapper._wasPreviouslyReady) {
20
+ let MRDLInnerquadMaterial = (() => {
21
+ var _a;
22
+ let _classSuper = PushMaterial;
23
+ let _color_decorators;
24
+ let _color_initializers = [];
25
+ let _color_extraInitializers = [];
26
+ let _radius_decorators;
27
+ let _radius_initializers = [];
28
+ let _radius_extraInitializers = [];
29
+ let _fixedRadius_decorators;
30
+ let _fixedRadius_initializers = [];
31
+ let _fixedRadius_extraInitializers = [];
32
+ let _glowFraction_decorators;
33
+ let _glowFraction_initializers = [];
34
+ let _glowFraction_extraInitializers = [];
35
+ let _glowMax_decorators;
36
+ let _glowMax_initializers = [];
37
+ let _glowMax_extraInitializers = [];
38
+ let _glowFalloff_decorators;
39
+ let _glowFalloff_initializers = [];
40
+ let _glowFalloff_extraInitializers = [];
41
+ return _a = class MRDLInnerquadMaterial extends _classSuper {
42
+ constructor(name, scene) {
43
+ super(name, scene);
44
+ /**
45
+ * Gets or sets the color of the innerquad.
46
+ */
47
+ this.color = __runInitializers(this, _color_initializers, new Color4(1, 1, 1, 0.05));
48
+ /**
49
+ * Gets or sets the corner radius on the innerquad. If this value is changed, update the lineWidth to match.
50
+ */
51
+ this.radius = (__runInitializers(this, _color_extraInitializers), __runInitializers(this, _radius_initializers, 0.12));
52
+ /**
53
+ * Gets or sets whether the radius of the innerquad should be fixed.
54
+ */
55
+ this.fixedRadius = (__runInitializers(this, _radius_extraInitializers), __runInitializers(this, _fixedRadius_initializers, true));
56
+ /** @hidden */
57
+ this._filterWidth = (__runInitializers(this, _fixedRadius_extraInitializers), 1.0);
58
+ /**
59
+ * Gets or sets the glow fraction of the innerquad.
60
+ */
61
+ this.glowFraction = __runInitializers(this, _glowFraction_initializers, 0.0);
62
+ /**
63
+ * Gets or sets the maximum glow intensity of the innerquad.
64
+ */
65
+ this.glowMax = (__runInitializers(this, _glowFraction_extraInitializers), __runInitializers(this, _glowMax_initializers, 0.5));
66
+ /**
67
+ * Gets or sets the glow falloff effect of the innerquad.
68
+ */
69
+ this.glowFalloff = (__runInitializers(this, _glowMax_extraInitializers), __runInitializers(this, _glowFalloff_initializers, 2.0));
70
+ __runInitializers(this, _glowFalloff_extraInitializers);
71
+ this.alphaMode = Constants.ALPHA_COMBINE;
72
+ this.backFaceCulling = false;
73
+ }
74
+ needAlphaBlending() {
66
75
  return true;
67
76
  }
68
- }
69
- if (!subMesh.materialDefines) {
70
- subMesh.materialDefines = new MRDLInnerquadMaterialDefines();
71
- }
72
- const defines = subMesh.materialDefines;
73
- const scene = this.getScene();
74
- if (this._isReadyForSubMesh(subMesh)) {
75
- return true;
76
- }
77
- const engine = scene.getEngine();
78
- // Attribs
79
- PrepareDefinesForAttributes(mesh, defines, true, false);
80
- // Get correct effect
81
- if (defines.isDirty) {
82
- defines.markAsProcessed();
83
- scene.resetCachedMaterial();
84
- // Fallbacks
85
- const fallbacks = new EffectFallbacks();
86
- if (defines.FOG) {
87
- fallbacks.addFallback(1, "FOG");
77
+ needAlphaTesting() {
78
+ return false;
88
79
  }
89
- HandleFallbacksForShadows(defines, fallbacks);
90
- defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;
91
- //Attributes
92
- const attribs = [VertexBuffer.PositionKind];
93
- if (defines.NORMAL) {
94
- attribs.push(VertexBuffer.NormalKind);
80
+ getAlphaTestTexture() {
81
+ return null;
95
82
  }
96
- if (defines.UV1) {
97
- attribs.push(VertexBuffer.UVKind);
83
+ // Methods
84
+ isReadyForSubMesh(mesh, subMesh) {
85
+ const drawWrapper = subMesh._drawWrapper;
86
+ if (this.isFrozen) {
87
+ if (drawWrapper.effect && drawWrapper._wasPreviouslyReady) {
88
+ return true;
89
+ }
90
+ }
91
+ if (!subMesh.materialDefines) {
92
+ subMesh.materialDefines = new MRDLInnerquadMaterialDefines();
93
+ }
94
+ const defines = subMesh.materialDefines;
95
+ const scene = this.getScene();
96
+ if (this._isReadyForSubMesh(subMesh)) {
97
+ return true;
98
+ }
99
+ const engine = scene.getEngine();
100
+ // Attribs
101
+ PrepareDefinesForAttributes(mesh, defines, true, false);
102
+ // Get correct effect
103
+ if (defines.isDirty) {
104
+ defines.markAsProcessed();
105
+ scene.resetCachedMaterial();
106
+ // Fallbacks
107
+ const fallbacks = new EffectFallbacks();
108
+ if (defines.FOG) {
109
+ fallbacks.addFallback(1, "FOG");
110
+ }
111
+ HandleFallbacksForShadows(defines, fallbacks);
112
+ defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;
113
+ //Attributes
114
+ const attribs = [VertexBuffer.PositionKind];
115
+ if (defines.NORMAL) {
116
+ attribs.push(VertexBuffer.NormalKind);
117
+ }
118
+ if (defines.UV1) {
119
+ attribs.push(VertexBuffer.UVKind);
120
+ }
121
+ if (defines.UV2) {
122
+ attribs.push(VertexBuffer.UV2Kind);
123
+ }
124
+ if (defines.VERTEXCOLOR) {
125
+ attribs.push(VertexBuffer.ColorKind);
126
+ }
127
+ if (defines.TANGENT) {
128
+ attribs.push(VertexBuffer.TangentKind);
129
+ }
130
+ PrepareAttributesForInstances(attribs, defines);
131
+ // Legacy browser patch
132
+ const shaderName = "mrdlInnerquad";
133
+ const join = defines.toString();
134
+ const uniforms = [
135
+ "world",
136
+ "worldView",
137
+ "worldViewProjection",
138
+ "view",
139
+ "projection",
140
+ "viewProjection",
141
+ "cameraPosition",
142
+ "_Color_",
143
+ "_Radius_",
144
+ "_Fixed_Radius_",
145
+ "_Filter_Width_",
146
+ "_Glow_Fraction_",
147
+ "_Glow_Max_",
148
+ "_Glow_Falloff_",
149
+ ];
150
+ const samplers = [];
151
+ const uniformBuffers = [];
152
+ PrepareUniformsAndSamplersList({
153
+ uniformsNames: uniforms,
154
+ uniformBuffersNames: uniformBuffers,
155
+ samplers: samplers,
156
+ defines: defines,
157
+ maxSimultaneousLights: 4,
158
+ });
159
+ subMesh.setEffect(scene.getEngine().createEffect(shaderName, {
160
+ attributes: attribs,
161
+ uniformsNames: uniforms,
162
+ uniformBuffersNames: uniformBuffers,
163
+ samplers: samplers,
164
+ defines: join,
165
+ fallbacks: fallbacks,
166
+ onCompiled: this.onCompiled,
167
+ onError: this.onError,
168
+ indexParameters: { maxSimultaneousLights: 4 },
169
+ extraInitializationsAsync: async () => {
170
+ await Promise.all([import("./shaders/mrdlInnerquad.vertex.js"), import("./shaders/mrdlInnerquad.fragment.js")]);
171
+ },
172
+ }, engine), defines);
173
+ }
174
+ if (!subMesh.effect || !subMesh.effect.isReady()) {
175
+ return false;
176
+ }
177
+ defines._renderId = scene.getRenderId();
178
+ drawWrapper._wasPreviouslyReady = true;
179
+ return true;
98
180
  }
99
- if (defines.UV2) {
100
- attribs.push(VertexBuffer.UV2Kind);
181
+ bindForSubMesh(world, mesh, subMesh) {
182
+ const scene = this.getScene();
183
+ const defines = subMesh.materialDefines;
184
+ if (!defines) {
185
+ return;
186
+ }
187
+ const effect = subMesh.effect;
188
+ if (!effect) {
189
+ return;
190
+ }
191
+ this._activeEffect = effect;
192
+ // Matrices
193
+ this.bindOnlyWorldMatrix(world);
194
+ this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix());
195
+ this._activeEffect.setVector3("cameraPosition", scene.activeCamera.position);
196
+ // "Color"
197
+ this._activeEffect.setDirectColor4("_Color_", this.color);
198
+ // "Shape"
199
+ this._activeEffect.setFloat("_Radius_", this.radius);
200
+ this._activeEffect.setFloat("_Fixed_Radius_", this.fixedRadius ? 1.0 : 0.0);
201
+ this._activeEffect.setFloat("_Filter_Width_", this._filterWidth);
202
+ // "Glow"
203
+ this._activeEffect.setFloat("_Glow_Fraction_", this.glowFraction);
204
+ this._activeEffect.setFloat("_Glow_Max_", this.glowMax);
205
+ this._activeEffect.setFloat("_Glow_Falloff_", this.glowFalloff);
206
+ this._afterBind(mesh, this._activeEffect, subMesh);
101
207
  }
102
- if (defines.VERTEXCOLOR) {
103
- attribs.push(VertexBuffer.ColorKind);
208
+ /**
209
+ * Get the list of animatables in the material.
210
+ * @returns the list of animatables object used in the material
211
+ */
212
+ getAnimatables() {
213
+ return [];
104
214
  }
105
- if (defines.TANGENT) {
106
- attribs.push(VertexBuffer.TangentKind);
215
+ dispose(forceDisposeEffect) {
216
+ super.dispose(forceDisposeEffect);
107
217
  }
108
- PrepareAttributesForInstances(attribs, defines);
109
- // Legacy browser patch
110
- const shaderName = "mrdlInnerquad";
111
- const join = defines.toString();
112
- const uniforms = [
113
- "world",
114
- "worldView",
115
- "worldViewProjection",
116
- "view",
117
- "projection",
118
- "viewProjection",
119
- "cameraPosition",
120
- "_Color_",
121
- "_Radius_",
122
- "_Fixed_Radius_",
123
- "_Filter_Width_",
124
- "_Glow_Fraction_",
125
- "_Glow_Max_",
126
- "_Glow_Falloff_",
127
- ];
128
- const samplers = [];
129
- const uniformBuffers = [];
130
- PrepareUniformsAndSamplersList({
131
- uniformsNames: uniforms,
132
- uniformBuffersNames: uniformBuffers,
133
- samplers: samplers,
134
- defines: defines,
135
- maxSimultaneousLights: 4,
136
- });
137
- subMesh.setEffect(scene.getEngine().createEffect(shaderName, {
138
- attributes: attribs,
139
- uniformsNames: uniforms,
140
- uniformBuffersNames: uniformBuffers,
141
- samplers: samplers,
142
- defines: join,
143
- fallbacks: fallbacks,
144
- onCompiled: this.onCompiled,
145
- onError: this.onError,
146
- indexParameters: { maxSimultaneousLights: 4 },
147
- }, engine), defines);
148
- }
149
- if (!subMesh.effect || !subMesh.effect.isReady()) {
150
- return false;
151
- }
152
- defines._renderId = scene.getRenderId();
153
- drawWrapper._wasPreviouslyReady = true;
154
- return true;
155
- }
156
- bindForSubMesh(world, mesh, subMesh) {
157
- const scene = this.getScene();
158
- const defines = subMesh.materialDefines;
159
- if (!defines) {
160
- return;
161
- }
162
- const effect = subMesh.effect;
163
- if (!effect) {
164
- return;
165
- }
166
- this._activeEffect = effect;
167
- // Matrices
168
- this.bindOnlyWorldMatrix(world);
169
- this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix());
170
- this._activeEffect.setVector3("cameraPosition", scene.activeCamera.position);
171
- // "Color"
172
- this._activeEffect.setDirectColor4("_Color_", this.color);
173
- // "Shape"
174
- this._activeEffect.setFloat("_Radius_", this.radius);
175
- this._activeEffect.setFloat("_Fixed_Radius_", this.fixedRadius ? 1.0 : 0.0);
176
- this._activeEffect.setFloat("_Filter_Width_", this._filterWidth);
177
- // "Glow"
178
- this._activeEffect.setFloat("_Glow_Fraction_", this.glowFraction);
179
- this._activeEffect.setFloat("_Glow_Max_", this.glowMax);
180
- this._activeEffect.setFloat("_Glow_Falloff_", this.glowFalloff);
181
- this._afterBind(mesh, this._activeEffect, subMesh);
182
- }
183
- /**
184
- * Get the list of animatables in the material.
185
- * @returns the list of animatables object used in the material
186
- */
187
- getAnimatables() {
188
- return [];
189
- }
190
- dispose(forceDisposeEffect) {
191
- super.dispose(forceDisposeEffect);
192
- }
193
- clone(name) {
194
- return SerializationHelper.Clone(() => new MRDLInnerquadMaterial(name, this.getScene()), this);
195
- }
196
- serialize() {
197
- const serializationObject = SerializationHelper.Serialize(this);
198
- serializationObject.customType = "BABYLON.MRDLInnerquadMaterial";
199
- return serializationObject;
200
- }
201
- getClassName() {
202
- return "MRDLInnerquadMaterial";
203
- }
204
- // Statics
205
- static Parse(source, scene, rootUrl) {
206
- return SerializationHelper.Parse(() => new MRDLInnerquadMaterial(source.name, scene), source, scene, rootUrl);
207
- }
208
- }
209
- __decorate([
210
- serialize()
211
- ], MRDLInnerquadMaterial.prototype, "color", void 0);
212
- __decorate([
213
- serialize()
214
- ], MRDLInnerquadMaterial.prototype, "radius", void 0);
215
- __decorate([
216
- serialize()
217
- ], MRDLInnerquadMaterial.prototype, "fixedRadius", void 0);
218
- __decorate([
219
- serialize()
220
- ], MRDLInnerquadMaterial.prototype, "glowFraction", void 0);
221
- __decorate([
222
- serialize()
223
- ], MRDLInnerquadMaterial.prototype, "glowMax", void 0);
224
- __decorate([
225
- serialize()
226
- ], MRDLInnerquadMaterial.prototype, "glowFalloff", void 0);
218
+ clone(name) {
219
+ return SerializationHelper.Clone(() => new _a(name, this.getScene()), this);
220
+ }
221
+ serialize() {
222
+ const serializationObject = SerializationHelper.Serialize(this);
223
+ serializationObject.customType = "BABYLON.MRDLInnerquadMaterial";
224
+ return serializationObject;
225
+ }
226
+ getClassName() {
227
+ return "MRDLInnerquadMaterial";
228
+ }
229
+ // Statics
230
+ static Parse(source, scene, rootUrl) {
231
+ return SerializationHelper.Parse(() => new _a(source.name, scene), source, scene, rootUrl);
232
+ }
233
+ },
234
+ (() => {
235
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
236
+ _color_decorators = [serialize()];
237
+ _radius_decorators = [serialize()];
238
+ _fixedRadius_decorators = [serialize()];
239
+ _glowFraction_decorators = [serialize()];
240
+ _glowMax_decorators = [serialize()];
241
+ _glowFalloff_decorators = [serialize()];
242
+ __esDecorate(null, null, _color_decorators, { kind: "field", name: "color", static: false, private: false, access: { has: obj => "color" in obj, get: obj => obj.color, set: (obj, value) => { obj.color = value; } }, metadata: _metadata }, _color_initializers, _color_extraInitializers);
243
+ __esDecorate(null, null, _radius_decorators, { kind: "field", name: "radius", static: false, private: false, access: { has: obj => "radius" in obj, get: obj => obj.radius, set: (obj, value) => { obj.radius = value; } }, metadata: _metadata }, _radius_initializers, _radius_extraInitializers);
244
+ __esDecorate(null, null, _fixedRadius_decorators, { kind: "field", name: "fixedRadius", static: false, private: false, access: { has: obj => "fixedRadius" in obj, get: obj => obj.fixedRadius, set: (obj, value) => { obj.fixedRadius = value; } }, metadata: _metadata }, _fixedRadius_initializers, _fixedRadius_extraInitializers);
245
+ __esDecorate(null, null, _glowFraction_decorators, { kind: "field", name: "glowFraction", static: false, private: false, access: { has: obj => "glowFraction" in obj, get: obj => obj.glowFraction, set: (obj, value) => { obj.glowFraction = value; } }, metadata: _metadata }, _glowFraction_initializers, _glowFraction_extraInitializers);
246
+ __esDecorate(null, null, _glowMax_decorators, { kind: "field", name: "glowMax", static: false, private: false, access: { has: obj => "glowMax" in obj, get: obj => obj.glowMax, set: (obj, value) => { obj.glowMax = value; } }, metadata: _metadata }, _glowMax_initializers, _glowMax_extraInitializers);
247
+ __esDecorate(null, null, _glowFalloff_decorators, { kind: "field", name: "glowFalloff", static: false, private: false, access: { has: obj => "glowFalloff" in obj, get: obj => obj.glowFalloff, set: (obj, value) => { obj.glowFalloff = value; } }, metadata: _metadata }, _glowFalloff_initializers, _glowFalloff_extraInitializers);
248
+ if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
249
+ })(),
250
+ _a;
251
+ })();
252
+ export { MRDLInnerquadMaterial };
227
253
  let _Registered = false;
228
254
  /**
229
255
  * Registers the MRDLInnerquadMaterial class with the type store for serialization support.