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