babylonjs-gui 5.26.1 → 5.27.1

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.
@@ -2458,7 +2458,7 @@ export class InputText extends Control implements IFocusableControl {
2458
2458
  /** Gets or sets the text displayed when the control is empty */
2459
2459
  get placeholderText(): string;
2460
2460
  set placeholderText(value: string);
2461
- /** Gets or sets the dead key flag */
2461
+ /** Gets or sets the dead key. 0 to disable. */
2462
2462
  get deadKey(): boolean;
2463
2463
  set deadKey(flag: boolean);
2464
2464
  /** Gets or sets the highlight text */
@@ -5384,9 +5384,10 @@ export * from "babylonjs-gui/3D/controls/button3D";
5384
5384
  export * from "babylonjs-gui/3D/controls/container3D";
5385
5385
  export * from "babylonjs-gui/3D/controls/control3D";
5386
5386
  export * from "babylonjs-gui/3D/controls/cylinderPanel";
5387
+ export * from "babylonjs-gui/3D/controls/handMenu";
5388
+ export * from "babylonjs-gui/3D/controls/holographicBackplate";
5387
5389
  export * from "babylonjs-gui/3D/controls/holographicButton";
5388
5390
  export * from "babylonjs-gui/3D/controls/holographicSlate";
5389
- export * from "babylonjs-gui/3D/controls/handMenu";
5390
5391
  export * from "babylonjs-gui/3D/controls/meshButton3D";
5391
5392
  export * from "babylonjs-gui/3D/controls/nearMenu";
5392
5393
  export * from "babylonjs-gui/3D/controls/planePanel";
@@ -5399,7 +5400,7 @@ export * from "babylonjs-gui/3D/controls/touchMeshButton3D";
5399
5400
  export * from "babylonjs-gui/3D/controls/touchHolographicButton";
5400
5401
  export * from "babylonjs-gui/3D/controls/touchHolographicMenu";
5401
5402
  export * from "babylonjs-gui/3D/controls/volumeBasedPanel";
5402
- export * from "babylonjs-gui/3D/controls/holographicBackplate";
5403
+ export { TouchHolographicButton as TouchHolographicButtonV3 } from "babylonjs-gui/3D/controls/MRTK3/touchHolographicButton";
5403
5404
 
5404
5405
  }
5405
5406
  declare module "babylonjs-gui/3D/controls/meshButton3D" {
@@ -5425,6 +5426,229 @@ export class MeshButton3D extends Button3D {
5425
5426
  protected _affectMaterial(mesh: AbstractMesh): void;
5426
5427
  }
5427
5428
 
5429
+ }
5430
+ declare module "babylonjs-gui/3D/controls/MRTK3/touchHolographicButton" {
5431
+ import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
5432
+ import { Mesh } from "babylonjs/Meshes/mesh";
5433
+ import { Nullable } from "babylonjs/types";
5434
+ import { Scene } from "babylonjs/scene";
5435
+ import { AdvancedDynamicTexture } from "babylonjs-gui/2D/advancedDynamicTexture";
5436
+ import { Color3, Color4 } from "babylonjs/Maths/math.color";
5437
+ import { MRDLBackglowMaterial } from "babylonjs-gui/3D/materials/mrdl/mrdlBackglowMaterial";
5438
+ import { MRDLBackplateMaterial } from "babylonjs-gui/3D/materials/mrdl/mrdlBackplateMaterial";
5439
+ import { MRDLFrontplateMaterial } from "babylonjs-gui/3D/materials/mrdl/mrdlFrontplateMaterial";
5440
+ import { MRDLInnerquadMaterial } from "babylonjs-gui/3D/materials/mrdl/mrdlInnerquadMaterial";
5441
+ import { StandardMaterial } from "babylonjs/Materials/standardMaterial";
5442
+ import { TouchButton3D } from "babylonjs-gui/3D/controls/touchButton3D";
5443
+ import { TransformNode } from "babylonjs/Meshes/transformNode";
5444
+ /**
5445
+ * Class used to create the mrtkv3 button
5446
+ */
5447
+ export class TouchHolographicButton extends TouchButton3D {
5448
+ /**
5449
+ * Base Url for the frontplate model.
5450
+ */
5451
+ static MRTK_ASSET_BASE_URL: string;
5452
+ /**
5453
+ * File name for the frontplate model.
5454
+ */
5455
+ static FRONTPLATE_MODEL_FILENAME: string;
5456
+ /**
5457
+ * File name for the backplate model.
5458
+ */
5459
+ static BACKPLATE_MODEL_FILENAME: string;
5460
+ /**
5461
+ * File name for the backglow model.
5462
+ */
5463
+ static BACKGLOW_MODEL_FILENAME: string;
5464
+ /**
5465
+ * File name for the innerquad model.
5466
+ */
5467
+ static INNERQUAD_MODEL_FILENAME: string;
5468
+ /**
5469
+ * Gets or sets the horizontal scaling for the button.
5470
+ */
5471
+ width: number;
5472
+ /**
5473
+ * Gets or sets the vertical scaling for the button.
5474
+ */
5475
+ height: number;
5476
+ /**
5477
+ * Gets or sets the bevel radius for the button.
5478
+ */
5479
+ radius: number;
5480
+ /**
5481
+ * Gets or sets the font size of the button text in pixels.
5482
+ * This is only adjustable for a button with width to height ratio greater than 1.
5483
+ */
5484
+ textSizeInPixels: number;
5485
+ /**
5486
+ * Gets or sets the size of the button image in pixels.
5487
+ * This is only adjustable for a button with width to height ratio greater than 1.
5488
+ */
5489
+ imageSizeInPixels: number;
5490
+ /**
5491
+ * Gets or sets the color of the button plate.
5492
+ */
5493
+ plateMaterialColor: Color3;
5494
+ /**
5495
+ * Gets or sets the depth of the button's front plate.
5496
+ * This variable determines the z scaling and z position for some of the button's meshes.
5497
+ */
5498
+ frontPlateDepth: number;
5499
+ /**
5500
+ * Gets or sets the depth of the button's back plate.
5501
+ * This variable determines the z scaling and z position for some of the button's meshes.
5502
+ */
5503
+ backPlateDepth: number;
5504
+ /**
5505
+ * Gets or sets the offset value for button's back glow.
5506
+ * This variable determines the x, y scaling of the button's meshes.
5507
+ */
5508
+ backGlowOffset: number;
5509
+ /**
5510
+ * Gets or sets the value that determines the z scaling and z position for the innerQuad and BackGlow meshes.
5511
+ */
5512
+ flatPlaneDepth: number;
5513
+ /**
5514
+ * Gets or sets the radius for FrontMaterial and innerQuadMaterial.
5515
+ */
5516
+ innerQuadRadius: number;
5517
+ /**
5518
+ * Gets or sets the color for innerQuadMaterial.
5519
+ */
5520
+ innerQuadColor: Color4;
5521
+ /**
5522
+ * Gets or sets the color for innerQuadMaterial for when it is toggled.
5523
+ */
5524
+ innerQuadToggledColor: Color4;
5525
+ /**
5526
+ * Gets or sets the color for innerQuadMaterial for when it is hovered.
5527
+ */
5528
+ innerQuadHoverColor: Color4;
5529
+ /**
5530
+ * Gets or sets the color for innerQuadMaterial for when it is toggled and hovered.
5531
+ */
5532
+ innerQuadToggledHoverColor: Color4;
5533
+ private _backPlate;
5534
+ private _textPlate;
5535
+ private _frontPlate;
5536
+ private _backGlow;
5537
+ private _innerQuad;
5538
+ private _collisionPlate;
5539
+ private _frontPlateCollisionMesh;
5540
+ private _isBackplateVisible;
5541
+ private _text;
5542
+ private _subtext;
5543
+ private _imageUrl;
5544
+ private _shareMaterials;
5545
+ private _frontMaterial;
5546
+ private _backMaterial;
5547
+ private _backGlowMaterial;
5548
+ private _innerQuadMaterial;
5549
+ private _plateMaterial;
5550
+ private _pickedPointObserver;
5551
+ private _pointerClickObserver;
5552
+ private _pointerEnterObserver;
5553
+ private _pointerOutObserver;
5554
+ private _toggleObserver;
5555
+ private _tooltipFade;
5556
+ private _tooltipTextBlock;
5557
+ private _tooltipTexture;
5558
+ private _tooltipMesh;
5559
+ private _tooltipHoverObserver;
5560
+ private _tooltipOutObserver;
5561
+ private _disposeTooltip;
5562
+ /**
5563
+ * Rendering ground id of all the mesh in the button
5564
+ */
5565
+ set renderingGroupId(id: number);
5566
+ get renderingGroupId(): number;
5567
+ /**
5568
+ * Gets the mesh used to render this control
5569
+ */
5570
+ get mesh(): Nullable<AbstractMesh>;
5571
+ /**
5572
+ * Text to be displayed on the tooltip shown when hovering on the button. When set to null tooltip is disabled. (Default: null)
5573
+ * Set this property after adding the button to the GUI3DManager
5574
+ */
5575
+ set tooltipText(text: Nullable<string>);
5576
+ get tooltipText(): Nullable<string>;
5577
+ /**
5578
+ * Gets or sets text for the button
5579
+ */
5580
+ get text(): string;
5581
+ set text(value: string);
5582
+ /**
5583
+ * Gets or sets subtext for a button with larger width
5584
+ */
5585
+ get subtext(): string;
5586
+ set subtext(value: string);
5587
+ /**
5588
+ * Gets or sets the image url for the button
5589
+ */
5590
+ get imageUrl(): string;
5591
+ set imageUrl(value: string);
5592
+ /**
5593
+ * Gets the back material used by this button
5594
+ */
5595
+ get backMaterial(): MRDLBackplateMaterial;
5596
+ /**
5597
+ * Gets the front material used by this button
5598
+ */
5599
+ get frontMaterial(): MRDLFrontplateMaterial;
5600
+ /**
5601
+ * Gets the back glow material used by this button
5602
+ */
5603
+ get backGlowMaterial(): MRDLBackglowMaterial;
5604
+ /**
5605
+ * Gets the inner quad material used by this button
5606
+ */
5607
+ get innerQuadMaterial(): MRDLInnerquadMaterial;
5608
+ /**
5609
+ * Gets the plate material used by this button
5610
+ */
5611
+ get plateMaterial(): StandardMaterial;
5612
+ /**
5613
+ * Gets a boolean indicating if this button shares its material with other V3 Buttons
5614
+ */
5615
+ get shareMaterials(): boolean;
5616
+ /**
5617
+ * Sets whether the backplate is visible or hidden. Hiding the backplate is not recommended without some sort of replacement
5618
+ */
5619
+ set isBackplateVisible(isVisible: boolean);
5620
+ /**
5621
+ * Creates a new button
5622
+ * @param name defines the control name
5623
+ * @param shareMaterials
5624
+ */
5625
+ constructor(name?: string, shareMaterials?: boolean);
5626
+ protected _getTypeName(): string;
5627
+ private _rebuildContent;
5628
+ private _getAspectRatio;
5629
+ private _alignContentVertically;
5630
+ private _alignContentHorizontally;
5631
+ protected _createNode(scene: Scene): TransformNode;
5632
+ private _createBackPlate;
5633
+ private _createFrontPlate;
5634
+ private _createInnerQuad;
5635
+ private _createBackGlow;
5636
+ protected _applyFacade(facadeTexture: AdvancedDynamicTexture): void;
5637
+ private _performClickAnimation;
5638
+ private _performEnterExitAnimation;
5639
+ private _createBackMaterial;
5640
+ private _createFrontMaterial;
5641
+ private _createBackGlowMaterial;
5642
+ private _createInnerQuadMaterial;
5643
+ private _createPlateMaterial;
5644
+ protected _onToggle(newState: boolean): void;
5645
+ protected _affectMaterial(mesh: Mesh): void;
5646
+ /**
5647
+ * Releases all associated resources
5648
+ */
5649
+ dispose(): void;
5650
+ }
5651
+
5428
5652
  }
5429
5653
  declare module "babylonjs-gui/3D/controls/nearMenu" {
5430
5654
  import { Scene } from "babylonjs/scene";
@@ -6871,6 +7095,96 @@ export * from "babylonjs-gui/3D/materials/mrdl/mrdlSliderBarMaterial";
6871
7095
  export * from "babylonjs-gui/3D/materials/mrdl/mrdlSliderThumbMaterial";
6872
7096
  export * from "babylonjs-gui/3D/materials/mrdl/mrdlBackplateMaterial";
6873
7097
 
7098
+ }
7099
+ declare module "babylonjs-gui/3D/materials/mrdl/mrdlBackglowMaterial" {
7100
+ import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
7101
+ import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
7102
+ import { IAnimatable } from "babylonjs/Animations/animatable.interface";
7103
+ import { Matrix } from "babylonjs/Maths/math.vector";
7104
+ import { Mesh } from "babylonjs/Meshes/mesh";
7105
+ import { Nullable } from "babylonjs/types";
7106
+ import { Scene } from "babylonjs/scene";
7107
+ import { SubMesh } from "babylonjs/Meshes/subMesh";
7108
+ import { Color4 } from "babylonjs/Maths/math.color";
7109
+ import { PushMaterial } from "babylonjs/Materials/pushMaterial";
7110
+ import "babylonjs-gui/3D/materials/mrdl/shaders/mrdlBackglow.fragment";
7111
+ import "babylonjs-gui/3D/materials/mrdl/shaders/mrdlBackglow.vertex";
7112
+ export class MRDLBackglowMaterial extends PushMaterial {
7113
+ /**
7114
+ * Gets or sets the bevel radius on the backglow. If this value is changed, update the lineWidth to match.
7115
+ */
7116
+ bevelRadius: number;
7117
+ /**
7118
+ * Gets or sets the line width of the backglow.
7119
+ */
7120
+ lineWidth: number;
7121
+ /**
7122
+ * Gets or sets whether to use absolute sizes when calculating effects on the backglow.
7123
+ * Since desktop and VR/AR have different relative sizes, it's usually best to keep this false.
7124
+ */
7125
+ absoluteSizes: boolean;
7126
+ /**
7127
+ * Gets or sets the tuning motion of the backglow.
7128
+ */
7129
+ tuningMotion: number;
7130
+ /**
7131
+ * Gets or sets the motion of the backglow.
7132
+ */
7133
+ motion: number;
7134
+ /**
7135
+ * Gets or sets the maximum intensity of the backglow.
7136
+ */
7137
+ maxIntensity: number;
7138
+ /**
7139
+ * Gets or sets the fade-in exponent of the intensity of the backglow.
7140
+ */
7141
+ intensityFadeInExponent: number;
7142
+ /**
7143
+ * Gets or sets the start of the outer fuzz effect on the backglow.
7144
+ */
7145
+ outerFuzzStart: number;
7146
+ /**
7147
+ * Gets or sets the end of the outer fuzz effect on the backglow.
7148
+ */
7149
+ outerFuzzEnd: number;
7150
+ /**
7151
+ * Gets or sets the color of the backglow.
7152
+ */
7153
+ color: Color4;
7154
+ /**
7155
+ * Gets or sets the inner color of the backglow.
7156
+ */
7157
+ innerColor: Color4;
7158
+ /**
7159
+ * Gets or sets the blend exponent of the backglow.
7160
+ */
7161
+ blendExponent: number;
7162
+ /**
7163
+ * Gets or sets the falloff of the backglow.
7164
+ */
7165
+ falloff: number;
7166
+ /**
7167
+ * Gets or sets the bias of the backglow.
7168
+ */
7169
+ bias: number;
7170
+ constructor(name: string, scene: Scene);
7171
+ needAlphaBlending(): boolean;
7172
+ needAlphaTesting(): boolean;
7173
+ getAlphaTestTexture(): Nullable<BaseTexture>;
7174
+ isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh): boolean;
7175
+ bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
7176
+ /**
7177
+ * Get the list of animatables in the material.
7178
+ * @returns the list of animatables object used in the material
7179
+ */
7180
+ getAnimatables(): IAnimatable[];
7181
+ dispose(forceDisposeEffect?: boolean): void;
7182
+ clone(name: string): MRDLBackglowMaterial;
7183
+ serialize(): unknown;
7184
+ getClassName(): string;
7185
+ static Parse(source: any, scene: Scene, rootUrl: string): MRDLBackglowMaterial;
7186
+ }
7187
+
6874
7188
  }
6875
7189
  declare module "babylonjs-gui/3D/materials/mrdl/mrdlBackplateMaterial" {
6876
7190
  import { Nullable } from "babylonjs/types";
@@ -6911,100 +7225,348 @@ export class MRDLBackplateMaterial extends PushMaterial {
6911
7225
  /** @internal */
6912
7226
  _filterWidth: number;
6913
7227
  /**
6914
- * Gets or sets the base color of the backplate.
7228
+ * Gets or sets the base color of the backplate.
7229
+ */
7230
+ baseColor: Color4;
7231
+ /**
7232
+ * Gets or sets the line color of the backplate.
7233
+ */
7234
+ lineColor: Color4;
7235
+ /**
7236
+ * Gets or sets the top left Radii Multiplier.
7237
+ */
7238
+ radiusTopLeft: number;
7239
+ /**
7240
+ * Gets or sets the top left Radii Multiplier.
7241
+ */
7242
+ radiusTopRight: number;
7243
+ /**
7244
+ * Gets or sets the top left Radii Multiplier.
7245
+ */
7246
+ radiusBottomLeft: number;
7247
+ /**
7248
+ * Gets or sets the top left Radii Multiplier.
7249
+ */
7250
+ radiusBottomRight: number;
7251
+ /** @internal */
7252
+ _rate: number;
7253
+ /**
7254
+ * Gets or sets the color of the highlights on the backplate line.
7255
+ */
7256
+ highlightColor: Color4;
7257
+ /**
7258
+ * Gets or sets the width of the highlights on the backplate line.
7259
+ */
7260
+ highlightWidth: number;
7261
+ /** @internal */
7262
+ _highlightTransform: Vector4;
7263
+ /** @internal */
7264
+ _highlight: number;
7265
+ /**
7266
+ * Gets or sets the intensity of the iridescence effect.
7267
+ */
7268
+ iridescenceIntensity: number;
7269
+ /**
7270
+ * Gets or sets the intensity of the iridescence effect on the backplate edges.
7271
+ */
7272
+ iridescenceEdgeIntensity: number;
7273
+ /**
7274
+ * Gets or sets the Tint of the iridescence effect on the backplate.
7275
+ */
7276
+ iridescenceTint: Color4;
7277
+ /** @internal */
7278
+ _angle: number;
7279
+ /**
7280
+ * Gets or sets the opacity of the backplate (0.0 - 1.0).
7281
+ */
7282
+ fadeOut: number;
7283
+ /** @internal */
7284
+ _reflected: boolean;
7285
+ /** @internal */
7286
+ _frequency: number;
7287
+ /** @internal */
7288
+ _verticalOffset: number;
7289
+ /**
7290
+ * Gets or sets the gradient color effect on the backplate.
7291
+ */
7292
+ gradientColor: Color4;
7293
+ /**
7294
+ * Gets or sets the top left gradient color effect on the backplate.
7295
+ */
7296
+ topLeftGradientColor: Color4;
7297
+ /**
7298
+ * Gets or sets the top right gradient color effect on the backplate.
7299
+ */
7300
+ topRightGradientColor: Color4;
7301
+ /**
7302
+ * Gets or sets the bottom left gradient color effect on the backplate.
7303
+ */
7304
+ bottomLeftGradientColor: Color4;
7305
+ /**
7306
+ * Gets or sets the bottom right gradient color effect on the backplate.
7307
+ */
7308
+ bottomRightGradientColor: Color4;
7309
+ /**
7310
+ * Gets or sets the edge width of the backplate.
7311
+ */
7312
+ edgeWidth: number;
7313
+ /**
7314
+ * Gets or sets the edge width of the backplate.
7315
+ */
7316
+ edgePower: number;
7317
+ /**
7318
+ * Gets or sets the edge width of the backplate.
7319
+ */
7320
+ edgeLineGradientBlend: number;
7321
+ constructor(name: string, scene?: Scene);
7322
+ needAlphaBlending(): boolean;
7323
+ needAlphaTesting(): boolean;
7324
+ getAlphaTestTexture(): Nullable<BaseTexture>;
7325
+ isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh): boolean;
7326
+ bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
7327
+ /**
7328
+ * Get the list of animatables in the material.
7329
+ * @returns the list of animatables object used in the material
7330
+ */
7331
+ getAnimatables(): IAnimatable[];
7332
+ dispose(forceDisposeEffect?: boolean): void;
7333
+ clone(name: string): MRDLBackplateMaterial;
7334
+ serialize(): any;
7335
+ getClassName(): string;
7336
+ static Parse(source: any, scene: Scene, rootUrl: string): MRDLBackplateMaterial;
7337
+ }
7338
+
7339
+ }
7340
+ declare module "babylonjs-gui/3D/materials/mrdl/mrdlFrontplateMaterial" {
7341
+ import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
7342
+ import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
7343
+ import { IAnimatable } from "babylonjs/Animations/animatable.interface";
7344
+ import { Matrix } from "babylonjs/Maths/math.vector";
7345
+ import { Mesh } from "babylonjs/Meshes/mesh";
7346
+ import { Nullable } from "babylonjs/types";
7347
+ import { Scene } from "babylonjs/scene";
7348
+ import { SubMesh } from "babylonjs/Meshes/subMesh";
7349
+ import { Color4 } from "babylonjs/Maths/math.color";
7350
+ import { PushMaterial } from "babylonjs/Materials/pushMaterial";
7351
+ import { Vector3 } from "babylonjs/Maths/math.vector";
7352
+ import "babylonjs-gui/3D/materials/mrdl/shaders/mrdlFrontplate.fragment";
7353
+ import "babylonjs-gui/3D/materials/mrdl/shaders/mrdlFrontplate.vertex";
7354
+ export class MRDLFrontplateMaterial extends PushMaterial {
7355
+ /**
7356
+ * Gets or sets the corner radius on the frontplate. If this value is changed, update the lineWidth to match.
7357
+ */
7358
+ radius: number;
7359
+ /**
7360
+ * Gets or sets the line width of the frontplate.
7361
+ */
7362
+ lineWidth: number;
7363
+ /**
7364
+ * Gets or sets whether the scale is relative to the frontplate height.
7365
+ */
7366
+ relativeToHeight: boolean;
7367
+ /** @hidden */
7368
+ _filterWidth: number;
7369
+ /**
7370
+ * Gets or sets the edge color of the frontplate.
7371
+ */
7372
+ edgeColor: Color4;
7373
+ /**
7374
+ * Gets or sets whether to enable blob effects on the frontplate.
7375
+ */
7376
+ blobEnable: boolean;
7377
+ /**
7378
+ * Gets or sets the blob position on the frontplate.
7379
+ */
7380
+ blobPosition: Vector3;
7381
+ /**
7382
+ * Gets or sets the blob intensity of the frontplate.
7383
+ */
7384
+ blobIntensity: number;
7385
+ /**
7386
+ * Gets or sets the blob near size of the frontplate.
7387
+ */
7388
+ blobNearSize: number;
7389
+ /**
7390
+ * Gets or sets the blob far size of the frontplate.
7391
+ */
7392
+ blobFarSize: number;
7393
+ /**
7394
+ * Gets or sets the blob near distance of the frontplate.
7395
+ */
7396
+ blobNearDistance: number;
7397
+ /**
7398
+ * Gets or sets the blob far distance of the frontplate.
7399
+ */
7400
+ blobFarDistance: number;
7401
+ /**
7402
+ * Gets or sets the blob fade length of the frontplate.
7403
+ */
7404
+ blobFadeLength: number;
7405
+ /**
7406
+ * Gets or sets the blob inner fade of the frontplate.
7407
+ */
7408
+ blobInnerFade: number;
7409
+ /**
7410
+ * Gets or sets the blob pulse of the frontplate.
7411
+ */
7412
+ blobPulse: number;
7413
+ /**
7414
+ * Gets or sets the blob fade effect on the frontplate.
7415
+ */
7416
+ blobFade: number;
7417
+ /**
7418
+ * Gets or sets the maximum size of the blob pulse on the frontplate.
7419
+ */
7420
+ blobPulseMaxSize: number;
7421
+ /**
7422
+ * Gets or sets whether to enable extra blob effects of the frontplate.
7423
+ */
7424
+ blobEnable2: boolean;
7425
+ /**
7426
+ * Gets or sets blob2 position of the frontplate.
7427
+ */
7428
+ blobPosition2: Vector3;
7429
+ /**
7430
+ * Gets or sets the blob2 near size of the frontplate.
7431
+ */
7432
+ blobNearSize2: number;
7433
+ /**
7434
+ * Gets or sets the blob2 inner fade of the frontplate.
7435
+ */
7436
+ blobInnerFade2: number;
7437
+ /**
7438
+ * Gets or sets the blob2 pulse of the frontplate.
7439
+ */
7440
+ blobPulse2: number;
7441
+ /**
7442
+ * Gets or sets the blob2 fade effect on the frontplate.
7443
+ */
7444
+ blobFade2: number;
7445
+ /**
7446
+ * Gets or sets the gaze intensity of the frontplate.
7447
+ */
7448
+ gazeIntensity: number;
7449
+ /**
7450
+ * Gets or sets the gaze focus of the frontplate.
7451
+ */
7452
+ gazeFocus: number;
7453
+ /**
7454
+ * Gets or sets the selection fuzz of the frontplate.
6915
7455
  */
6916
- baseColor: Color4;
7456
+ selectionFuzz: number;
6917
7457
  /**
6918
- * Gets or sets the line color of the backplate.
7458
+ * Gets or sets the fade intensity of the frontplate.
6919
7459
  */
6920
- lineColor: Color4;
7460
+ selected: number;
6921
7461
  /**
6922
- * Gets or sets the top left Radii Multiplier.
7462
+ * Gets or sets the selection fade intensity of the frontplate.
6923
7463
  */
6924
- radiusTopLeft: number;
7464
+ selectionFade: number;
6925
7465
  /**
6926
- * Gets or sets the top left Radii Multiplier.
7466
+ * Gets or sets the selection fade size of the frontplate.
6927
7467
  */
6928
- radiusTopRight: number;
7468
+ selectionFadeSize: number;
6929
7469
  /**
6930
- * Gets or sets the top left Radii Multiplier.
7470
+ * Gets or sets the selected distance of the frontplate.
6931
7471
  */
6932
- radiusBottomLeft: number;
7472
+ selectedDistance: number;
6933
7473
  /**
6934
- * Gets or sets the top left Radii Multiplier.
7474
+ * Gets or sets the selected fade length of the frontplate.
6935
7475
  */
6936
- radiusBottomRight: number;
6937
- /** @internal */
6938
- _rate: number;
7476
+ selectedFadeLength: number;
6939
7477
  /**
6940
- * Gets or sets the color of the highlights on the backplate line.
7478
+ * Gets or sets the proximity maximum intensity of the frontplate.
6941
7479
  */
6942
- highlightColor: Color4;
7480
+ proximityMaxIntensity: number;
6943
7481
  /**
6944
- * Gets or sets the width of the highlights on the backplate line.
7482
+ * Gets or sets the proximity far distance of the frontplate.
6945
7483
  */
6946
- highlightWidth: number;
6947
- /** @internal */
6948
- _highlightTransform: Vector4;
6949
- /** @internal */
6950
- _highlight: number;
7484
+ proximityFarDistance: number;
6951
7485
  /**
6952
- * Gets or sets the intensity of the iridescence effect.
7486
+ * Gets or sets the proximity near radius of the frontplate.
6953
7487
  */
6954
- iridescenceIntensity: number;
7488
+ proximityNearRadius: number;
6955
7489
  /**
6956
- * Gets or sets the intensity of the iridescence effect on the backplate edges.
7490
+ * Gets or sets the proximity anisotropy of the frontplate.
6957
7491
  */
6958
- iridescenceEdgeIntensity: number;
7492
+ proximityAnisotropy: number;
6959
7493
  /**
6960
- * Gets or sets the Tint of the iridescence effect on the backplate.
7494
+ * Gets or sets whether to use global left index on the frontplate.
6961
7495
  */
6962
- iridescenceTint: Color4;
6963
- /** @internal */
6964
- _angle: number;
7496
+ useGlobalLeftIndex: boolean;
6965
7497
  /**
6966
- * Gets or sets the opacity of the backplate (0.0 - 1.0).
7498
+ * Gets or sets whether to use global right index of the frontplate.
6967
7499
  */
6968
- fadeOut: number;
6969
- /** @internal */
6970
- _reflected: boolean;
6971
- /** @internal */
6972
- _frequency: number;
6973
- /** @internal */
6974
- _verticalOffset: number;
7500
+ useGlobalRightIndex: boolean;
6975
7501
  /**
6976
- * Gets or sets the gradient color effect on the backplate.
7502
+ * URL pointing to the texture used to define the coloring for the BLOB.
6977
7503
  */
6978
- gradientColor: Color4;
7504
+ static BLOB_TEXTURE_URL: string;
6979
7505
  /**
6980
- * Gets or sets the top left gradient color effect on the backplate.
7506
+ * Gets or sets the opacity of the frontplate (0.0 - 1.0).
6981
7507
  */
6982
- topLeftGradientColor: Color4;
7508
+ fadeOut: number;
7509
+ private _blobTexture;
7510
+ constructor(name: string, scene: Scene);
7511
+ needAlphaBlending(): boolean;
7512
+ needAlphaTesting(): boolean;
7513
+ getAlphaTestTexture(): Nullable<BaseTexture>;
7514
+ isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh): boolean;
7515
+ bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
6983
7516
  /**
6984
- * Gets or sets the top right gradient color effect on the backplate.
7517
+ * Get the list of animatables in the material.
7518
+ * @returns the list of animatables object used in the material
6985
7519
  */
6986
- topRightGradientColor: Color4;
7520
+ getAnimatables(): IAnimatable[];
7521
+ dispose(forceDisposeEffect?: boolean): void;
7522
+ clone(name: string): MRDLFrontplateMaterial;
7523
+ serialize(): unknown;
7524
+ getClassName(): string;
7525
+ static Parse(source: any, scene: Scene, rootUrl: string): MRDLFrontplateMaterial;
7526
+ }
7527
+
7528
+ }
7529
+ declare module "babylonjs-gui/3D/materials/mrdl/mrdlInnerquadMaterial" {
7530
+ import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
7531
+ import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
7532
+ import { IAnimatable } from "babylonjs/Animations/animatable.interface";
7533
+ import { Matrix } from "babylonjs/Maths/math.vector";
7534
+ import { Mesh } from "babylonjs/Meshes/mesh";
7535
+ import { Nullable } from "babylonjs/types";
7536
+ import { Scene } from "babylonjs/scene";
7537
+ import { SubMesh } from "babylonjs/Meshes/subMesh";
7538
+ import { Color4 } from "babylonjs/Maths/math.color";
7539
+ import { PushMaterial } from "babylonjs/Materials/pushMaterial";
7540
+ import "babylonjs-gui/3D/materials/mrdl/shaders/mrdlInnerquad.fragment";
7541
+ import "babylonjs-gui/3D/materials/mrdl/shaders/mrdlInnerquad.vertex";
7542
+ export class MRDLInnerquadMaterial extends PushMaterial {
6987
7543
  /**
6988
- * Gets or sets the bottom left gradient color effect on the backplate.
7544
+ * Gets or sets the color of the innerquad.
6989
7545
  */
6990
- bottomLeftGradientColor: Color4;
7546
+ color: Color4;
6991
7547
  /**
6992
- * Gets or sets the bottom right gradient color effect on the backplate.
7548
+ * Gets or sets the corner radius on the innerquad. If this value is changed, update the lineWidth to match.
6993
7549
  */
6994
- bottomRightGradientColor: Color4;
7550
+ radius: number;
6995
7551
  /**
6996
- * Gets or sets the edge width of the backplate.
7552
+ * Gets or sets whether the radius of the innerquad should be fixed.
6997
7553
  */
6998
- edgeWidth: number;
7554
+ fixedRadius: boolean;
7555
+ /** @hidden */
7556
+ _filterWidth: number;
6999
7557
  /**
7000
- * Gets or sets the edge width of the backplate.
7558
+ * Gets or sets the glow fraction of the innerquad.
7001
7559
  */
7002
- edgePower: number;
7560
+ glowFraction: number;
7003
7561
  /**
7004
- * Gets or sets the edge width of the backplate.
7562
+ * Gets or sets the maximum glow intensity of the innerquad.
7005
7563
  */
7006
- edgeLineGradientBlend: number;
7007
- constructor(name: string, scene?: Scene);
7564
+ glowMax: number;
7565
+ /**
7566
+ * Gets or sets the glow falloff effect of the innerquad.
7567
+ */
7568
+ glowFalloff: number;
7569
+ constructor(name: string, scene: Scene);
7008
7570
  needAlphaBlending(): boolean;
7009
7571
  needAlphaTesting(): boolean;
7010
7572
  getAlphaTestTexture(): Nullable<BaseTexture>;
@@ -7016,10 +7578,10 @@ export class MRDLBackplateMaterial extends PushMaterial {
7016
7578
  */
7017
7579
  getAnimatables(): IAnimatable[];
7018
7580
  dispose(forceDisposeEffect?: boolean): void;
7019
- clone(name: string): MRDLBackplateMaterial;
7020
- serialize(): any;
7581
+ clone(name: string): MRDLInnerquadMaterial;
7582
+ serialize(): unknown;
7021
7583
  getClassName(): string;
7022
- static Parse(source: any, scene: Scene, rootUrl: string): MRDLBackplateMaterial;
7584
+ static Parse(source: any, scene: Scene, rootUrl: string): MRDLInnerquadMaterial;
7023
7585
  }
7024
7586
 
7025
7587
  }
@@ -7696,6 +8258,22 @@ export class MRDLSliderThumbMaterial extends PushMaterial {
7696
8258
  static Parse(source: any, scene: Scene, rootUrl: string): MRDLSliderThumbMaterial;
7697
8259
  }
7698
8260
 
8261
+ }
8262
+ declare module "babylonjs-gui/3D/materials/mrdl/shaders/mrdlBackglow.fragment" {
8263
+ /** @internal */
8264
+ export const mrdlBackglowPixelShader: {
8265
+ name: string;
8266
+ shader: string;
8267
+ };
8268
+
8269
+ }
8270
+ declare module "babylonjs-gui/3D/materials/mrdl/shaders/mrdlBackglow.vertex" {
8271
+ /** @internal */
8272
+ export const mrdlBackglowVertexShader: {
8273
+ name: string;
8274
+ shader: string;
8275
+ };
8276
+
7699
8277
  }
7700
8278
  declare module "babylonjs-gui/3D/materials/mrdl/shaders/mrdlBackplate.fragment" {
7701
8279
  /** @internal */
@@ -7712,6 +8290,38 @@ export const mrdlBackplateVertexShader: {
7712
8290
  shader: string;
7713
8291
  };
7714
8292
 
8293
+ }
8294
+ declare module "babylonjs-gui/3D/materials/mrdl/shaders/mrdlFrontplate.fragment" {
8295
+ /** @internal */
8296
+ export const mrdlFrontplatePixelShader: {
8297
+ name: string;
8298
+ shader: string;
8299
+ };
8300
+
8301
+ }
8302
+ declare module "babylonjs-gui/3D/materials/mrdl/shaders/mrdlFrontplate.vertex" {
8303
+ /** @internal */
8304
+ export const mrdlFrontplateVertexShader: {
8305
+ name: string;
8306
+ shader: string;
8307
+ };
8308
+
8309
+ }
8310
+ declare module "babylonjs-gui/3D/materials/mrdl/shaders/mrdlInnerquad.fragment" {
8311
+ /** @internal */
8312
+ export const mrdlInnerquadPixelShader: {
8313
+ name: string;
8314
+ shader: string;
8315
+ };
8316
+
8317
+ }
8318
+ declare module "babylonjs-gui/3D/materials/mrdl/shaders/mrdlInnerquad.vertex" {
8319
+ /** @internal */
8320
+ export const mrdlInnerquadVertexShader: {
8321
+ name: string;
8322
+ shader: string;
8323
+ };
8324
+
7715
8325
  }
7716
8326
  declare module "babylonjs-gui/3D/materials/mrdl/shaders/mrdlSliderBar.fragment" {
7717
8327
  /** @internal */
@@ -10089,7 +10699,7 @@ declare module BABYLON.GUI {
10089
10699
  /** Gets or sets the text displayed when the control is empty */
10090
10700
  get placeholderText(): string;
10091
10701
  set placeholderText(value: string);
10092
- /** Gets or sets the dead key flag */
10702
+ /** Gets or sets the dead key. 0 to disable. */
10093
10703
  get deadKey(): boolean;
10094
10704
  set deadKey(flag: boolean);
10095
10705
  /** Gets or sets the highlight text */
@@ -12805,14 +13415,223 @@ declare module BABYLON.GUI {
12805
13415
  /** @internal */
12806
13416
  protected _currentMesh: BABYLON.Mesh;
12807
13417
  /**
12808
- * Creates a new 3D button based on a mesh
12809
- * @param mesh mesh to become a 3D button
13418
+ * Creates a new 3D button based on a mesh
13419
+ * @param mesh mesh to become a 3D button
13420
+ * @param name defines the control name
13421
+ */
13422
+ constructor(mesh: BABYLON.Mesh, name?: string);
13423
+ protected _getTypeName(): string;
13424
+ protected _createNode(scene: BABYLON.Scene): BABYLON.TransformNode;
13425
+ protected _affectMaterial(mesh: BABYLON.AbstractMesh): void;
13426
+ }
13427
+
13428
+
13429
+ /**
13430
+ * Class used to create the mrtkv3 button
13431
+ */
13432
+ export class TouchHolographicButtonV3 extends TouchButton3D {
13433
+ /**
13434
+ * Base Url for the frontplate model.
13435
+ */
13436
+ static MRTK_ASSET_BASE_URL: string;
13437
+ /**
13438
+ * File name for the frontplate model.
13439
+ */
13440
+ static FRONTPLATE_MODEL_FILENAME: string;
13441
+ /**
13442
+ * File name for the backplate model.
13443
+ */
13444
+ static BACKPLATE_MODEL_FILENAME: string;
13445
+ /**
13446
+ * File name for the backglow model.
13447
+ */
13448
+ static BACKGLOW_MODEL_FILENAME: string;
13449
+ /**
13450
+ * File name for the innerquad model.
13451
+ */
13452
+ static INNERQUAD_MODEL_FILENAME: string;
13453
+ /**
13454
+ * Gets or sets the horizontal scaling for the button.
13455
+ */
13456
+ width: number;
13457
+ /**
13458
+ * Gets or sets the vertical scaling for the button.
13459
+ */
13460
+ height: number;
13461
+ /**
13462
+ * Gets or sets the bevel radius for the button.
13463
+ */
13464
+ radius: number;
13465
+ /**
13466
+ * Gets or sets the font size of the button text in pixels.
13467
+ * This is only adjustable for a button with width to height ratio greater than 1.
13468
+ */
13469
+ textSizeInPixels: number;
13470
+ /**
13471
+ * Gets or sets the size of the button image in pixels.
13472
+ * This is only adjustable for a button with width to height ratio greater than 1.
13473
+ */
13474
+ imageSizeInPixels: number;
13475
+ /**
13476
+ * Gets or sets the color of the button plate.
13477
+ */
13478
+ plateMaterialColor: BABYLON.Color3;
13479
+ /**
13480
+ * Gets or sets the depth of the button's front plate.
13481
+ * This variable determines the z scaling and z position for some of the button's meshes.
13482
+ */
13483
+ frontPlateDepth: number;
13484
+ /**
13485
+ * Gets or sets the depth of the button's back plate.
13486
+ * This variable determines the z scaling and z position for some of the button's meshes.
13487
+ */
13488
+ backPlateDepth: number;
13489
+ /**
13490
+ * Gets or sets the offset value for button's back glow.
13491
+ * This variable determines the x, y scaling of the button's meshes.
13492
+ */
13493
+ backGlowOffset: number;
13494
+ /**
13495
+ * Gets or sets the value that determines the z scaling and z position for the innerQuad and BackGlow meshes.
13496
+ */
13497
+ flatPlaneDepth: number;
13498
+ /**
13499
+ * Gets or sets the radius for FrontMaterial and innerQuadMaterial.
13500
+ */
13501
+ innerQuadRadius: number;
13502
+ /**
13503
+ * Gets or sets the color for innerQuadMaterial.
13504
+ */
13505
+ innerQuadColor: BABYLON.Color4;
13506
+ /**
13507
+ * Gets or sets the color for innerQuadMaterial for when it is toggled.
13508
+ */
13509
+ innerQuadToggledColor: BABYLON.Color4;
13510
+ /**
13511
+ * Gets or sets the color for innerQuadMaterial for when it is hovered.
13512
+ */
13513
+ innerQuadHoverColor: BABYLON.Color4;
13514
+ /**
13515
+ * Gets or sets the color for innerQuadMaterial for when it is toggled and hovered.
13516
+ */
13517
+ innerQuadToggledHoverColor: BABYLON.Color4;
13518
+ private _backPlate;
13519
+ private _textPlate;
13520
+ private _frontPlate;
13521
+ private _backGlow;
13522
+ private _innerQuad;
13523
+ private _collisionPlate;
13524
+ private _frontPlateCollisionMesh;
13525
+ private _isBackplateVisible;
13526
+ private _text;
13527
+ private _subtext;
13528
+ private _imageUrl;
13529
+ private _shareMaterials;
13530
+ private _frontMaterial;
13531
+ private _backMaterial;
13532
+ private _backGlowMaterial;
13533
+ private _innerQuadMaterial;
13534
+ private _plateMaterial;
13535
+ private _pickedPointObserver;
13536
+ private _pointerClickObserver;
13537
+ private _pointerEnterObserver;
13538
+ private _pointerOutObserver;
13539
+ private _toggleObserver;
13540
+ private _tooltipFade;
13541
+ private _tooltipTextBlock;
13542
+ private _tooltipTexture;
13543
+ private _tooltipMesh;
13544
+ private _tooltipHoverObserver;
13545
+ private _tooltipOutObserver;
13546
+ private _disposeTooltip;
13547
+ /**
13548
+ * Rendering ground id of all the mesh in the button
13549
+ */
13550
+ set renderingGroupId(id: number);
13551
+ get renderingGroupId(): number;
13552
+ /**
13553
+ * Gets the mesh used to render this control
13554
+ */
13555
+ get mesh(): BABYLON.Nullable<BABYLON.AbstractMesh>;
13556
+ /**
13557
+ * Text to be displayed on the tooltip shown when hovering on the button. When set to null tooltip is disabled. (Default: null)
13558
+ * Set this property after adding the button to the GUI3DManager
13559
+ */
13560
+ set tooltipText(text: BABYLON.Nullable<string>);
13561
+ get tooltipText(): BABYLON.Nullable<string>;
13562
+ /**
13563
+ * Gets or sets text for the button
13564
+ */
13565
+ get text(): string;
13566
+ set text(value: string);
13567
+ /**
13568
+ * Gets or sets subtext for a button with larger width
13569
+ */
13570
+ get subtext(): string;
13571
+ set subtext(value: string);
13572
+ /**
13573
+ * Gets or sets the image url for the button
13574
+ */
13575
+ get imageUrl(): string;
13576
+ set imageUrl(value: string);
13577
+ /**
13578
+ * Gets the back material used by this button
13579
+ */
13580
+ get backMaterial(): MRDLBackplateMaterial;
13581
+ /**
13582
+ * Gets the front material used by this button
13583
+ */
13584
+ get frontMaterial(): MRDLFrontplateMaterial;
13585
+ /**
13586
+ * Gets the back glow material used by this button
13587
+ */
13588
+ get backGlowMaterial(): MRDLBackglowMaterial;
13589
+ /**
13590
+ * Gets the inner quad material used by this button
13591
+ */
13592
+ get innerQuadMaterial(): MRDLInnerquadMaterial;
13593
+ /**
13594
+ * Gets the plate material used by this button
13595
+ */
13596
+ get plateMaterial(): BABYLON.StandardMaterial;
13597
+ /**
13598
+ * Gets a boolean indicating if this button shares its material with other V3 Buttons
13599
+ */
13600
+ get shareMaterials(): boolean;
13601
+ /**
13602
+ * Sets whether the backplate is visible or hidden. Hiding the backplate is not recommended without some sort of replacement
13603
+ */
13604
+ set isBackplateVisible(isVisible: boolean);
13605
+ /**
13606
+ * Creates a new button
12810
13607
  * @param name defines the control name
13608
+ * @param shareMaterials
12811
13609
  */
12812
- constructor(mesh: BABYLON.Mesh, name?: string);
13610
+ constructor(name?: string, shareMaterials?: boolean);
12813
13611
  protected _getTypeName(): string;
13612
+ private _rebuildContent;
13613
+ private _getAspectRatio;
13614
+ private _alignContentVertically;
13615
+ private _alignContentHorizontally;
12814
13616
  protected _createNode(scene: BABYLON.Scene): BABYLON.TransformNode;
12815
- protected _affectMaterial(mesh: BABYLON.AbstractMesh): void;
13617
+ private _createBackPlate;
13618
+ private _createFrontPlate;
13619
+ private _createInnerQuad;
13620
+ private _createBackGlow;
13621
+ protected _applyFacade(facadeTexture: AdvancedDynamicTexture): void;
13622
+ private _performClickAnimation;
13623
+ private _performEnterExitAnimation;
13624
+ private _createBackMaterial;
13625
+ private _createFrontMaterial;
13626
+ private _createBackGlowMaterial;
13627
+ private _createInnerQuadMaterial;
13628
+ private _createPlateMaterial;
13629
+ protected _onToggle(newState: boolean): void;
13630
+ protected _affectMaterial(mesh: BABYLON.Mesh): void;
13631
+ /**
13632
+ * Releases all associated resources
13633
+ */
13634
+ dispose(): void;
12816
13635
  }
12817
13636
 
12818
13637
 
@@ -14082,6 +14901,83 @@ declare module BABYLON.GUI {
14082
14901
 
14083
14902
 
14084
14903
 
14904
+ export class MRDLBackglowMaterial extends BABYLON.PushMaterial {
14905
+ /**
14906
+ * Gets or sets the bevel radius on the backglow. If this value is changed, update the lineWidth to match.
14907
+ */
14908
+ bevelRadius: number;
14909
+ /**
14910
+ * Gets or sets the line width of the backglow.
14911
+ */
14912
+ lineWidth: number;
14913
+ /**
14914
+ * Gets or sets whether to use absolute sizes when calculating effects on the backglow.
14915
+ * Since desktop and VR/AR have different relative sizes, it's usually best to keep this false.
14916
+ */
14917
+ absoluteSizes: boolean;
14918
+ /**
14919
+ * Gets or sets the tuning motion of the backglow.
14920
+ */
14921
+ tuningMotion: number;
14922
+ /**
14923
+ * Gets or sets the motion of the backglow.
14924
+ */
14925
+ motion: number;
14926
+ /**
14927
+ * Gets or sets the maximum intensity of the backglow.
14928
+ */
14929
+ maxIntensity: number;
14930
+ /**
14931
+ * Gets or sets the fade-in exponent of the intensity of the backglow.
14932
+ */
14933
+ intensityFadeInExponent: number;
14934
+ /**
14935
+ * Gets or sets the start of the outer fuzz effect on the backglow.
14936
+ */
14937
+ outerFuzzStart: number;
14938
+ /**
14939
+ * Gets or sets the end of the outer fuzz effect on the backglow.
14940
+ */
14941
+ outerFuzzEnd: number;
14942
+ /**
14943
+ * Gets or sets the color of the backglow.
14944
+ */
14945
+ color: BABYLON.Color4;
14946
+ /**
14947
+ * Gets or sets the inner color of the backglow.
14948
+ */
14949
+ innerColor: BABYLON.Color4;
14950
+ /**
14951
+ * Gets or sets the blend exponent of the backglow.
14952
+ */
14953
+ blendExponent: number;
14954
+ /**
14955
+ * Gets or sets the falloff of the backglow.
14956
+ */
14957
+ falloff: number;
14958
+ /**
14959
+ * Gets or sets the bias of the backglow.
14960
+ */
14961
+ bias: number;
14962
+ constructor(name: string, scene: BABYLON.Scene);
14963
+ needAlphaBlending(): boolean;
14964
+ needAlphaTesting(): boolean;
14965
+ getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
14966
+ isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh): boolean;
14967
+ bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
14968
+ /**
14969
+ * Get the list of animatables in the material.
14970
+ * @returns the list of animatables object used in the material
14971
+ */
14972
+ getAnimatables(): BABYLON.IAnimatable[];
14973
+ dispose(forceDisposeEffect?: boolean): void;
14974
+ clone(name: string): MRDLBackglowMaterial;
14975
+ serialize(): unknown;
14976
+ getClassName(): string;
14977
+ static Parse(source: any, scene: BABYLON.Scene, rootUrl: string): MRDLBackglowMaterial;
14978
+ }
14979
+
14980
+
14085
14981
  /**
14086
14982
  * Class used to render backplate material with MRDL
14087
14983
  */
@@ -14219,6 +15115,227 @@ declare module BABYLON.GUI {
14219
15115
  }
14220
15116
 
14221
15117
 
15118
+ export class MRDLFrontplateMaterial extends BABYLON.PushMaterial {
15119
+ /**
15120
+ * Gets or sets the corner radius on the frontplate. If this value is changed, update the lineWidth to match.
15121
+ */
15122
+ radius: number;
15123
+ /**
15124
+ * Gets or sets the line width of the frontplate.
15125
+ */
15126
+ lineWidth: number;
15127
+ /**
15128
+ * Gets or sets whether the scale is relative to the frontplate height.
15129
+ */
15130
+ relativeToHeight: boolean;
15131
+ /** @hidden */
15132
+ _filterWidth: number;
15133
+ /**
15134
+ * Gets or sets the edge color of the frontplate.
15135
+ */
15136
+ edgeColor: BABYLON.Color4;
15137
+ /**
15138
+ * Gets or sets whether to enable blob effects on the frontplate.
15139
+ */
15140
+ blobEnable: boolean;
15141
+ /**
15142
+ * Gets or sets the blob position on the frontplate.
15143
+ */
15144
+ blobPosition: BABYLON.Vector3;
15145
+ /**
15146
+ * Gets or sets the blob intensity of the frontplate.
15147
+ */
15148
+ blobIntensity: number;
15149
+ /**
15150
+ * Gets or sets the blob near size of the frontplate.
15151
+ */
15152
+ blobNearSize: number;
15153
+ /**
15154
+ * Gets or sets the blob far size of the frontplate.
15155
+ */
15156
+ blobFarSize: number;
15157
+ /**
15158
+ * Gets or sets the blob near distance of the frontplate.
15159
+ */
15160
+ blobNearDistance: number;
15161
+ /**
15162
+ * Gets or sets the blob far distance of the frontplate.
15163
+ */
15164
+ blobFarDistance: number;
15165
+ /**
15166
+ * Gets or sets the blob fade length of the frontplate.
15167
+ */
15168
+ blobFadeLength: number;
15169
+ /**
15170
+ * Gets or sets the blob inner fade of the frontplate.
15171
+ */
15172
+ blobInnerFade: number;
15173
+ /**
15174
+ * Gets or sets the blob pulse of the frontplate.
15175
+ */
15176
+ blobPulse: number;
15177
+ /**
15178
+ * Gets or sets the blob fade effect on the frontplate.
15179
+ */
15180
+ blobFade: number;
15181
+ /**
15182
+ * Gets or sets the maximum size of the blob pulse on the frontplate.
15183
+ */
15184
+ blobPulseMaxSize: number;
15185
+ /**
15186
+ * Gets or sets whether to enable extra blob effects of the frontplate.
15187
+ */
15188
+ blobEnable2: boolean;
15189
+ /**
15190
+ * Gets or sets blob2 position of the frontplate.
15191
+ */
15192
+ blobPosition2: BABYLON.Vector3;
15193
+ /**
15194
+ * Gets or sets the blob2 near size of the frontplate.
15195
+ */
15196
+ blobNearSize2: number;
15197
+ /**
15198
+ * Gets or sets the blob2 inner fade of the frontplate.
15199
+ */
15200
+ blobInnerFade2: number;
15201
+ /**
15202
+ * Gets or sets the blob2 pulse of the frontplate.
15203
+ */
15204
+ blobPulse2: number;
15205
+ /**
15206
+ * Gets or sets the blob2 fade effect on the frontplate.
15207
+ */
15208
+ blobFade2: number;
15209
+ /**
15210
+ * Gets or sets the gaze intensity of the frontplate.
15211
+ */
15212
+ gazeIntensity: number;
15213
+ /**
15214
+ * Gets or sets the gaze focus of the frontplate.
15215
+ */
15216
+ gazeFocus: number;
15217
+ /**
15218
+ * Gets or sets the selection fuzz of the frontplate.
15219
+ */
15220
+ selectionFuzz: number;
15221
+ /**
15222
+ * Gets or sets the fade intensity of the frontplate.
15223
+ */
15224
+ selected: number;
15225
+ /**
15226
+ * Gets or sets the selection fade intensity of the frontplate.
15227
+ */
15228
+ selectionFade: number;
15229
+ /**
15230
+ * Gets or sets the selection fade size of the frontplate.
15231
+ */
15232
+ selectionFadeSize: number;
15233
+ /**
15234
+ * Gets or sets the selected distance of the frontplate.
15235
+ */
15236
+ selectedDistance: number;
15237
+ /**
15238
+ * Gets or sets the selected fade length of the frontplate.
15239
+ */
15240
+ selectedFadeLength: number;
15241
+ /**
15242
+ * Gets or sets the proximity maximum intensity of the frontplate.
15243
+ */
15244
+ proximityMaxIntensity: number;
15245
+ /**
15246
+ * Gets or sets the proximity far distance of the frontplate.
15247
+ */
15248
+ proximityFarDistance: number;
15249
+ /**
15250
+ * Gets or sets the proximity near radius of the frontplate.
15251
+ */
15252
+ proximityNearRadius: number;
15253
+ /**
15254
+ * Gets or sets the proximity anisotropy of the frontplate.
15255
+ */
15256
+ proximityAnisotropy: number;
15257
+ /**
15258
+ * Gets or sets whether to use global left index on the frontplate.
15259
+ */
15260
+ useGlobalLeftIndex: boolean;
15261
+ /**
15262
+ * Gets or sets whether to use global right index of the frontplate.
15263
+ */
15264
+ useGlobalRightIndex: boolean;
15265
+ /**
15266
+ * URL pointing to the texture used to define the coloring for the BLOB.
15267
+ */
15268
+ static BLOB_TEXTURE_URL: string;
15269
+ /**
15270
+ * Gets or sets the opacity of the frontplate (0.0 - 1.0).
15271
+ */
15272
+ fadeOut: number;
15273
+ private _blobTexture;
15274
+ constructor(name: string, scene: BABYLON.Scene);
15275
+ needAlphaBlending(): boolean;
15276
+ needAlphaTesting(): boolean;
15277
+ getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
15278
+ isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh): boolean;
15279
+ bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
15280
+ /**
15281
+ * Get the list of animatables in the material.
15282
+ * @returns the list of animatables object used in the material
15283
+ */
15284
+ getAnimatables(): BABYLON.IAnimatable[];
15285
+ dispose(forceDisposeEffect?: boolean): void;
15286
+ clone(name: string): MRDLFrontplateMaterial;
15287
+ serialize(): unknown;
15288
+ getClassName(): string;
15289
+ static Parse(source: any, scene: BABYLON.Scene, rootUrl: string): MRDLFrontplateMaterial;
15290
+ }
15291
+
15292
+
15293
+ export class MRDLInnerquadMaterial extends BABYLON.PushMaterial {
15294
+ /**
15295
+ * Gets or sets the color of the innerquad.
15296
+ */
15297
+ color: BABYLON.Color4;
15298
+ /**
15299
+ * Gets or sets the corner radius on the innerquad. If this value is changed, update the lineWidth to match.
15300
+ */
15301
+ radius: number;
15302
+ /**
15303
+ * Gets or sets whether the radius of the innerquad should be fixed.
15304
+ */
15305
+ fixedRadius: boolean;
15306
+ /** @hidden */
15307
+ _filterWidth: number;
15308
+ /**
15309
+ * Gets or sets the glow fraction of the innerquad.
15310
+ */
15311
+ glowFraction: number;
15312
+ /**
15313
+ * Gets or sets the maximum glow intensity of the innerquad.
15314
+ */
15315
+ glowMax: number;
15316
+ /**
15317
+ * Gets or sets the glow falloff effect of the innerquad.
15318
+ */
15319
+ glowFalloff: number;
15320
+ constructor(name: string, scene: BABYLON.Scene);
15321
+ needAlphaBlending(): boolean;
15322
+ needAlphaTesting(): boolean;
15323
+ getAlphaTestTexture(): BABYLON.Nullable<BABYLON.BaseTexture>;
15324
+ isReadyForSubMesh(mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh): boolean;
15325
+ bindForSubMesh(world: BABYLON.Matrix, mesh: BABYLON.Mesh, subMesh: BABYLON.SubMesh): void;
15326
+ /**
15327
+ * Get the list of animatables in the material.
15328
+ * @returns the list of animatables object used in the material
15329
+ */
15330
+ getAnimatables(): BABYLON.IAnimatable[];
15331
+ dispose(forceDisposeEffect?: boolean): void;
15332
+ clone(name: string): MRDLInnerquadMaterial;
15333
+ serialize(): unknown;
15334
+ getClassName(): string;
15335
+ static Parse(source: any, scene: BABYLON.Scene, rootUrl: string): MRDLInnerquadMaterial;
15336
+ }
15337
+
15338
+
14222
15339
  /**
14223
15340
  * Class used to render Slider Bar material with MRDL
14224
15341
  */
@@ -14863,6 +15980,20 @@ declare module BABYLON.GUI {
14863
15980
  }
14864
15981
 
14865
15982
 
15983
+ /** @internal */
15984
+ export var mrdlBackglowPixelShader: {
15985
+ name: string;
15986
+ shader: string;
15987
+ };
15988
+
15989
+
15990
+ /** @internal */
15991
+ export var mrdlBackglowVertexShader: {
15992
+ name: string;
15993
+ shader: string;
15994
+ };
15995
+
15996
+
14866
15997
  /** @internal */
14867
15998
  export var mrdlBackplatePixelShader: {
14868
15999
  name: string;
@@ -14877,6 +16008,34 @@ declare module BABYLON.GUI {
14877
16008
  };
14878
16009
 
14879
16010
 
16011
+ /** @internal */
16012
+ export var mrdlFrontplatePixelShader: {
16013
+ name: string;
16014
+ shader: string;
16015
+ };
16016
+
16017
+
16018
+ /** @internal */
16019
+ export var mrdlFrontplateVertexShader: {
16020
+ name: string;
16021
+ shader: string;
16022
+ };
16023
+
16024
+
16025
+ /** @internal */
16026
+ export var mrdlInnerquadPixelShader: {
16027
+ name: string;
16028
+ shader: string;
16029
+ };
16030
+
16031
+
16032
+ /** @internal */
16033
+ export var mrdlInnerquadVertexShader: {
16034
+ name: string;
16035
+ shader: string;
16036
+ };
16037
+
16038
+
14880
16039
  /** @internal */
14881
16040
  export var mrdlSliderBarPixelShader: {
14882
16041
  name: string;