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