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