@babylonjs/gui 5.0.0-rc.5 → 5.0.0-rc.9
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/advancedDynamicTexture.d.ts +448 -448
- package/2D/advancedDynamicTexture.js +1318 -1318
- package/2D/controls/button.d.ts +135 -135
- package/2D/controls/button.js +276 -276
- package/2D/controls/checkbox.d.ts +59 -59
- package/2D/controls/checkbox.js +188 -188
- package/2D/controls/colorpicker.d.ts +103 -103
- package/2D/controls/colorpicker.js +1417 -1417
- package/2D/controls/container.d.ts +175 -175
- package/2D/controls/container.js +570 -570
- package/2D/controls/control.d.ts +866 -866
- package/2D/controls/control.js +2433 -2433
- package/2D/controls/displayGrid.d.ts +53 -53
- package/2D/controls/displayGrid.js +245 -245
- package/2D/controls/ellipse.d.ts +21 -21
- package/2D/controls/ellipse.js +85 -85
- package/2D/controls/focusableButton.d.ts +59 -59
- package/2D/controls/focusableButton.js +99 -99
- package/2D/controls/focusableControl.d.ts +34 -34
- package/2D/controls/focusableControl.js +1 -1
- package/2D/controls/grid.d.ts +139 -139
- package/2D/controls/grid.js +529 -529
- package/2D/controls/image.d.ts +204 -204
- package/2D/controls/image.js +887 -887
- package/2D/controls/index.d.ts +29 -29
- package/2D/controls/index.js +29 -29
- package/2D/controls/inputPassword.d.ts +8 -8
- package/2D/controls/inputPassword.js +25 -25
- package/2D/controls/inputText.d.ts +201 -201
- package/2D/controls/inputText.js +1119 -1119
- package/2D/controls/line.d.ts +66 -66
- package/2D/controls/line.js +271 -271
- package/2D/controls/multiLine.d.ts +75 -75
- package/2D/controls/multiLine.js +262 -262
- package/2D/controls/radioButton.d.ts +49 -49
- package/2D/controls/radioButton.js +205 -205
- package/2D/controls/rectangle.d.ts +29 -29
- package/2D/controls/rectangle.js +150 -150
- package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -182
- package/2D/controls/scrollViewers/scrollViewer.js +677 -677
- package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -57
- package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -278
- 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/imageBasedSlider.d.ts +49 -49
- package/2D/controls/sliders/imageBasedSlider.js +192 -192
- package/2D/controls/sliders/imageScrollBar.d.ts +65 -65
- package/2D/controls/sliders/imageScrollBar.js +263 -263
- package/2D/controls/sliders/scrollBar.d.ts +38 -38
- package/2D/controls/sliders/scrollBar.js +143 -143
- package/2D/controls/sliders/slider.d.ts +35 -35
- package/2D/controls/sliders/slider.js +271 -271
- package/2D/controls/stackPanel.d.ts +64 -64
- package/2D/controls/stackPanel.js +246 -246
- 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/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/virtualKeyboard.d.ts +96 -96
- package/2D/controls/virtualKeyboard.js +256 -256
- package/2D/index.d.ts +9 -9
- package/2D/index.js +9 -9
- package/2D/math2D.d.ts +117 -117
- package/2D/math2D.js +221 -221
- package/2D/measure.d.ts +77 -77
- package/2D/measure.js +139 -139
- package/2D/multiLinePoint.d.ts +47 -47
- package/2D/multiLinePoint.js +127 -127
- package/2D/style.d.ts +46 -46
- package/2D/style.js +97 -97
- package/2D/valueAndUnit.d.ts +89 -89
- package/2D/valueAndUnit.js +226 -226
- package/2D/xmlLoader.d.ts +60 -60
- package/2D/xmlLoader.js +348 -348
- package/3D/behaviors/defaultBehavior.d.ts +73 -73
- package/3D/behaviors/defaultBehavior.js +121 -121
- package/3D/controls/abstractButton3D.d.ts +15 -15
- package/3D/controls/abstractButton3D.js +25 -25
- package/3D/controls/button3D.d.ts +30 -30
- package/3D/controls/button3D.js +93 -93
- package/3D/controls/container3D.d.ts +72 -72
- package/3D/controls/container3D.js +139 -139
- package/3D/controls/contentDisplay3D.d.ts +30 -30
- package/3D/controls/contentDisplay3D.js +79 -79
- package/3D/controls/control3D.d.ts +201 -201
- package/3D/controls/control3D.js +445 -445
- package/3D/controls/cylinderPanel.d.ts +17 -17
- package/3D/controls/cylinderPanel.js +66 -66
- package/3D/controls/handMenu.d.ts +28 -28
- package/3D/controls/handMenu.js +47 -47
- package/3D/controls/holographicBackplate.d.ts +49 -49
- package/3D/controls/holographicBackplate.js +120 -120
- package/3D/controls/holographicButton.d.ts +84 -84
- package/3D/controls/holographicButton.js +339 -339
- package/3D/controls/holographicSlate.d.ts +131 -131
- package/3D/controls/holographicSlate.js +431 -431
- 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/nearMenu.d.ts +44 -44
- package/3D/controls/nearMenu.js +114 -114
- package/3D/controls/planePanel.d.ts +9 -9
- package/3D/controls/planePanel.js +36 -36
- package/3D/controls/scatterPanel.d.ts +18 -18
- package/3D/controls/scatterPanel.js +108 -108
- package/3D/controls/slider3D.d.ts +81 -81
- package/3D/controls/slider3D.js +268 -268
- package/3D/controls/spherePanel.d.ts +17 -17
- package/3D/controls/spherePanel.js +67 -67
- 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/touchHolographicButton.d.ts +110 -110
- package/3D/controls/touchHolographicButton.js +445 -445
- package/3D/controls/touchHolographicMenu.d.ts +61 -61
- package/3D/controls/touchHolographicMenu.js +149 -149
- package/3D/controls/touchMeshButton3D.d.ts +21 -21
- package/3D/controls/touchMeshButton3D.js +62 -62
- package/3D/controls/volumeBasedPanel.d.ts +53 -53
- package/3D/controls/volumeBasedPanel.js +174 -174
- package/3D/gizmos/gizmoHandle.d.ts +108 -108
- package/3D/gizmos/gizmoHandle.js +209 -209
- 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/gui3DManager.d.ts +94 -94
- package/3D/gui3DManager.js +257 -257
- package/3D/index.d.ts +5 -5
- package/3D/index.js +5 -5
- package/3D/materials/fluent/fluentMaterial.d.ts +90 -90
- package/3D/materials/fluent/fluentMaterial.js +292 -292
- 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 +154 -154
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -469
- 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 +189 -189
- package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -539
- 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/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 +5 -5
- package/3D/materials/mrdl/index.d.ts +3 -3
- package/3D/materials/mrdl/index.js +3 -3
- package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +147 -147
- package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -436
- package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +333 -333
- package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -851
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +333 -333
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -851
- 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 +2 -2
- package/legacy/legacy.d.ts +1 -1
- package/legacy/legacy.js +13 -13
- package/package.json +2 -2
|
@@ -1,293 +1,293 @@
|
|
|
1
|
-
import { __decorate, __extends } from "tslib";
|
|
2
|
-
import { serializeAsColor4, serializeAsVector3, serializeAsTexture, serialize, expandToProperty, serializeAsColor3, SerializationHelper } from "@babylonjs/core/Misc/decorators.js";
|
|
3
|
-
import { Vector3, TmpVectors } from "@babylonjs/core/Maths/math.vector.js";
|
|
4
|
-
import { MaterialDefines } from "@babylonjs/core/Materials/materialDefines.js";
|
|
5
|
-
import { MaterialHelper } from "@babylonjs/core/Materials/materialHelper.js";
|
|
6
|
-
import { PushMaterial } from "@babylonjs/core/Materials/pushMaterial.js";
|
|
7
|
-
import { VertexBuffer } from "@babylonjs/core/Buffers/buffer.js";
|
|
8
|
-
import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
|
|
9
|
-
import { Color3, Color4 } from "@babylonjs/core/Maths/math.color.js";
|
|
10
|
-
import "./shaders/fluent.vertex
|
|
11
|
-
import "./shaders/fluent.fragment
|
|
12
|
-
/** @hidden */
|
|
13
|
-
var FluentMaterialDefines = /** @class */ (function (_super) {
|
|
14
|
-
__extends(FluentMaterialDefines, _super);
|
|
15
|
-
function FluentMaterialDefines() {
|
|
16
|
-
var _this = _super.call(this) || this;
|
|
17
|
-
_this.INNERGLOW = false;
|
|
18
|
-
_this.BORDER = false;
|
|
19
|
-
_this.HOVERLIGHT = false;
|
|
20
|
-
_this.TEXTURE = false;
|
|
21
|
-
_this.rebuild();
|
|
22
|
-
return _this;
|
|
23
|
-
}
|
|
24
|
-
return FluentMaterialDefines;
|
|
25
|
-
}(MaterialDefines));
|
|
26
|
-
export { FluentMaterialDefines };
|
|
27
|
-
/**
|
|
28
|
-
* Class used to render controls with fluent design
|
|
29
|
-
*/
|
|
30
|
-
var FluentMaterial = /** @class */ (function (_super) {
|
|
31
|
-
__extends(FluentMaterial, _super);
|
|
32
|
-
/**
|
|
33
|
-
* Creates a new Fluent material
|
|
34
|
-
* @param name defines the name of the material
|
|
35
|
-
* @param scene defines the hosting scene
|
|
36
|
-
*/
|
|
37
|
-
function FluentMaterial(name, scene) {
|
|
38
|
-
var _this = _super.call(this, name, scene) || this;
|
|
39
|
-
/**
|
|
40
|
-
* Gets or sets inner glow intensity. A value of 0 means no glow (default is 0.5)
|
|
41
|
-
*/
|
|
42
|
-
_this.innerGlowColorIntensity = 0.5;
|
|
43
|
-
/**
|
|
44
|
-
* Gets or sets the inner glow color (white by default)
|
|
45
|
-
*/
|
|
46
|
-
_this.innerGlowColor = new Color3(1.0, 1.0, 1.0);
|
|
47
|
-
/**
|
|
48
|
-
* Gets or sets the albedo color (Default is Color3(0.3, 0.35, 0.4))
|
|
49
|
-
*/
|
|
50
|
-
_this.albedoColor = new Color3(0.3, 0.35, 0.4);
|
|
51
|
-
/**
|
|
52
|
-
* Gets or sets a boolean indicating if borders must be rendered (default is false)
|
|
53
|
-
*/
|
|
54
|
-
_this.renderBorders = false;
|
|
55
|
-
/**
|
|
56
|
-
* Gets or sets border width (default is 0.5)
|
|
57
|
-
*/
|
|
58
|
-
_this.borderWidth = 0.5;
|
|
59
|
-
/**
|
|
60
|
-
* Gets or sets a value indicating the smoothing value applied to border edges (0.02 by default)
|
|
61
|
-
*/
|
|
62
|
-
_this.edgeSmoothingValue = 0.02;
|
|
63
|
-
/**
|
|
64
|
-
* Gets or sets the minimum value that can be applied to border width (default is 0.1)
|
|
65
|
-
*/
|
|
66
|
-
_this.borderMinValue = 0.1;
|
|
67
|
-
/**
|
|
68
|
-
* Gets or sets a boolean indicating if hover light must be rendered (default is false)
|
|
69
|
-
*/
|
|
70
|
-
_this.renderHoverLight = false;
|
|
71
|
-
/**
|
|
72
|
-
* Gets or sets the radius used to render the hover light (default is 1.0)
|
|
73
|
-
*/
|
|
74
|
-
_this.hoverRadius = 0.01;
|
|
75
|
-
/**
|
|
76
|
-
* Gets or sets the color used to render the hover light (default is Color4(0.3, 0.3, 0.3, 1.0))
|
|
77
|
-
*/
|
|
78
|
-
_this.hoverColor = new Color4(0.3, 0.3, 0.3, 1.0);
|
|
79
|
-
/**
|
|
80
|
-
* Gets or sets the hover light position in world space (default is Vector3.Zero())
|
|
81
|
-
*/
|
|
82
|
-
_this.hoverPosition = Vector3.Zero();
|
|
83
|
-
return _this;
|
|
84
|
-
}
|
|
85
|
-
FluentMaterial.prototype.needAlphaBlending = function () {
|
|
86
|
-
return this.alpha !== 1.0;
|
|
87
|
-
};
|
|
88
|
-
FluentMaterial.prototype.needAlphaTesting = function () {
|
|
89
|
-
return false;
|
|
90
|
-
};
|
|
91
|
-
FluentMaterial.prototype.getAlphaTestTexture = function () {
|
|
92
|
-
return null;
|
|
93
|
-
};
|
|
94
|
-
FluentMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh) {
|
|
95
|
-
if (this.isFrozen) {
|
|
96
|
-
if (subMesh.effect && subMesh.effect._wasPreviouslyReady) {
|
|
97
|
-
return true;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
if (!subMesh.materialDefines) {
|
|
101
|
-
subMesh.materialDefines = new FluentMaterialDefines();
|
|
102
|
-
}
|
|
103
|
-
var scene = this.getScene();
|
|
104
|
-
var defines = subMesh.materialDefines;
|
|
105
|
-
if (!this.checkReadyOnEveryCall && subMesh.effect) {
|
|
106
|
-
if (defines._renderId === scene.getRenderId()) {
|
|
107
|
-
return true;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
if (defines._areTexturesDirty) {
|
|
111
|
-
defines.INNERGLOW = this.innerGlowColorIntensity > 0;
|
|
112
|
-
defines.BORDER = this.renderBorders;
|
|
113
|
-
defines.HOVERLIGHT = this.renderHoverLight;
|
|
114
|
-
if (this._albedoTexture) {
|
|
115
|
-
if (!this._albedoTexture.isReadyOrNotBlocking()) {
|
|
116
|
-
return false;
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
defines.TEXTURE = true;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
defines.TEXTURE = false;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
var engine = scene.getEngine();
|
|
127
|
-
// Get correct effect
|
|
128
|
-
if (defines.isDirty) {
|
|
129
|
-
defines.markAsProcessed();
|
|
130
|
-
scene.resetCachedMaterial();
|
|
131
|
-
//Attributes
|
|
132
|
-
var attribs = [VertexBuffer.PositionKind];
|
|
133
|
-
attribs.push(VertexBuffer.NormalKind);
|
|
134
|
-
attribs.push(VertexBuffer.UVKind);
|
|
135
|
-
var shaderName = "fluent";
|
|
136
|
-
var uniforms = [
|
|
137
|
-
"world",
|
|
138
|
-
"viewProjection",
|
|
139
|
-
"innerGlowColor",
|
|
140
|
-
"albedoColor",
|
|
141
|
-
"borderWidth",
|
|
142
|
-
"edgeSmoothingValue",
|
|
143
|
-
"scaleFactor",
|
|
144
|
-
"borderMinValue",
|
|
145
|
-
"hoverColor",
|
|
146
|
-
"hoverPosition",
|
|
147
|
-
"hoverRadius",
|
|
148
|
-
"textureMatrix",
|
|
149
|
-
];
|
|
150
|
-
var samplers = ["albedoSampler"];
|
|
151
|
-
var uniformBuffers = new Array();
|
|
152
|
-
MaterialHelper.PrepareUniformsAndSamplersList({
|
|
153
|
-
uniformsNames: uniforms,
|
|
154
|
-
uniformBuffersNames: uniformBuffers,
|
|
155
|
-
samplers: samplers,
|
|
156
|
-
defines: defines,
|
|
157
|
-
maxSimultaneousLights: 4,
|
|
158
|
-
});
|
|
159
|
-
var join = defines.toString();
|
|
160
|
-
subMesh.setEffect(scene.getEngine().createEffect(shaderName, {
|
|
161
|
-
attributes: attribs,
|
|
162
|
-
uniformsNames: uniforms,
|
|
163
|
-
uniformBuffersNames: uniformBuffers,
|
|
164
|
-
samplers: samplers,
|
|
165
|
-
defines: join,
|
|
166
|
-
fallbacks: null,
|
|
167
|
-
onCompiled: this.onCompiled,
|
|
168
|
-
onError: this.onError,
|
|
169
|
-
indexParameters: { maxSimultaneousLights: 4 },
|
|
170
|
-
}, engine), defines, this._materialContext);
|
|
171
|
-
}
|
|
172
|
-
if (!subMesh.effect || !subMesh.effect.isReady()) {
|
|
173
|
-
return false;
|
|
174
|
-
}
|
|
175
|
-
defines._renderId = scene.getRenderId();
|
|
176
|
-
subMesh.effect._wasPreviouslyReady = true;
|
|
177
|
-
return true;
|
|
178
|
-
};
|
|
179
|
-
FluentMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) {
|
|
180
|
-
var scene = this.getScene();
|
|
181
|
-
var defines = subMesh.materialDefines;
|
|
182
|
-
if (!defines) {
|
|
183
|
-
return;
|
|
184
|
-
}
|
|
185
|
-
var effect = subMesh.effect;
|
|
186
|
-
if (!effect) {
|
|
187
|
-
return;
|
|
188
|
-
}
|
|
189
|
-
this._activeEffect = effect;
|
|
190
|
-
// Matrices
|
|
191
|
-
this.bindOnlyWorldMatrix(world);
|
|
192
|
-
this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix());
|
|
193
|
-
if (this._mustRebind(scene, effect)) {
|
|
194
|
-
this._activeEffect.setColor4("albedoColor", this.albedoColor, this.alpha);
|
|
195
|
-
if (defines.INNERGLOW) {
|
|
196
|
-
this._activeEffect.setColor4("innerGlowColor", this.innerGlowColor, this.innerGlowColorIntensity);
|
|
197
|
-
}
|
|
198
|
-
if (defines.BORDER) {
|
|
199
|
-
this._activeEffect.setFloat("borderWidth", this.borderWidth);
|
|
200
|
-
this._activeEffect.setFloat("edgeSmoothingValue", this.edgeSmoothingValue);
|
|
201
|
-
this._activeEffect.setFloat("borderMinValue", this.borderMinValue);
|
|
202
|
-
mesh.getBoundingInfo().boundingBox.extendSize.multiplyToRef(mesh.scaling, TmpVectors.Vector3[0]);
|
|
203
|
-
this._activeEffect.setVector3("scaleFactor", TmpVectors.Vector3[0]);
|
|
204
|
-
}
|
|
205
|
-
if (defines.HOVERLIGHT) {
|
|
206
|
-
this._activeEffect.setDirectColor4("hoverColor", this.hoverColor);
|
|
207
|
-
this._activeEffect.setFloat("hoverRadius", this.hoverRadius);
|
|
208
|
-
this._activeEffect.setVector3("hoverPosition", this.hoverPosition);
|
|
209
|
-
}
|
|
210
|
-
if (defines.TEXTURE && this._albedoTexture) {
|
|
211
|
-
this._activeEffect.setTexture("albedoSampler", this._albedoTexture);
|
|
212
|
-
var matrix = this._albedoTexture.getTextureMatrix();
|
|
213
|
-
this._activeEffect.setMatrix("textureMatrix", matrix);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
this._afterBind(mesh, this._activeEffect);
|
|
217
|
-
};
|
|
218
|
-
FluentMaterial.prototype.getActiveTextures = function () {
|
|
219
|
-
var activeTextures = _super.prototype.getActiveTextures.call(this);
|
|
220
|
-
return activeTextures;
|
|
221
|
-
};
|
|
222
|
-
FluentMaterial.prototype.hasTexture = function (texture) {
|
|
223
|
-
if (_super.prototype.hasTexture.call(this, texture)) {
|
|
224
|
-
return true;
|
|
225
|
-
}
|
|
226
|
-
return false;
|
|
227
|
-
};
|
|
228
|
-
FluentMaterial.prototype.dispose = function (forceDisposeEffect) {
|
|
229
|
-
_super.prototype.dispose.call(this, forceDisposeEffect);
|
|
230
|
-
};
|
|
231
|
-
FluentMaterial.prototype.clone = function (name) {
|
|
232
|
-
var _this = this;
|
|
233
|
-
return SerializationHelper.Clone(function () { return new FluentMaterial(name, _this.getScene()); }, this);
|
|
234
|
-
};
|
|
235
|
-
FluentMaterial.prototype.serialize = function () {
|
|
236
|
-
var serializationObject = _super.prototype.serialize.call(this);
|
|
237
|
-
serializationObject.customType = "BABYLON.GUI.FluentMaterial";
|
|
238
|
-
return serializationObject;
|
|
239
|
-
};
|
|
240
|
-
FluentMaterial.prototype.getClassName = function () {
|
|
241
|
-
return "FluentMaterial";
|
|
242
|
-
};
|
|
243
|
-
// Statics
|
|
244
|
-
FluentMaterial.Parse = function (source, scene, rootUrl) {
|
|
245
|
-
return SerializationHelper.Parse(function () { return new FluentMaterial(source.name, scene); }, source, scene, rootUrl);
|
|
246
|
-
};
|
|
247
|
-
__decorate([
|
|
248
|
-
serialize(),
|
|
249
|
-
expandToProperty("_markAllSubMeshesAsTexturesDirty")
|
|
250
|
-
], FluentMaterial.prototype, "innerGlowColorIntensity", void 0);
|
|
251
|
-
__decorate([
|
|
252
|
-
serializeAsColor3()
|
|
253
|
-
], FluentMaterial.prototype, "innerGlowColor", void 0);
|
|
254
|
-
__decorate([
|
|
255
|
-
serializeAsColor3()
|
|
256
|
-
], FluentMaterial.prototype, "albedoColor", void 0);
|
|
257
|
-
__decorate([
|
|
258
|
-
serialize(),
|
|
259
|
-
expandToProperty("_markAllSubMeshesAsTexturesDirty")
|
|
260
|
-
], FluentMaterial.prototype, "renderBorders", void 0);
|
|
261
|
-
__decorate([
|
|
262
|
-
serialize()
|
|
263
|
-
], FluentMaterial.prototype, "borderWidth", void 0);
|
|
264
|
-
__decorate([
|
|
265
|
-
serialize()
|
|
266
|
-
], FluentMaterial.prototype, "edgeSmoothingValue", void 0);
|
|
267
|
-
__decorate([
|
|
268
|
-
serialize()
|
|
269
|
-
], FluentMaterial.prototype, "borderMinValue", void 0);
|
|
270
|
-
__decorate([
|
|
271
|
-
serialize(),
|
|
272
|
-
expandToProperty("_markAllSubMeshesAsTexturesDirty")
|
|
273
|
-
], FluentMaterial.prototype, "renderHoverLight", void 0);
|
|
274
|
-
__decorate([
|
|
275
|
-
serialize()
|
|
276
|
-
], FluentMaterial.prototype, "hoverRadius", void 0);
|
|
277
|
-
__decorate([
|
|
278
|
-
serializeAsColor4()
|
|
279
|
-
], FluentMaterial.prototype, "hoverColor", void 0);
|
|
280
|
-
__decorate([
|
|
281
|
-
serializeAsVector3()
|
|
282
|
-
], FluentMaterial.prototype, "hoverPosition", void 0);
|
|
283
|
-
__decorate([
|
|
284
|
-
serializeAsTexture("albedoTexture")
|
|
285
|
-
], FluentMaterial.prototype, "_albedoTexture", void 0);
|
|
286
|
-
__decorate([
|
|
287
|
-
expandToProperty("_markAllSubMeshesAsTexturesAndMiscDirty")
|
|
288
|
-
], FluentMaterial.prototype, "albedoTexture", void 0);
|
|
289
|
-
return FluentMaterial;
|
|
290
|
-
}(PushMaterial));
|
|
291
|
-
export { FluentMaterial };
|
|
292
|
-
RegisterClass("BABYLON.GUI.FluentMaterial", FluentMaterial);
|
|
1
|
+
import { __decorate, __extends } from "tslib";
|
|
2
|
+
import { serializeAsColor4, serializeAsVector3, serializeAsTexture, serialize, expandToProperty, serializeAsColor3, SerializationHelper } from "@babylonjs/core/Misc/decorators.js";
|
|
3
|
+
import { Vector3, TmpVectors } from "@babylonjs/core/Maths/math.vector.js";
|
|
4
|
+
import { MaterialDefines } from "@babylonjs/core/Materials/materialDefines.js";
|
|
5
|
+
import { MaterialHelper } from "@babylonjs/core/Materials/materialHelper.js";
|
|
6
|
+
import { PushMaterial } from "@babylonjs/core/Materials/pushMaterial.js";
|
|
7
|
+
import { VertexBuffer } from "@babylonjs/core/Buffers/buffer.js";
|
|
8
|
+
import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
|
|
9
|
+
import { Color3, Color4 } from "@babylonjs/core/Maths/math.color.js";
|
|
10
|
+
import "./shaders/fluent.vertex";
|
|
11
|
+
import "./shaders/fluent.fragment";
|
|
12
|
+
/** @hidden */
|
|
13
|
+
var FluentMaterialDefines = /** @class */ (function (_super) {
|
|
14
|
+
__extends(FluentMaterialDefines, _super);
|
|
15
|
+
function FluentMaterialDefines() {
|
|
16
|
+
var _this = _super.call(this) || this;
|
|
17
|
+
_this.INNERGLOW = false;
|
|
18
|
+
_this.BORDER = false;
|
|
19
|
+
_this.HOVERLIGHT = false;
|
|
20
|
+
_this.TEXTURE = false;
|
|
21
|
+
_this.rebuild();
|
|
22
|
+
return _this;
|
|
23
|
+
}
|
|
24
|
+
return FluentMaterialDefines;
|
|
25
|
+
}(MaterialDefines));
|
|
26
|
+
export { FluentMaterialDefines };
|
|
27
|
+
/**
|
|
28
|
+
* Class used to render controls with fluent design
|
|
29
|
+
*/
|
|
30
|
+
var FluentMaterial = /** @class */ (function (_super) {
|
|
31
|
+
__extends(FluentMaterial, _super);
|
|
32
|
+
/**
|
|
33
|
+
* Creates a new Fluent material
|
|
34
|
+
* @param name defines the name of the material
|
|
35
|
+
* @param scene defines the hosting scene
|
|
36
|
+
*/
|
|
37
|
+
function FluentMaterial(name, scene) {
|
|
38
|
+
var _this = _super.call(this, name, scene) || this;
|
|
39
|
+
/**
|
|
40
|
+
* Gets or sets inner glow intensity. A value of 0 means no glow (default is 0.5)
|
|
41
|
+
*/
|
|
42
|
+
_this.innerGlowColorIntensity = 0.5;
|
|
43
|
+
/**
|
|
44
|
+
* Gets or sets the inner glow color (white by default)
|
|
45
|
+
*/
|
|
46
|
+
_this.innerGlowColor = new Color3(1.0, 1.0, 1.0);
|
|
47
|
+
/**
|
|
48
|
+
* Gets or sets the albedo color (Default is Color3(0.3, 0.35, 0.4))
|
|
49
|
+
*/
|
|
50
|
+
_this.albedoColor = new Color3(0.3, 0.35, 0.4);
|
|
51
|
+
/**
|
|
52
|
+
* Gets or sets a boolean indicating if borders must be rendered (default is false)
|
|
53
|
+
*/
|
|
54
|
+
_this.renderBorders = false;
|
|
55
|
+
/**
|
|
56
|
+
* Gets or sets border width (default is 0.5)
|
|
57
|
+
*/
|
|
58
|
+
_this.borderWidth = 0.5;
|
|
59
|
+
/**
|
|
60
|
+
* Gets or sets a value indicating the smoothing value applied to border edges (0.02 by default)
|
|
61
|
+
*/
|
|
62
|
+
_this.edgeSmoothingValue = 0.02;
|
|
63
|
+
/**
|
|
64
|
+
* Gets or sets the minimum value that can be applied to border width (default is 0.1)
|
|
65
|
+
*/
|
|
66
|
+
_this.borderMinValue = 0.1;
|
|
67
|
+
/**
|
|
68
|
+
* Gets or sets a boolean indicating if hover light must be rendered (default is false)
|
|
69
|
+
*/
|
|
70
|
+
_this.renderHoverLight = false;
|
|
71
|
+
/**
|
|
72
|
+
* Gets or sets the radius used to render the hover light (default is 1.0)
|
|
73
|
+
*/
|
|
74
|
+
_this.hoverRadius = 0.01;
|
|
75
|
+
/**
|
|
76
|
+
* Gets or sets the color used to render the hover light (default is Color4(0.3, 0.3, 0.3, 1.0))
|
|
77
|
+
*/
|
|
78
|
+
_this.hoverColor = new Color4(0.3, 0.3, 0.3, 1.0);
|
|
79
|
+
/**
|
|
80
|
+
* Gets or sets the hover light position in world space (default is Vector3.Zero())
|
|
81
|
+
*/
|
|
82
|
+
_this.hoverPosition = Vector3.Zero();
|
|
83
|
+
return _this;
|
|
84
|
+
}
|
|
85
|
+
FluentMaterial.prototype.needAlphaBlending = function () {
|
|
86
|
+
return this.alpha !== 1.0;
|
|
87
|
+
};
|
|
88
|
+
FluentMaterial.prototype.needAlphaTesting = function () {
|
|
89
|
+
return false;
|
|
90
|
+
};
|
|
91
|
+
FluentMaterial.prototype.getAlphaTestTexture = function () {
|
|
92
|
+
return null;
|
|
93
|
+
};
|
|
94
|
+
FluentMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh) {
|
|
95
|
+
if (this.isFrozen) {
|
|
96
|
+
if (subMesh.effect && subMesh.effect._wasPreviouslyReady) {
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (!subMesh.materialDefines) {
|
|
101
|
+
subMesh.materialDefines = new FluentMaterialDefines();
|
|
102
|
+
}
|
|
103
|
+
var scene = this.getScene();
|
|
104
|
+
var defines = subMesh.materialDefines;
|
|
105
|
+
if (!this.checkReadyOnEveryCall && subMesh.effect) {
|
|
106
|
+
if (defines._renderId === scene.getRenderId()) {
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (defines._areTexturesDirty) {
|
|
111
|
+
defines.INNERGLOW = this.innerGlowColorIntensity > 0;
|
|
112
|
+
defines.BORDER = this.renderBorders;
|
|
113
|
+
defines.HOVERLIGHT = this.renderHoverLight;
|
|
114
|
+
if (this._albedoTexture) {
|
|
115
|
+
if (!this._albedoTexture.isReadyOrNotBlocking()) {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
defines.TEXTURE = true;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
defines.TEXTURE = false;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
var engine = scene.getEngine();
|
|
127
|
+
// Get correct effect
|
|
128
|
+
if (defines.isDirty) {
|
|
129
|
+
defines.markAsProcessed();
|
|
130
|
+
scene.resetCachedMaterial();
|
|
131
|
+
//Attributes
|
|
132
|
+
var attribs = [VertexBuffer.PositionKind];
|
|
133
|
+
attribs.push(VertexBuffer.NormalKind);
|
|
134
|
+
attribs.push(VertexBuffer.UVKind);
|
|
135
|
+
var shaderName = "fluent";
|
|
136
|
+
var uniforms = [
|
|
137
|
+
"world",
|
|
138
|
+
"viewProjection",
|
|
139
|
+
"innerGlowColor",
|
|
140
|
+
"albedoColor",
|
|
141
|
+
"borderWidth",
|
|
142
|
+
"edgeSmoothingValue",
|
|
143
|
+
"scaleFactor",
|
|
144
|
+
"borderMinValue",
|
|
145
|
+
"hoverColor",
|
|
146
|
+
"hoverPosition",
|
|
147
|
+
"hoverRadius",
|
|
148
|
+
"textureMatrix",
|
|
149
|
+
];
|
|
150
|
+
var samplers = ["albedoSampler"];
|
|
151
|
+
var uniformBuffers = new Array();
|
|
152
|
+
MaterialHelper.PrepareUniformsAndSamplersList({
|
|
153
|
+
uniformsNames: uniforms,
|
|
154
|
+
uniformBuffersNames: uniformBuffers,
|
|
155
|
+
samplers: samplers,
|
|
156
|
+
defines: defines,
|
|
157
|
+
maxSimultaneousLights: 4,
|
|
158
|
+
});
|
|
159
|
+
var join = defines.toString();
|
|
160
|
+
subMesh.setEffect(scene.getEngine().createEffect(shaderName, {
|
|
161
|
+
attributes: attribs,
|
|
162
|
+
uniformsNames: uniforms,
|
|
163
|
+
uniformBuffersNames: uniformBuffers,
|
|
164
|
+
samplers: samplers,
|
|
165
|
+
defines: join,
|
|
166
|
+
fallbacks: null,
|
|
167
|
+
onCompiled: this.onCompiled,
|
|
168
|
+
onError: this.onError,
|
|
169
|
+
indexParameters: { maxSimultaneousLights: 4 },
|
|
170
|
+
}, engine), defines, this._materialContext);
|
|
171
|
+
}
|
|
172
|
+
if (!subMesh.effect || !subMesh.effect.isReady()) {
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
defines._renderId = scene.getRenderId();
|
|
176
|
+
subMesh.effect._wasPreviouslyReady = true;
|
|
177
|
+
return true;
|
|
178
|
+
};
|
|
179
|
+
FluentMaterial.prototype.bindForSubMesh = function (world, mesh, subMesh) {
|
|
180
|
+
var scene = this.getScene();
|
|
181
|
+
var defines = subMesh.materialDefines;
|
|
182
|
+
if (!defines) {
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
var effect = subMesh.effect;
|
|
186
|
+
if (!effect) {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
this._activeEffect = effect;
|
|
190
|
+
// Matrices
|
|
191
|
+
this.bindOnlyWorldMatrix(world);
|
|
192
|
+
this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix());
|
|
193
|
+
if (this._mustRebind(scene, effect)) {
|
|
194
|
+
this._activeEffect.setColor4("albedoColor", this.albedoColor, this.alpha);
|
|
195
|
+
if (defines.INNERGLOW) {
|
|
196
|
+
this._activeEffect.setColor4("innerGlowColor", this.innerGlowColor, this.innerGlowColorIntensity);
|
|
197
|
+
}
|
|
198
|
+
if (defines.BORDER) {
|
|
199
|
+
this._activeEffect.setFloat("borderWidth", this.borderWidth);
|
|
200
|
+
this._activeEffect.setFloat("edgeSmoothingValue", this.edgeSmoothingValue);
|
|
201
|
+
this._activeEffect.setFloat("borderMinValue", this.borderMinValue);
|
|
202
|
+
mesh.getBoundingInfo().boundingBox.extendSize.multiplyToRef(mesh.scaling, TmpVectors.Vector3[0]);
|
|
203
|
+
this._activeEffect.setVector3("scaleFactor", TmpVectors.Vector3[0]);
|
|
204
|
+
}
|
|
205
|
+
if (defines.HOVERLIGHT) {
|
|
206
|
+
this._activeEffect.setDirectColor4("hoverColor", this.hoverColor);
|
|
207
|
+
this._activeEffect.setFloat("hoverRadius", this.hoverRadius);
|
|
208
|
+
this._activeEffect.setVector3("hoverPosition", this.hoverPosition);
|
|
209
|
+
}
|
|
210
|
+
if (defines.TEXTURE && this._albedoTexture) {
|
|
211
|
+
this._activeEffect.setTexture("albedoSampler", this._albedoTexture);
|
|
212
|
+
var matrix = this._albedoTexture.getTextureMatrix();
|
|
213
|
+
this._activeEffect.setMatrix("textureMatrix", matrix);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
this._afterBind(mesh, this._activeEffect);
|
|
217
|
+
};
|
|
218
|
+
FluentMaterial.prototype.getActiveTextures = function () {
|
|
219
|
+
var activeTextures = _super.prototype.getActiveTextures.call(this);
|
|
220
|
+
return activeTextures;
|
|
221
|
+
};
|
|
222
|
+
FluentMaterial.prototype.hasTexture = function (texture) {
|
|
223
|
+
if (_super.prototype.hasTexture.call(this, texture)) {
|
|
224
|
+
return true;
|
|
225
|
+
}
|
|
226
|
+
return false;
|
|
227
|
+
};
|
|
228
|
+
FluentMaterial.prototype.dispose = function (forceDisposeEffect) {
|
|
229
|
+
_super.prototype.dispose.call(this, forceDisposeEffect);
|
|
230
|
+
};
|
|
231
|
+
FluentMaterial.prototype.clone = function (name) {
|
|
232
|
+
var _this = this;
|
|
233
|
+
return SerializationHelper.Clone(function () { return new FluentMaterial(name, _this.getScene()); }, this);
|
|
234
|
+
};
|
|
235
|
+
FluentMaterial.prototype.serialize = function () {
|
|
236
|
+
var serializationObject = _super.prototype.serialize.call(this);
|
|
237
|
+
serializationObject.customType = "BABYLON.GUI.FluentMaterial";
|
|
238
|
+
return serializationObject;
|
|
239
|
+
};
|
|
240
|
+
FluentMaterial.prototype.getClassName = function () {
|
|
241
|
+
return "FluentMaterial";
|
|
242
|
+
};
|
|
243
|
+
// Statics
|
|
244
|
+
FluentMaterial.Parse = function (source, scene, rootUrl) {
|
|
245
|
+
return SerializationHelper.Parse(function () { return new FluentMaterial(source.name, scene); }, source, scene, rootUrl);
|
|
246
|
+
};
|
|
247
|
+
__decorate([
|
|
248
|
+
serialize(),
|
|
249
|
+
expandToProperty("_markAllSubMeshesAsTexturesDirty")
|
|
250
|
+
], FluentMaterial.prototype, "innerGlowColorIntensity", void 0);
|
|
251
|
+
__decorate([
|
|
252
|
+
serializeAsColor3()
|
|
253
|
+
], FluentMaterial.prototype, "innerGlowColor", void 0);
|
|
254
|
+
__decorate([
|
|
255
|
+
serializeAsColor3()
|
|
256
|
+
], FluentMaterial.prototype, "albedoColor", void 0);
|
|
257
|
+
__decorate([
|
|
258
|
+
serialize(),
|
|
259
|
+
expandToProperty("_markAllSubMeshesAsTexturesDirty")
|
|
260
|
+
], FluentMaterial.prototype, "renderBorders", void 0);
|
|
261
|
+
__decorate([
|
|
262
|
+
serialize()
|
|
263
|
+
], FluentMaterial.prototype, "borderWidth", void 0);
|
|
264
|
+
__decorate([
|
|
265
|
+
serialize()
|
|
266
|
+
], FluentMaterial.prototype, "edgeSmoothingValue", void 0);
|
|
267
|
+
__decorate([
|
|
268
|
+
serialize()
|
|
269
|
+
], FluentMaterial.prototype, "borderMinValue", void 0);
|
|
270
|
+
__decorate([
|
|
271
|
+
serialize(),
|
|
272
|
+
expandToProperty("_markAllSubMeshesAsTexturesDirty")
|
|
273
|
+
], FluentMaterial.prototype, "renderHoverLight", void 0);
|
|
274
|
+
__decorate([
|
|
275
|
+
serialize()
|
|
276
|
+
], FluentMaterial.prototype, "hoverRadius", void 0);
|
|
277
|
+
__decorate([
|
|
278
|
+
serializeAsColor4()
|
|
279
|
+
], FluentMaterial.prototype, "hoverColor", void 0);
|
|
280
|
+
__decorate([
|
|
281
|
+
serializeAsVector3()
|
|
282
|
+
], FluentMaterial.prototype, "hoverPosition", void 0);
|
|
283
|
+
__decorate([
|
|
284
|
+
serializeAsTexture("albedoTexture")
|
|
285
|
+
], FluentMaterial.prototype, "_albedoTexture", void 0);
|
|
286
|
+
__decorate([
|
|
287
|
+
expandToProperty("_markAllSubMeshesAsTexturesAndMiscDirty")
|
|
288
|
+
], FluentMaterial.prototype, "albedoTexture", void 0);
|
|
289
|
+
return FluentMaterial;
|
|
290
|
+
}(PushMaterial));
|
|
291
|
+
export { FluentMaterial };
|
|
292
|
+
RegisterClass("BABYLON.GUI.FluentMaterial", FluentMaterial);
|
|
293
293
|
//# sourceMappingURL=fluentMaterial.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "./fluentMaterial";
|
|
1
|
+
export * from "./fluentMaterial";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./fluentMaterial
|
|
1
|
+
export * from "./fluentMaterial";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/** @hidden */
|
|
2
|
-
export declare const fluentPixelShader: {
|
|
3
|
-
name: string;
|
|
4
|
-
shader: string;
|
|
5
|
-
};
|
|
1
|
+
/** @hidden */
|
|
2
|
+
export declare const fluentPixelShader: {
|
|
3
|
+
name: string;
|
|
4
|
+
shader: string;
|
|
5
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
// Do not edit.
|
|
2
|
-
import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
|
|
3
|
-
var name = "fluentPixelShader";
|
|
4
|
-
var shader = "precision highp float;\nvarying vec2 vUV;\nuniform vec4 albedoColor;\n#ifdef INNERGLOW\nuniform vec4 innerGlowColor;\n#endif\n#ifdef BORDER\nvarying vec2 scaleInfo;\nuniform float edgeSmoothingValue;\nuniform float borderMinValue;\n#endif\n#ifdef HOVERLIGHT\nvarying vec3 worldPosition;\nuniform vec3 hoverPosition;\nuniform vec4 hoverColor;\nuniform float hoverRadius;\n#endif\n#ifdef TEXTURE\nuniform sampler2D albedoSampler;\nuniform mat4 textureMatrix;\nvec2 finalUV;\n#endif\nvoid main(void) {\nvec3 albedo=albedoColor.rgb;\nfloat alpha=albedoColor.a;\n#ifdef TEXTURE\nfinalUV=vec2(textureMatrix*vec4(vUV,1.0,0.0));\nalbedo=texture2D(albedoSampler,finalUV).rgb;\n#endif\n#ifdef HOVERLIGHT\nfloat pointToHover=(1.0-clamp(length(hoverPosition-worldPosition)/hoverRadius,0.,1.))*hoverColor.a;\nalbedo=clamp(albedo+hoverColor.rgb*pointToHover,0.,1.);\n#else\nfloat pointToHover=1.0;\n#endif\n#ifdef BORDER \nfloat borderPower=10.0;\nfloat inverseBorderPower=1.0/borderPower;\nvec3 borderColor=albedo*borderPower;\nvec2 distanceToEdge;\ndistanceToEdge.x=abs(vUV.x-0.5)*2.0;\ndistanceToEdge.y=abs(vUV.y-0.5)*2.0;\nfloat borderValue=max(smoothstep(scaleInfo.x-edgeSmoothingValue,scaleInfo.x+edgeSmoothingValue,distanceToEdge.x),\nsmoothstep(scaleInfo.y-edgeSmoothingValue,scaleInfo.y+edgeSmoothingValue,distanceToEdge.y));\nborderColor=borderColor*borderValue*max(borderMinValue*inverseBorderPower,pointToHover); \nalbedo+=borderColor;\nalpha=max(alpha,borderValue);\n#endif\n#ifdef INNERGLOW\nvec2 uvGlow=(vUV-vec2(0.5,0.5))*(innerGlowColor.a*2.0);\nuvGlow=uvGlow*uvGlow;\nuvGlow=uvGlow*uvGlow;\nalbedo+=mix(vec3(0.0,0.0,0.0),innerGlowColor.rgb,uvGlow.x+uvGlow.y); \n#endif\ngl_FragColor=vec4(albedo,alpha);\n}";
|
|
5
|
-
// Sideeffect
|
|
6
|
-
ShaderStore.ShadersStore[name] = shader;
|
|
7
|
-
/** @hidden */
|
|
8
|
-
export var fluentPixelShader = { name: name, shader: shader };
|
|
1
|
+
// Do not edit.
|
|
2
|
+
import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
|
|
3
|
+
var name = "fluentPixelShader";
|
|
4
|
+
var shader = "precision highp float;\nvarying vec2 vUV;\nuniform vec4 albedoColor;\n#ifdef INNERGLOW\nuniform vec4 innerGlowColor;\n#endif\n#ifdef BORDER\nvarying vec2 scaleInfo;\nuniform float edgeSmoothingValue;\nuniform float borderMinValue;\n#endif\n#ifdef HOVERLIGHT\nvarying vec3 worldPosition;\nuniform vec3 hoverPosition;\nuniform vec4 hoverColor;\nuniform float hoverRadius;\n#endif\n#ifdef TEXTURE\nuniform sampler2D albedoSampler;\nuniform mat4 textureMatrix;\nvec2 finalUV;\n#endif\nvoid main(void) {\nvec3 albedo=albedoColor.rgb;\nfloat alpha=albedoColor.a;\n#ifdef TEXTURE\nfinalUV=vec2(textureMatrix*vec4(vUV,1.0,0.0));\nalbedo=texture2D(albedoSampler,finalUV).rgb;\n#endif\n#ifdef HOVERLIGHT\nfloat pointToHover=(1.0-clamp(length(hoverPosition-worldPosition)/hoverRadius,0.,1.))*hoverColor.a;\nalbedo=clamp(albedo+hoverColor.rgb*pointToHover,0.,1.);\n#else\nfloat pointToHover=1.0;\n#endif\n#ifdef BORDER \nfloat borderPower=10.0;\nfloat inverseBorderPower=1.0/borderPower;\nvec3 borderColor=albedo*borderPower;\nvec2 distanceToEdge;\ndistanceToEdge.x=abs(vUV.x-0.5)*2.0;\ndistanceToEdge.y=abs(vUV.y-0.5)*2.0;\nfloat borderValue=max(smoothstep(scaleInfo.x-edgeSmoothingValue,scaleInfo.x+edgeSmoothingValue,distanceToEdge.x),\nsmoothstep(scaleInfo.y-edgeSmoothingValue,scaleInfo.y+edgeSmoothingValue,distanceToEdge.y));\nborderColor=borderColor*borderValue*max(borderMinValue*inverseBorderPower,pointToHover); \nalbedo+=borderColor;\nalpha=max(alpha,borderValue);\n#endif\n#ifdef INNERGLOW\nvec2 uvGlow=(vUV-vec2(0.5,0.5))*(innerGlowColor.a*2.0);\nuvGlow=uvGlow*uvGlow;\nuvGlow=uvGlow*uvGlow;\nalbedo+=mix(vec3(0.0,0.0,0.0),innerGlowColor.rgb,uvGlow.x+uvGlow.y); \n#endif\ngl_FragColor=vec4(albedo,alpha);\n}";
|
|
5
|
+
// Sideeffect
|
|
6
|
+
ShaderStore.ShadersStore[name] = shader;
|
|
7
|
+
/** @hidden */
|
|
8
|
+
export var fluentPixelShader = { name: name, shader: shader };
|
|
9
9
|
//# sourceMappingURL=fluent.fragment.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/** @hidden */
|
|
2
|
-
export declare const fluentVertexShader: {
|
|
3
|
-
name: string;
|
|
4
|
-
shader: string;
|
|
5
|
-
};
|
|
1
|
+
/** @hidden */
|
|
2
|
+
export declare const fluentVertexShader: {
|
|
3
|
+
name: string;
|
|
4
|
+
shader: string;
|
|
5
|
+
};
|