@babylonjs/gui 5.26.1 → 5.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/2D/advancedDynamicTexture.js +5 -4
  2. package/2D/advancedDynamicTexture.js.map +1 -1
  3. package/2D/controls/container.js +5 -3
  4. package/2D/controls/container.js.map +1 -1
  5. package/2D/controls/control.js +8 -7
  6. package/2D/controls/control.js.map +1 -1
  7. package/2D/controls/grid.js +2 -2
  8. package/2D/controls/grid.js.map +1 -1
  9. package/2D/controls/image.js +8 -4
  10. package/2D/controls/image.js.map +1 -1
  11. package/2D/controls/inputText.d.ts +1 -1
  12. package/2D/controls/inputText.js +10 -29
  13. package/2D/controls/inputText.js.map +1 -1
  14. package/2D/controls/inputTextArea.js +9 -7
  15. package/2D/controls/inputTextArea.js.map +1 -1
  16. package/2D/controls/textBlock.js +2 -1
  17. package/2D/controls/textBlock.js.map +1 -1
  18. package/2D/controls/toggleButton.js +4 -3
  19. package/2D/controls/toggleButton.js.map +1 -1
  20. package/3D/controls/MRTK3/touchHolographicButton.d.ts +220 -0
  21. package/3D/controls/MRTK3/touchHolographicButton.js +866 -0
  22. package/3D/controls/MRTK3/touchHolographicButton.js.map +1 -0
  23. package/3D/controls/control3D.js +3 -2
  24. package/3D/controls/control3D.js.map +1 -1
  25. package/3D/controls/holographicBackplate.js +2 -1
  26. package/3D/controls/holographicBackplate.js.map +1 -1
  27. package/3D/controls/holographicSlate.js +2 -1
  28. package/3D/controls/holographicSlate.js.map +1 -1
  29. package/3D/controls/index.d.ts +3 -2
  30. package/3D/controls/index.js +4 -2
  31. package/3D/controls/index.js.map +1 -1
  32. package/3D/controls/slider3D.js +13 -10
  33. package/3D/controls/slider3D.js.map +1 -1
  34. package/3D/controls/touchButton3D.js +4 -2
  35. package/3D/controls/touchButton3D.js.map +1 -1
  36. package/3D/controls/touchHolographicButton.js +2 -1
  37. package/3D/controls/touchHolographicButton.js.map +1 -1
  38. package/3D/gui3DManager.js +5 -3
  39. package/3D/gui3DManager.js.map +1 -1
  40. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +2 -1
  41. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  42. package/3D/materials/mrdl/mrdlBackglowMaterial.d.ts +87 -0
  43. package/3D/materials/mrdl/mrdlBackglowMaterial.js +300 -0
  44. package/3D/materials/mrdl/mrdlBackglowMaterial.js.map +1 -0
  45. package/3D/materials/mrdl/mrdlFrontplateMaterial.d.ts +186 -0
  46. package/3D/materials/mrdl/mrdlFrontplateMaterial.js +530 -0
  47. package/3D/materials/mrdl/mrdlFrontplateMaterial.js.map +1 -0
  48. package/3D/materials/mrdl/mrdlInnerquadMaterial.d.ts +56 -0
  49. package/3D/materials/mrdl/mrdlInnerquadMaterial.js +228 -0
  50. package/3D/materials/mrdl/mrdlInnerquadMaterial.js.map +1 -0
  51. package/3D/materials/mrdl/shaders/mrdlBackglow.fragment.d.ts +5 -0
  52. package/3D/materials/mrdl/shaders/mrdlBackglow.fragment.js +9 -0
  53. package/3D/materials/mrdl/shaders/mrdlBackglow.fragment.js.map +1 -0
  54. package/3D/materials/mrdl/shaders/mrdlBackglow.vertex.d.ts +5 -0
  55. package/3D/materials/mrdl/shaders/mrdlBackglow.vertex.js +9 -0
  56. package/3D/materials/mrdl/shaders/mrdlBackglow.vertex.js.map +1 -0
  57. package/3D/materials/mrdl/shaders/mrdlFrontplate.fragment.d.ts +5 -0
  58. package/3D/materials/mrdl/shaders/mrdlFrontplate.fragment.js +9 -0
  59. package/3D/materials/mrdl/shaders/mrdlFrontplate.fragment.js.map +1 -0
  60. package/3D/materials/mrdl/shaders/mrdlFrontplate.vertex.d.ts +5 -0
  61. package/3D/materials/mrdl/shaders/mrdlFrontplate.vertex.js +9 -0
  62. package/3D/materials/mrdl/shaders/mrdlFrontplate.vertex.js.map +1 -0
  63. package/3D/materials/mrdl/shaders/mrdlInnerquad.fragment.d.ts +5 -0
  64. package/3D/materials/mrdl/shaders/mrdlInnerquad.fragment.js +9 -0
  65. package/3D/materials/mrdl/shaders/mrdlInnerquad.fragment.js.map +1 -0
  66. package/3D/materials/mrdl/shaders/mrdlInnerquad.vertex.d.ts +5 -0
  67. package/3D/materials/mrdl/shaders/mrdlInnerquad.vertex.js +9 -0
  68. package/3D/materials/mrdl/shaders/mrdlInnerquad.vertex.js.map +1 -0
  69. package/package.json +2 -2
@@ -0,0 +1,228 @@
1
+ import { __decorate } from "@babylonjs/core/tslib.es6.js";
2
+ import { Color4 } from "@babylonjs/core/Maths/math.color.js";
3
+ import { Constants } from "@babylonjs/core/Engines/constants.js";
4
+ import { EffectFallbacks } from "@babylonjs/core/Materials/effectFallbacks.js";
5
+ import { MaterialDefines } from "@babylonjs/core/Materials/materialDefines.js";
6
+ import { MaterialHelper } from "@babylonjs/core/Materials/materialHelper.js";
7
+ import { PushMaterial } from "@babylonjs/core/Materials/pushMaterial.js";
8
+ import { RegisterClass } from "@babylonjs/core/Misc/typeStore.js";
9
+ import { SerializationHelper, serialize } from "@babylonjs/core/Misc/decorators.js";
10
+ import { VertexBuffer } from "@babylonjs/core/Buffers/buffer.js";
11
+ import "./shaders/mrdlInnerquad.fragment.js";
12
+ import "./shaders/mrdlInnerquad.vertex.js";
13
+ class MRDLInnerquadMaterialDefines extends MaterialDefines {
14
+ constructor() {
15
+ super();
16
+ this._needNormals = true;
17
+ this._needUVs = true;
18
+ this.rebuild();
19
+ }
20
+ }
21
+ export class MRDLInnerquadMaterial extends PushMaterial {
22
+ constructor(name, scene) {
23
+ super(name, scene);
24
+ /**
25
+ * Gets or sets the color of the innerquad.
26
+ */
27
+ this.color = new Color4(1, 1, 1, 0.05);
28
+ /**
29
+ * Gets or sets the corner radius on the innerquad. If this value is changed, update the lineWidth to match.
30
+ */
31
+ this.radius = 0.12;
32
+ /**
33
+ * Gets or sets whether the radius of the innerquad should be fixed.
34
+ */
35
+ this.fixedRadius = true;
36
+ /** @hidden */
37
+ this._filterWidth = 1.0;
38
+ /**
39
+ * Gets or sets the glow fraction of the innerquad.
40
+ */
41
+ this.glowFraction = 0.0;
42
+ /**
43
+ * Gets or sets the maximum glow intensity of the innerquad.
44
+ */
45
+ this.glowMax = 0.5;
46
+ /**
47
+ * Gets or sets the glow falloff effect of the innerquad.
48
+ */
49
+ this.glowFalloff = 2.0;
50
+ this.alphaMode = Constants.ALPHA_COMBINE;
51
+ this.backFaceCulling = false;
52
+ }
53
+ needAlphaBlending() {
54
+ return true;
55
+ }
56
+ needAlphaTesting() {
57
+ return false;
58
+ }
59
+ getAlphaTestTexture() {
60
+ return null;
61
+ }
62
+ // Methods
63
+ isReadyForSubMesh(mesh, subMesh) {
64
+ if (this.isFrozen) {
65
+ if (subMesh.effect && subMesh.effect._wasPreviouslyReady) {
66
+ return true;
67
+ }
68
+ }
69
+ if (!subMesh.materialDefines) {
70
+ subMesh.materialDefines = new MRDLInnerquadMaterialDefines();
71
+ }
72
+ const defines = subMesh.materialDefines;
73
+ const scene = this.getScene();
74
+ if (this._isReadyForSubMesh(subMesh)) {
75
+ return true;
76
+ }
77
+ const engine = scene.getEngine();
78
+ // Attribs
79
+ MaterialHelper.PrepareDefinesForAttributes(mesh, defines, true, false);
80
+ // Get correct effect
81
+ if (defines.isDirty) {
82
+ defines.markAsProcessed();
83
+ scene.resetCachedMaterial();
84
+ // Fallbacks
85
+ const fallbacks = new EffectFallbacks();
86
+ if (defines.FOG) {
87
+ fallbacks.addFallback(1, "FOG");
88
+ }
89
+ MaterialHelper.HandleFallbacksForShadows(defines, fallbacks);
90
+ defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;
91
+ //Attributes
92
+ const attribs = [VertexBuffer.PositionKind];
93
+ if (defines.NORMAL) {
94
+ attribs.push(VertexBuffer.NormalKind);
95
+ }
96
+ if (defines.UV1) {
97
+ attribs.push(VertexBuffer.UVKind);
98
+ }
99
+ if (defines.UV2) {
100
+ attribs.push(VertexBuffer.UV2Kind);
101
+ }
102
+ if (defines.VERTEXCOLOR) {
103
+ attribs.push(VertexBuffer.ColorKind);
104
+ }
105
+ if (defines.TANGENT) {
106
+ attribs.push(VertexBuffer.TangentKind);
107
+ }
108
+ MaterialHelper.PrepareAttributesForInstances(attribs, defines);
109
+ // Legacy browser patch
110
+ const shaderName = "mrdlInnerquad";
111
+ const join = defines.toString();
112
+ const uniforms = [
113
+ "world",
114
+ "worldView",
115
+ "worldViewProjection",
116
+ "view",
117
+ "projection",
118
+ "viewProjection",
119
+ "cameraPosition",
120
+ "_Color_",
121
+ "_Radius_",
122
+ "_Fixed_Radius_",
123
+ "_Filter_Width_",
124
+ "_Glow_Fraction_",
125
+ "_Glow_Max_",
126
+ "_Glow_Falloff_",
127
+ ];
128
+ const samplers = [];
129
+ const uniformBuffers = new Array();
130
+ MaterialHelper.PrepareUniformsAndSamplersList({
131
+ uniformsNames: uniforms,
132
+ uniformBuffersNames: uniformBuffers,
133
+ samplers: samplers,
134
+ defines: defines,
135
+ maxSimultaneousLights: 4,
136
+ });
137
+ subMesh.setEffect(scene.getEngine().createEffect(shaderName, {
138
+ attributes: attribs,
139
+ uniformsNames: uniforms,
140
+ uniformBuffersNames: uniformBuffers,
141
+ samplers: samplers,
142
+ defines: join,
143
+ fallbacks: fallbacks,
144
+ onCompiled: this.onCompiled,
145
+ onError: this.onError,
146
+ indexParameters: { maxSimultaneousLights: 4 },
147
+ }, engine), defines);
148
+ }
149
+ if (!subMesh.effect || !subMesh.effect.isReady()) {
150
+ return false;
151
+ }
152
+ defines._renderId = scene.getRenderId();
153
+ subMesh.effect._wasPreviouslyReady = true;
154
+ return true;
155
+ }
156
+ bindForSubMesh(world, mesh, subMesh) {
157
+ const scene = this.getScene();
158
+ const defines = subMesh.materialDefines;
159
+ if (!defines) {
160
+ return;
161
+ }
162
+ const effect = subMesh.effect;
163
+ if (!effect) {
164
+ return;
165
+ }
166
+ this._activeEffect = effect;
167
+ // Matrices
168
+ this.bindOnlyWorldMatrix(world);
169
+ this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix());
170
+ this._activeEffect.setVector3("cameraPosition", scene.activeCamera.position);
171
+ // "Color"
172
+ this._activeEffect.setDirectColor4("_Color_", this.color);
173
+ // "Shape"
174
+ this._activeEffect.setFloat("_Radius_", this.radius);
175
+ this._activeEffect.setFloat("_Fixed_Radius_", this.fixedRadius ? 1.0 : 0.0);
176
+ this._activeEffect.setFloat("_Filter_Width_", this._filterWidth);
177
+ // "Glow"
178
+ this._activeEffect.setFloat("_Glow_Fraction_", this.glowFraction);
179
+ this._activeEffect.setFloat("_Glow_Max_", this.glowMax);
180
+ this._activeEffect.setFloat("_Glow_Falloff_", this.glowFalloff);
181
+ this._afterBind(mesh, this._activeEffect);
182
+ }
183
+ /**
184
+ * Get the list of animatables in the material.
185
+ * @returns the list of animatables object used in the material
186
+ */
187
+ getAnimatables() {
188
+ return [];
189
+ }
190
+ dispose(forceDisposeEffect) {
191
+ super.dispose(forceDisposeEffect);
192
+ }
193
+ clone(name) {
194
+ return SerializationHelper.Clone(() => new MRDLInnerquadMaterial(name, this.getScene()), this);
195
+ }
196
+ serialize() {
197
+ const serializationObject = SerializationHelper.Serialize(this);
198
+ serializationObject.customType = "BABYLON.MRDLInnerquadMaterial";
199
+ return serializationObject;
200
+ }
201
+ getClassName() {
202
+ return "MRDLInnerquadMaterial";
203
+ }
204
+ // Statics
205
+ static Parse(source, scene, rootUrl) {
206
+ return SerializationHelper.Parse(() => new MRDLInnerquadMaterial(source.name, scene), source, scene, rootUrl);
207
+ }
208
+ }
209
+ __decorate([
210
+ serialize()
211
+ ], MRDLInnerquadMaterial.prototype, "color", void 0);
212
+ __decorate([
213
+ serialize()
214
+ ], MRDLInnerquadMaterial.prototype, "radius", void 0);
215
+ __decorate([
216
+ serialize()
217
+ ], MRDLInnerquadMaterial.prototype, "fixedRadius", void 0);
218
+ __decorate([
219
+ serialize()
220
+ ], MRDLInnerquadMaterial.prototype, "glowFraction", void 0);
221
+ __decorate([
222
+ serialize()
223
+ ], MRDLInnerquadMaterial.prototype, "glowMax", void 0);
224
+ __decorate([
225
+ serialize()
226
+ ], MRDLInnerquadMaterial.prototype, "glowFalloff", void 0);
227
+ RegisterClass("BABYLON.GUI.MRDLInnerquadMaterial", MRDLInnerquadMaterial);
228
+ //# sourceMappingURL=mrdlInnerquadMaterial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mrdlInnerquadMaterial.js","sourceRoot":"","sources":["../../../../../../../lts/gui/generated/3D/materials/mrdl/mrdlInnerquadMaterial.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AbstractMesh } from \"core/Meshes/abstractMesh\";\r\nimport type { BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport type { IAnimatable } from \"core/Animations/animatable.interface\";\r\nimport type { IEffectCreationOptions } from \"core/Materials/effect\";\r\nimport type { Matrix } from \"core/Maths/math.vector\";\r\nimport type { Mesh } from \"core/Meshes/mesh\";\r\nimport type { Nullable } from \"core/types\";\r\nimport type { Scene } from \"core/scene\";\r\nimport type { SubMesh } from \"core/Meshes/subMesh\";\r\n\r\nimport { Color4 } from \"core/Maths/math.color\";\r\nimport { Constants } from \"core/Engines/constants\";\r\nimport { EffectFallbacks } from \"core/Materials/effectFallbacks\";\r\nimport { MaterialDefines } from \"core/Materials/materialDefines\";\r\nimport { MaterialHelper } from \"core/Materials/materialHelper\";\r\nimport { PushMaterial } from \"core/Materials/pushMaterial\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\nimport { SerializationHelper, serialize } from \"core/Misc/decorators\";\r\nimport { VertexBuffer } from \"core/Buffers/buffer\";\r\n\r\nimport \"./shaders/mrdlInnerquad.fragment\";\r\nimport \"./shaders/mrdlInnerquad.vertex\";\r\n\r\nclass MRDLInnerquadMaterialDefines extends MaterialDefines {\r\n constructor() {\r\n super();\r\n this._needNormals = true;\r\n this._needUVs = true;\r\n this.rebuild();\r\n }\r\n}\r\n\r\nexport class MRDLInnerquadMaterial extends PushMaterial {\r\n /**\r\n * Gets or sets the color of the innerquad.\r\n */\r\n @serialize()\r\n public color: Color4 = new Color4(1, 1, 1, 0.05);\r\n /**\r\n * Gets or sets the corner radius on the innerquad. If this value is changed, update the lineWidth to match.\r\n */\r\n @serialize()\r\n public radius = 0.12;\r\n\r\n /**\r\n * Gets or sets whether the radius of the innerquad should be fixed.\r\n */\r\n @serialize()\r\n public fixedRadius = true;\r\n\r\n /** @hidden */\r\n public _filterWidth = 1.0;\r\n\r\n /**\r\n * Gets or sets the glow fraction of the innerquad.\r\n */\r\n @serialize()\r\n public glowFraction = 0.0;\r\n\r\n /**\r\n * Gets or sets the maximum glow intensity of the innerquad.\r\n */\r\n @serialize()\r\n public glowMax = 0.5;\r\n\r\n /**\r\n * Gets or sets the glow falloff effect of the innerquad.\r\n */\r\n @serialize()\r\n public glowFalloff = 2.0;\r\n\r\n constructor(name: string, scene: Scene) {\r\n super(name, scene);\r\n this.alphaMode = Constants.ALPHA_COMBINE;\r\n this.backFaceCulling = false;\r\n }\r\n\r\n public needAlphaBlending(): boolean {\r\n return true;\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 MRDLInnerquadMaterialDefines();\r\n }\r\n\r\n const defines = <MRDLInnerquadMaterialDefines>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, true, 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 = \"mrdlInnerquad\";\r\n const join = defines.toString();\r\n\r\n const uniforms = [\r\n \"world\",\r\n \"worldView\",\r\n \"worldViewProjection\",\r\n \"view\",\r\n \"projection\",\r\n \"viewProjection\",\r\n \"cameraPosition\",\r\n \"_Color_\",\r\n \"_Radius_\",\r\n \"_Fixed_Radius_\",\r\n \"_Filter_Width_\",\r\n \"_Glow_Fraction_\",\r\n \"_Glow_Max_\",\r\n \"_Glow_Falloff_\",\r\n ];\r\n const samplers: string[] = [];\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 scene = this.getScene();\r\n\r\n const defines = <MRDLInnerquadMaterialDefines>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\", scene.getTransformMatrix());\r\n this._activeEffect.setVector3(\"cameraPosition\", scene.activeCamera!.position);\r\n\r\n // \"Color\"\r\n this._activeEffect.setDirectColor4(\"_Color_\", this.color);\r\n\r\n // \"Shape\"\r\n this._activeEffect.setFloat(\"_Radius_\", this.radius);\r\n this._activeEffect.setFloat(\"_Fixed_Radius_\", this.fixedRadius ? 1.0 : 0.0);\r\n this._activeEffect.setFloat(\"_Filter_Width_\", this._filterWidth);\r\n\r\n // \"Glow\"\r\n this._activeEffect.setFloat(\"_Glow_Fraction_\", this.glowFraction);\r\n this._activeEffect.setFloat(\"_Glow_Max_\", this.glowMax);\r\n this._activeEffect.setFloat(\"_Glow_Falloff_\", this.glowFalloff);\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): MRDLInnerquadMaterial {\r\n return SerializationHelper.Clone(() => new MRDLInnerquadMaterial(name, this.getScene()), this);\r\n }\r\n\r\n public serialize(): unknown {\r\n const serializationObject = SerializationHelper.Serialize(this);\r\n serializationObject.customType = \"BABYLON.MRDLInnerquadMaterial\";\r\n return serializationObject;\r\n }\r\n\r\n public getClassName(): string {\r\n return \"MRDLInnerquadMaterial\";\r\n }\r\n\r\n // Statics\r\n public static Parse(source: any, scene: Scene, rootUrl: string): MRDLInnerquadMaterial {\r\n return SerializationHelper.Parse(() => new MRDLInnerquadMaterial(source.name, scene), source, scene, rootUrl);\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.GUI.MRDLInnerquadMaterial\", MRDLInnerquadMaterial);\r\n"]}
@@ -0,0 +1,5 @@
1
+ /** @internal */
2
+ export declare const mrdlBackglowPixelShader: {
3
+ name: string;
4
+ shader: string;
5
+ };
@@ -0,0 +1,9 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
+ const name = "mrdlBackglowPixelShader";
4
+ const shader = `uniform vec3 cameraPosition;
5
+ // Sideeffect
6
+ ShaderStore.ShadersStore[name] = shader;
7
+ /** @internal */
8
+ export const mrdlBackglowPixelShader = { name, shader };
9
+ //# sourceMappingURL=mrdlBackglow.fragment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mrdlBackglow.fragment.js","sourceRoot":"","sources":["../../../../../../../../lts/gui/generated/3D/materials/mrdl/shaders/mrdlBackglow.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AAEvD,MAAM,IAAI,GAAG,yBAAyB,CAAC;AACvC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+Db,CAAC;AACH,aAAa;AACb,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,gBAAgB;AAChB,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\n\nconst name = \"mrdlBackglowPixelShader\";\nconst shader = `uniform vec3 cameraPosition;\rvarying vec3 vNormal;\rvarying vec2 vUV;\runiform float _Bevel_Radius_;\runiform float _Line_Width_;\runiform bool _Absolute_Sizes_;\runiform float _Tuning_Motion_;\runiform float _Motion_;\runiform float _Max_Intensity_;\runiform float _Intensity_Fade_In_Exponent_;\runiform float _Outer_Fuzz_Start_;\runiform float _Outer_Fuzz_End_;\runiform vec4 _Color_;\runiform vec4 _Inner_Color_;\runiform float _Blend_Exponent_;\runiform float _Falloff_;\runiform float _Bias_;\rfloat BiasFunc(float b,float v) {\rreturn pow(v,log(clamp(b,0.001,0.999))/log(0.5));\r}\rvoid Fuzzy_Round_Rect_B33(\rfloat Size_X,\rfloat Size_Y,\rfloat Radius_X,\rfloat Radius_Y,\rfloat Line_Width,\rvec2 UV,\rfloat Outer_Fuzz,\rfloat Max_Outer_Fuzz,\rout float Rect_Distance,\rout float Inner_Distance)\r{\rvec2 halfSize=vec2(Size_X,Size_Y)*0.5;\rvec2 r=max(min(vec2(Radius_X,Radius_Y),halfSize),vec2(0.001,0.001));\rfloat radius=min(r.x,r.y)-Max_Outer_Fuzz;\rvec2 v=abs(UV);\rvec2 nearestp=min(v,halfSize-r);\rfloat d=distance(nearestp,v);\rInner_Distance=clamp(1.0-(radius-d)/Line_Width,0.0,1.0);\rRect_Distance=clamp(1.0-(d-radius)/Outer_Fuzz,0.0,1.0)*Inner_Distance;\r}\rvoid main()\r{\rfloat X_Q42;\rfloat Y_Q42;\rX_Q42=vNormal.x;\rY_Q42=vNormal.y;\rfloat MaxAB_Q24=max(_Tuning_Motion_,_Motion_);\rfloat Sqrt_F_Q27=sqrt(MaxAB_Q24);\rfloat Power_Q43=pow(MaxAB_Q24,_Intensity_Fade_In_Exponent_);\rfloat Value_At_T_Q26=mix(_Outer_Fuzz_Start_,_Outer_Fuzz_End_,Sqrt_F_Q27);\rfloat Product_Q23=_Max_Intensity_*Power_Q43;\rfloat Rect_Distance_Q33;\rfloat Inner_Distance_Q33;\rFuzzy_Round_Rect_B33(X_Q42,Y_Q42,_Bevel_Radius_,_Bevel_Radius_,_Line_Width_,vUV,Value_At_T_Q26,_Outer_Fuzz_Start_,Rect_Distance_Q33,Inner_Distance_Q33);\rfloat Power_Q44=pow(Inner_Distance_Q33,_Blend_Exponent_);\rfloat Result_Q45=pow(BiasFunc(_Bias_,Rect_Distance_Q33),_Falloff_);\rvec4 Color_At_T_Q25=mix(_Inner_Color_,_Color_,Power_Q44);\rfloat Product_Q22=Result_Q45*Product_Q23;\rvec4 Result_Q28=Product_Q22*Color_At_T_Q25;\rvec4 Out_Color=Result_Q28;\rfloat Clip_Threshold=0.0;\rgl_FragColor=Out_Color;\r}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @internal */\nexport const mrdlBackglowPixelShader = { name, shader };\n"]}
@@ -0,0 +1,5 @@
1
+ /** @internal */
2
+ export declare const mrdlBackglowVertexShader: {
3
+ name: string;
4
+ shader: string;
5
+ };
@@ -0,0 +1,9 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
+ const name = "mrdlBackglowVertexShader";
4
+ const shader = `uniform mat4 world;
5
+ // Sideeffect
6
+ ShaderStore.ShadersStore[name] = shader;
7
+ /** @internal */
8
+ export const mrdlBackglowVertexShader = { name, shader };
9
+ //# sourceMappingURL=mrdlBackglow.vertex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mrdlBackglow.vertex.js","sourceRoot":"","sources":["../../../../../../../../lts/gui/generated/3D/materials/mrdl/shaders/mrdlBackglow.vertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AAEvD,MAAM,IAAI,GAAG,0BAA0B,CAAC;AACxC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8Cb,CAAC;AACH,aAAa;AACb,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,gBAAgB;AAChB,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\n\nconst name = \"mrdlBackglowVertexShader\";\nconst shader = `uniform mat4 world;\runiform mat4 viewProjection;\runiform vec3 cameraPosition;\rattribute vec3 position;\rattribute vec3 normal;\rattribute vec2 uv;\rattribute vec3 tangent;\runiform float _Bevel_Radius_;\runiform float _Line_Width_;\runiform bool _Absolute_Sizes_;\runiform float _Tuning_Motion_;\runiform float _Motion_;\runiform float _Max_Intensity_;\runiform float _Intensity_Fade_In_Exponent_;\runiform float _Outer_Fuzz_Start_;\runiform float _Outer_Fuzz_End_;\runiform vec4 _Color_;\runiform vec4 _Inner_Color_;\runiform float _Blend_Exponent_;\runiform float _Falloff_;\runiform float _Bias_;\rvarying vec3 vNormal;\rvarying vec2 vUV;\rvoid main()\r{\rvec3 Dir_World_Q41=(world*vec4(tangent,0.0)).xyz;\rvec3 Dir_World_Q40=(world*vec4((cross(normal,tangent)),0.0)).xyz;\rfloat MaxAB_Q24=max(_Tuning_Motion_,_Motion_);\rfloat Length_Q16=length(Dir_World_Q41);\rfloat Length_Q17=length(Dir_World_Q40);\rbool Greater_Than_Q37=MaxAB_Q24>0.0;\rvec3 Sizes_Q35;\rvec2 XY_Q35;\rSizes_Q35=(_Absolute_Sizes_ ? vec3(Length_Q16,Length_Q17,0) : vec3(Length_Q16/Length_Q17,1,0));\rXY_Q35=(uv-vec2(0.5,0.5))*Sizes_Q35.xy;\rvec3 Result_Q38=Greater_Than_Q37 ? position : vec3(0,0,0);\rvec3 Pos_World_Q39=(world*vec4(Result_Q38,1.0)).xyz;\rvec3 Position=Pos_World_Q39;\rvec3 Normal=Sizes_Q35;\rvec2 UV=XY_Q35;\rvec3 Tangent=vec3(0,0,0);\rvec3 Binormal=vec3(0,0,0);\rvec4 Color=vec4(1,1,1,1);\rgl_Position=viewProjection*vec4(Position,1);\rvNormal=Normal;\rvUV=UV;\r}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @internal */\nexport const mrdlBackglowVertexShader = { name, shader };\n"]}
@@ -0,0 +1,5 @@
1
+ /** @internal */
2
+ export declare const mrdlFrontplatePixelShader: {
3
+ name: string;
4
+ shader: string;
5
+ };
@@ -0,0 +1,9 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
+ const name = "mrdlFrontplatePixelShader";
4
+ const shader = `uniform vec3 cameraPosition;
5
+ // Sideeffect
6
+ ShaderStore.ShadersStore[name] = shader;
7
+ /** @internal */
8
+ export const mrdlFrontplatePixelShader = { name, shader };
9
+ //# sourceMappingURL=mrdlFrontplate.fragment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mrdlFrontplate.fragment.js","sourceRoot":"","sources":["../../../../../../../../lts/gui/generated/3D/materials/mrdl/shaders/mrdlFrontplate.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AAEvD,MAAM,IAAI,GAAG,2BAA2B,CAAC;AACzC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgIb,CAAC;AACH,aAAa;AACb,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,gBAAgB;AAChB,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\n\nconst name = \"mrdlFrontplatePixelShader\";\nconst shader = `uniform vec3 cameraPosition;\rvarying vec3 vNormal;\rvarying vec2 vUV;\rvarying vec3 vTangent;\rvarying vec4 vExtra1;\rvarying vec4 vExtra2;\rvarying vec4 vExtra3;\runiform float _Radius_;\runiform float _Line_Width_;\runiform bool _Relative_To_Height_;\runiform float _Filter_Width_;\runiform vec4 _Edge_Color_;\runiform float _Fade_Out_;\runiform bool _Smooth_Edges_;\runiform bool _Blob_Enable_;\runiform vec3 _Blob_Position_;\runiform float _Blob_Intensity_;\runiform float _Blob_Near_Size_;\runiform float _Blob_Far_Size_;\runiform float _Blob_Near_Distance_;\runiform float _Blob_Far_Distance_;\runiform float _Blob_Fade_Length_;\runiform float _Blob_Inner_Fade_;\runiform float _Blob_Pulse_;\runiform float _Blob_Fade_;\runiform float _Blob_Pulse_Max_Size_;\runiform bool _Blob_Enable_2_;\runiform vec3 _Blob_Position_2_;\runiform float _Blob_Near_Size_2_;\runiform float _Blob_Inner_Fade_2_;\runiform float _Blob_Pulse_2_;\runiform float _Blob_Fade_2_;\runiform float _Gaze_Intensity_;\runiform float _Gaze_Focus_;\runiform sampler2D _Blob_Texture_;\runiform float _Selection_Fuzz_;\runiform float _Selected_;\runiform float _Selection_Fade_;\runiform float _Selection_Fade_Size_;\runiform float _Selected_Distance_;\runiform float _Selected_Fade_Length_;\runiform float _Proximity_Max_Intensity_;\runiform float _Proximity_Far_Distance_;\runiform float _Proximity_Near_Radius_;\runiform float _Proximity_Anisotropy_;\runiform bool _Use_Global_Left_Index_;\runiform bool _Use_Global_Right_Index_;\runiform vec4 Global_Left_Index_Tip_Position;\runiform vec4 Global_Right_Index_Tip_Position;\rvoid Scale_Color_B54(\rvec4 Color,\rfloat Scalar,\rout vec4 Result)\r{\rResult=Scalar*Color;\r}\rvoid Scale_RGB_B50(\rvec4 Color,\rfloat Scalar,\rout vec4 Result)\r{\rResult=vec4(Scalar,Scalar,Scalar,1)*Color;\r}\rvoid Proximity_Fragment_B51(\rfloat Proximity_Max_Intensity,\rfloat Proximity_Near_Radius,\rvec4 Deltas,\rfloat Show_Selection,\rfloat Distance_Fade1,\rfloat Distance_Fade2,\rfloat Strength,\rout float Proximity)\r{\rfloat proximity1=(1.0-clamp(length(Deltas.xy)/Proximity_Near_Radius,0.0,1.0))*Distance_Fade1;\rfloat proximity2=(1.0-clamp(length(Deltas.zw)/Proximity_Near_Radius,0.0,1.0))*Distance_Fade2;\rProximity=Strength*(Proximity_Max_Intensity*max(proximity1,proximity2) *(1.0-Show_Selection)+Show_Selection);\r}\rvoid Blob_Fragment_B56(\rvec2 UV,\rvec3 Blob_Info,\rsampler2D Blob_Texture,\rout vec4 Blob_Color)\r{\rfloat k=dot(UV,UV);\rBlob_Color=Blob_Info.y*texture(Blob_Texture,vec2(vec2(sqrt(k),Blob_Info.x).x,1.0-vec2(sqrt(k),Blob_Info.x).y))*(1.0-clamp(k,0.0,1.0));\r}\rvoid Round_Rect_Fragment_B61(\rfloat Radius,\rvec4 Line_Color,\rfloat Filter_Width,\rfloat Line_Visibility,\rvec4 Fill_Color,\rbool Smooth_Edges,\rvec4 Rect_Parms,\rout float Inside_Rect)\r{\rfloat d=length(max(abs(Rect_Parms.zw)-Rect_Parms.xy,0.0));\rfloat dx=max(fwidth(d)*Filter_Width,0.00001);\rInside_Rect=Smooth_Edges ? clamp((Radius-d)/dx,0.0,1.0) : 1.0-step(Radius,d);\r}\rvoid main()\r{\rfloat Is_Quad_Q53;\rIs_Quad_Q53=vNormal.z;\rvec4 Blob_Color_Q56;\rBlob_Fragment_B56(vUV,vTangent,_Blob_Texture_,Blob_Color_Q56);\rfloat X_Q52;\rfloat Y_Q52;\rfloat Z_Q52;\rfloat W_Q52;\rX_Q52=vExtra3.x;\rY_Q52=vExtra3.y;\rZ_Q52=vExtra3.z;\rW_Q52=vExtra3.w;\rfloat Proximity_Q51;\rProximity_Fragment_B51(_Proximity_Max_Intensity_,_Proximity_Near_Radius_,vExtra2,X_Q52,Y_Q52,Z_Q52,1.0,Proximity_Q51);\rfloat Inside_Rect_Q61;\rRound_Rect_Fragment_B61(W_Q52,vec4(1,1,1,1),_Filter_Width_,1.0,vec4(0,0,0,0),_Smooth_Edges_,vExtra1,Inside_Rect_Q61);\rvec4 Result_Q50;\rScale_RGB_B50(_Edge_Color_,Proximity_Q51,Result_Q50);\rvec4 Result_Q47=Inside_Rect_Q61*Blob_Color_Q56;\rvec4 Color_At_T_Q48=mix(Result_Q50,Result_Q47,Is_Quad_Q53);\rvec4 Result_Q54;\rScale_Color_B54(Color_At_T_Q48,_Fade_Out_,Result_Q54);\rvec4 Out_Color=Result_Q54;\rfloat Clip_Threshold=0.001;\rbool To_sRGB=false;\rgl_FragColor=Out_Color;\r}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @internal */\nexport const mrdlFrontplatePixelShader = { name, shader };\n"]}
@@ -0,0 +1,5 @@
1
+ /** @internal */
2
+ export declare const mrdlFrontplateVertexShader: {
3
+ name: string;
4
+ shader: string;
5
+ };
@@ -0,0 +1,9 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
+ const name = "mrdlFrontplateVertexShader";
4
+ const shader = `uniform mat4 world;
5
+ // Sideeffect
6
+ ShaderStore.ShadersStore[name] = shader;
7
+ /** @internal */
8
+ export const mrdlFrontplateVertexShader = { name, shader };
9
+ //# sourceMappingURL=mrdlFrontplate.vertex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mrdlFrontplate.vertex.js","sourceRoot":"","sources":["../../../../../../../../lts/gui/generated/3D/materials/mrdl/shaders/mrdlFrontplate.vertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AAEvD,MAAM,IAAI,GAAG,4BAA4B,CAAC;AAC1C,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsXb,CAAC;AACH,aAAa;AACb,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,gBAAgB;AAChB,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\n\nconst name = \"mrdlFrontplateVertexShader\";\nconst shader = `uniform mat4 world;\runiform mat4 viewProjection;\runiform vec3 cameraPosition;\rattribute vec3 position;\rattribute vec3 normal;\rattribute vec2 uv;\rattribute vec3 tangent;\rattribute vec4 color;\runiform float _Radius_;\runiform float _Line_Width_;\runiform bool _Relative_To_Height_;\runiform float _Filter_Width_;\runiform vec4 _Edge_Color_;\runiform float _Fade_Out_;\runiform bool _Smooth_Edges_;\runiform bool _Blob_Enable_;\runiform vec3 _Blob_Position_;\runiform float _Blob_Intensity_;\runiform float _Blob_Near_Size_;\runiform float _Blob_Far_Size_;\runiform float _Blob_Near_Distance_;\runiform float _Blob_Far_Distance_;\runiform float _Blob_Fade_Length_;\runiform float _Blob_Inner_Fade_;\runiform float _Blob_Pulse_;\runiform float _Blob_Fade_;\runiform float _Blob_Pulse_Max_Size_;\runiform bool _Blob_Enable_2_;\runiform vec3 _Blob_Position_2_;\runiform float _Blob_Near_Size_2_;\runiform float _Blob_Inner_Fade_2_;\runiform float _Blob_Pulse_2_;\runiform float _Blob_Fade_2_;\runiform float _Gaze_Intensity_;\runiform float _Gaze_Focus_;\runiform sampler2D _Blob_Texture_;\runiform float _Selection_Fuzz_;\runiform float _Selected_;\runiform float _Selection_Fade_;\runiform float _Selection_Fade_Size_;\runiform float _Selected_Distance_;\runiform float _Selected_Fade_Length_;\runiform float _Proximity_Max_Intensity_;\runiform float _Proximity_Far_Distance_;\runiform float _Proximity_Near_Radius_;\runiform float _Proximity_Anisotropy_;\runiform bool _Use_Global_Left_Index_;\runiform bool _Use_Global_Right_Index_;\runiform vec4 Global_Left_Index_Tip_Position;\runiform vec4 Global_Right_Index_Tip_Position;\rvarying vec3 vNormal;\rvarying vec2 vUV;\rvarying vec3 vTangent;\rvarying vec4 vExtra1;\rvarying vec4 vExtra2;\rvarying vec4 vExtra3;\rvoid Blob_Vertex_B40(\rvec3 Position,\rvec3 Normal,\rvec3 Tangent,\rvec3 Bitangent,\rvec3 Blob_Position,\rfloat Intensity,\rfloat Blob_Near_Size,\rfloat Blob_Far_Size,\rfloat Blob_Near_Distance,\rfloat Blob_Far_Distance,\rvec4 Vx_Color,\rvec2 UV,\rvec3 Face_Center,\rvec2 Face_Size,\rvec2 In_UV,\rfloat Blob_Fade_Length,\rfloat Selection_Fade,\rfloat Selection_Fade_Size,\rfloat Inner_Fade,\rfloat Blob_Pulse,\rfloat Blob_Fade,\rfloat Blob_Enabled,\rfloat DistanceOffset,\rout vec3 Out_Position,\rout vec2 Out_UV,\rout vec3 Blob_Info,\rout vec2 Blob_Relative_UV)\r{\rfloat blobSize,fadeIn;\rvec3 Hit_Position;\rBlob_Info=vec3(0.0,0.0,0.0);\rfloat Hit_Distance=dot(Blob_Position-Face_Center,Normal)+DistanceOffset*Blob_Far_Distance;\rHit_Position=Blob_Position-Hit_Distance*Normal;\rfloat absD=abs(Hit_Distance);\rfloat lerpVal=clamp((absD-Blob_Near_Distance)/(Blob_Far_Distance-Blob_Near_Distance),0.0,1.0);\rfadeIn=1.0-clamp((absD-Blob_Far_Distance)/Blob_Fade_Length,0.0,1.0);\rfloat innerFade=1.0-clamp(-Hit_Distance/Inner_Fade,0.0,1.0);\rfloat farClip=clamp(1.0-step(Blob_Far_Distance+Blob_Fade_Length,absD),0.0,1.0);\rfloat size=mix(Blob_Near_Size,Blob_Far_Size,lerpVal)*farClip;\rblobSize=mix(size,Selection_Fade_Size,Selection_Fade)*innerFade*Blob_Enabled;\rBlob_Info.x=lerpVal*0.5+0.5;\rBlob_Info.y=fadeIn*Intensity*(1.0-Selection_Fade)*Blob_Fade;\rBlob_Info.x*=(1.0-Blob_Pulse);\rvec3 delta=Hit_Position-Face_Center;\rvec2 blobCenterXY=vec2(dot(delta,Tangent),dot(delta,Bitangent));\rvec2 quadUVin=2.0*UV-1.0; \rvec2 blobXY=blobCenterXY+quadUVin*blobSize;\rvec2 blobClipped=clamp(blobXY,-Face_Size*0.5,Face_Size*0.5);\rvec2 blobUV=(blobClipped-blobCenterXY)/max(blobSize,0.0001)*2.0;\rvec3 blobCorner=Face_Center+blobClipped.x*Tangent+blobClipped.y*Bitangent;\rOut_Position=mix(Position,blobCorner,Vx_Color.rrr);\rOut_UV=mix(In_UV,blobUV,Vx_Color.rr);\rBlob_Relative_UV=blobClipped/Face_Size.y;\r}\rvoid Round_Rect_Vertex_B36(\rvec2 UV,\rvec3 Tangent,\rvec3 Binormal,\rfloat Radius,\rfloat Anisotropy,\rvec2 Blob_Center_UV,\rout vec2 Rect_UV,\rout vec2 Scale_XY,\rout vec4 Rect_Parms)\r{\rScale_XY=vec2(Anisotropy,1.0);\rRect_UV=(UV-vec2(0.5,0.5))*Scale_XY;\rRect_Parms.xy=Scale_XY*0.5-vec2(Radius,Radius);\rRect_Parms.zw=Blob_Center_UV;\r}\rvec2 ProjectProximity(\rvec3 blobPosition,\rvec3 position,\rvec3 center,\rvec3 dir,\rvec3 xdir,\rvec3 ydir,\rout float vdistance\r)\r{\rvec3 delta=blobPosition-position;\rvec2 xy=vec2(dot(delta,xdir),dot(delta,ydir));\rvdistance=abs(dot(delta,dir));\rreturn xy;\r}\rvoid Proximity_Vertex_B33(\rvec3 Blob_Position,\rvec3 Blob_Position_2,\rvec3 Face_Center,\rvec3 Position,\rfloat Proximity_Far_Distance,\rfloat Relative_Scale,\rfloat Proximity_Anisotropy,\rvec3 Normal,\rvec3 Tangent,\rvec3 Binormal,\rout vec4 Extra,\rout float Distance_To_Face,\rout float Distance_Fade1,\rout float Distance_Fade2)\r{\rfloat distz1,distz2;\rExtra.xy=ProjectProximity(Blob_Position,Position,Face_Center,Normal,Tangent*Proximity_Anisotropy,Binormal,distz1)/Relative_Scale;\rExtra.zw=ProjectProximity(Blob_Position_2,Position,Face_Center,Normal,Tangent*Proximity_Anisotropy,Binormal,distz2)/Relative_Scale;\rDistance_To_Face=dot(Normal,Position-Face_Center);\rDistance_Fade1=1.0-clamp(distz1/Proximity_Far_Distance,0.0,1.0);\rDistance_Fade2=1.0-clamp(distz2/Proximity_Far_Distance,0.0,1.0);\r}\rvoid Object_To_World_Pos_B12(\rvec3 Pos_Object,\rout vec3 Pos_World)\r{\rPos_World=(world*vec4(Pos_Object,1.0)).xyz;\r}\rvoid Choose_Blob_B27(\rvec4 Vx_Color,\rvec3 Position1,\rvec3 Position2,\rbool Blob_Enable_1,\rbool Blob_Enable_2,\rfloat Near_Size_1,\rfloat Near_Size_2,\rfloat Blob_Inner_Fade_1,\rfloat Blob_Inner_Fade_2,\rfloat Blob_Pulse_1,\rfloat Blob_Pulse_2,\rfloat Blob_Fade_1,\rfloat Blob_Fade_2,\rout vec3 Position,\rout float Near_Size,\rout float Inner_Fade,\rout float Blob_Enable,\rout float Fade,\rout float Pulse)\r{\rPosition=Position1*(1.0-Vx_Color.g)+Vx_Color.g*Position2;\rfloat b1=Blob_Enable_1 ? 1.0 : 0.0;\rfloat b2=Blob_Enable_2 ? 1.0 : 0.0;\rBlob_Enable=b1+(b2-b1)*Vx_Color.g;\rPulse=Blob_Pulse_1*(1.0-Vx_Color.g)+Vx_Color.g*Blob_Pulse_2;\rFade=Blob_Fade_1*(1.0-Vx_Color.g)+Vx_Color.g*Blob_Fade_2;\rNear_Size=Near_Size_1*(1.0-Vx_Color.g)+Vx_Color.g*Near_Size_2;\rInner_Fade=Blob_Inner_Fade_1*(1.0-Vx_Color.g)+Vx_Color.g*Blob_Inner_Fade_2;\r}\rvoid Move_Verts_B32(\rvec2 UV,\rfloat Radius,\rfloat Anisotropy,\rfloat Line_Width,\rfloat Visible,\rout vec3 New_P,\rout vec2 New_UV)\r{\rvec2 xy=2.0*UV-vec2(0.5,0.5);\rvec2 center=clamp(xy,0.0,1.0);\rvec2 delta=2.0*(xy-center);\rfloat deltaLength=length(delta);\rvec2 aniso=vec2(1.0/Anisotropy,1.0);\rcenter=(center-vec2(0.5,0.5))*(1.0-2.0*Radius*aniso);\rNew_UV=vec2((2.0-2.0*deltaLength)*Visible,0.0);\rfloat deltaRadius= (Radius-Line_Width*New_UV.x);\rNew_P.xy=(center+deltaRadius/deltaLength *aniso*delta);\rNew_P.z=0.0;\r}\rvoid Object_To_World_Dir_B14(\rvec3 Dir_Object,\rout vec3 Binormal_World)\r{\rBinormal_World=(world*vec4(Dir_Object,0.0)).xyz;\r}\rvoid Proximity_Visibility_B55(\rfloat Selection,\rvec3 Proximity_Center,\rvec3 Proximity_Center_2,\rfloat Proximity_Far_Distance,\rfloat Proximity_Radius,\rvec3 Face_Center,\rvec3 Normal,\rvec2 Face_Size,\rfloat Gaze,\rout float Width)\r{\rfloat boxMaxSize=length(Face_Size)*0.5;\rfloat d1=dot(Proximity_Center-Face_Center,Normal);\rvec3 blob1=Proximity_Center-d1*Normal;\rfloat d2=dot(Proximity_Center_2-Face_Center,Normal);\rvec3 blob2=Proximity_Center_2-d2*Normal;\rvec3 delta1=blob1-Face_Center;\rvec3 delta2=blob2-Face_Center;\rfloat dist1=dot(delta1,delta1);\rfloat dist2=dot(delta2,delta2);\rfloat nearestProxDist=sqrt(min(dist1,dist2));\rWidth=(1.0-step(boxMaxSize+Proximity_Radius,nearestProxDist))*(1.0-step(Proximity_Far_Distance,min(d1,d2))*(1.0-step(0.0001,Selection)));\rWidth=max(Gaze,Width);\r}\rvec2 ramp2(vec2 start,vec2 end,vec2 x)\r{\rreturn clamp((x-start)/(end-start),vec2(0.0,0.0),vec2(1.0,1.0));\r}\rfloat computeSelection(\rvec3 blobPosition,\rvec3 normal,\rvec3 tangent,\rvec3 bitangent,\rvec3 faceCenter,\rvec2 faceSize,\rfloat selectionFuzz,\rfloat farDistance,\rfloat fadeLength\r)\r{\rvec3 delta=blobPosition-faceCenter;\rfloat absD=abs(dot(delta,normal));\rfloat fadeIn=1.0-clamp((absD-farDistance)/fadeLength,0.0,1.0);\rvec2 blobCenterXY=vec2(dot(delta,tangent),dot(delta,bitangent));\rvec2 innerFace=faceSize*(1.0-selectionFuzz)*0.5;\rvec2 selectPulse=ramp2(-faceSize*0.5,-innerFace,blobCenterXY)-ramp2(innerFace,faceSize*0.5,blobCenterXY);\rreturn selectPulse.x*selectPulse.y*fadeIn;\r}\rvoid Selection_Vertex_B31(\rvec3 Blob_Position,\rvec3 Blob_Position_2,\rvec3 Face_Center,\rvec2 Face_Size,\rvec3 Normal,\rvec3 Tangent,\rvec3 Bitangent,\rfloat Selection_Fuzz,\rfloat Selected,\rfloat Far_Distance,\rfloat Fade_Length,\rvec3 Active_Face_Dir,\rout float Show_Selection)\r{\rfloat select1=computeSelection(Blob_Position,Normal,Tangent,Bitangent,Face_Center,Face_Size,Selection_Fuzz,Far_Distance,Fade_Length);\rfloat select2=computeSelection(Blob_Position_2,Normal,Tangent,Bitangent,Face_Center,Face_Size,Selection_Fuzz,Far_Distance,Fade_Length);\rShow_Selection=mix(max(select1,select2),1.0,Selected);\r}\rvoid main()\r{\rvec3 Vec3_Q29=vec3(vec2(0,0).x,vec2(0,0).y,color.r);\rvec3 Nrm_World_Q24;\rNrm_World_Q24=normalize((world*vec4(normal,0.0)).xyz);\rvec3 Face_Center_Q30;\rFace_Center_Q30=(world*vec4(vec3(0,0,0),1.0)).xyz;\rvec3 Tangent_World_Q13;\rTangent_World_Q13=(world*vec4(tangent,0.0)).xyz;\rvec3 Result_Q42;\rResult_Q42=_Use_Global_Left_Index_ ? Global_Left_Index_Tip_Position.xyz : _Blob_Position_;\rvec3 Result_Q43;\rResult_Q43=_Use_Global_Right_Index_ ? Global_Right_Index_Tip_Position.xyz : _Blob_Position_2_;\rfloat Value_At_T_Q58=mix(_Blob_Near_Size_,_Blob_Pulse_Max_Size_,_Blob_Pulse_);\rfloat Value_At_T_Q59=mix(_Blob_Near_Size_2_,_Blob_Pulse_Max_Size_,_Blob_Pulse_2_);\rvec3 Cross_Q70=cross(normal,tangent);\rfloat Product_Q45=_Gaze_Intensity_*_Gaze_Focus_;\rfloat Step_Q46=step(0.0001,Product_Q45);\rvec3 Tangent_World_N_Q15=normalize(Tangent_World_Q13);\rvec3 Position_Q27;\rfloat Near_Size_Q27;\rfloat Inner_Fade_Q27;\rfloat Blob_Enable_Q27;\rfloat Fade_Q27;\rfloat Pulse_Q27;\rChoose_Blob_B27(color,Result_Q42,Result_Q43,_Blob_Enable_,_Blob_Enable_2_,Value_At_T_Q58,Value_At_T_Q59,_Blob_Inner_Fade_,_Blob_Inner_Fade_2_,_Blob_Pulse_,_Blob_Pulse_2_,_Blob_Fade_,_Blob_Fade_2_,Position_Q27,Near_Size_Q27,Inner_Fade_Q27,Blob_Enable_Q27,Fade_Q27,Pulse_Q27);\rvec3 Binormal_World_Q14;\rObject_To_World_Dir_B14(Cross_Q70,Binormal_World_Q14);\rfloat Anisotropy_Q21=length(Tangent_World_Q13)/length(Binormal_World_Q14);\rvec3 Binormal_World_N_Q16=normalize(Binormal_World_Q14);\rvec2 Face_Size_Q35;\rfloat ScaleY_Q35;\rFace_Size_Q35=vec2(length(Tangent_World_Q13),length(Binormal_World_Q14));\rScaleY_Q35=Face_Size_Q35.y;\rfloat Out_Radius_Q38;\rfloat Out_Line_Width_Q38;\rOut_Radius_Q38=_Relative_To_Height_ ? _Radius_ : _Radius_/ScaleY_Q35;\rOut_Line_Width_Q38=_Relative_To_Height_ ? _Line_Width_ : _Line_Width_/ScaleY_Q35;\rfloat Show_Selection_Q31;\rSelection_Vertex_B31(Result_Q42,Result_Q43,Face_Center_Q30,Face_Size_Q35,Nrm_World_Q24,Tangent_World_N_Q15,Binormal_World_N_Q16,_Selection_Fuzz_,_Selected_,_Selected_Distance_,_Selected_Fade_Length_,vec3(0,0,-1),Show_Selection_Q31);\rfloat MaxAB_Q41=max(Show_Selection_Q31,Product_Q45);\rfloat Width_Q55;\rProximity_Visibility_B55(Show_Selection_Q31,Result_Q42,Result_Q43,_Proximity_Far_Distance_,_Proximity_Near_Radius_,Face_Center_Q30,Nrm_World_Q24,Face_Size_Q35,Step_Q46,Width_Q55);\rvec3 New_P_Q32;\rvec2 New_UV_Q32;\rMove_Verts_B32(uv,Out_Radius_Q38,Anisotropy_Q21,Out_Line_Width_Q38,Width_Q55,New_P_Q32,New_UV_Q32);\rvec3 Pos_World_Q12;\rObject_To_World_Pos_B12(New_P_Q32,Pos_World_Q12);\rvec3 Out_Position_Q40;\rvec2 Out_UV_Q40;\rvec3 Blob_Info_Q40;\rvec2 Blob_Relative_UV_Q40;\rBlob_Vertex_B40(Pos_World_Q12,Nrm_World_Q24,Tangent_World_N_Q15,Binormal_World_N_Q16,Position_Q27,_Blob_Intensity_,Near_Size_Q27,_Blob_Far_Size_,_Blob_Near_Distance_,_Blob_Far_Distance_,color,uv,Face_Center_Q30,Face_Size_Q35,New_UV_Q32,_Blob_Fade_Length_,_Selection_Fade_,_Selection_Fade_Size_,Inner_Fade_Q27,Pulse_Q27,Fade_Q27,Blob_Enable_Q27,0.0,Out_Position_Q40,Out_UV_Q40,Blob_Info_Q40,Blob_Relative_UV_Q40);\rvec2 Rect_UV_Q36;\rvec2 Scale_XY_Q36;\rvec4 Rect_Parms_Q36;\rRound_Rect_Vertex_B36(New_UV_Q32,Tangent_World_Q13,Binormal_World_Q14,Out_Radius_Q38,Anisotropy_Q21,Blob_Relative_UV_Q40,Rect_UV_Q36,Scale_XY_Q36,Rect_Parms_Q36);\rvec4 Extra_Q33;\rfloat Distance_To_Face_Q33;\rfloat Distance_Fade1_Q33;\rfloat Distance_Fade2_Q33;\rProximity_Vertex_B33(Result_Q42,Result_Q43,Face_Center_Q30,Pos_World_Q12,_Proximity_Far_Distance_,1.0,_Proximity_Anisotropy_,Nrm_World_Q24,Tangent_World_N_Q15,Binormal_World_N_Q16,Extra_Q33,Distance_To_Face_Q33,Distance_Fade1_Q33,Distance_Fade2_Q33);\rvec4 Vec4_Q37=vec4(MaxAB_Q41,Distance_Fade1_Q33,Distance_Fade2_Q33,Out_Radius_Q38);\rvec3 Position=Out_Position_Q40;\rvec3 Normal=Vec3_Q29;\rvec2 UV=Out_UV_Q40;\rvec3 Tangent=Blob_Info_Q40;\rvec3 Binormal=vec3(0,0,0);\rvec4 Color=vec4(1,1,1,1);\rvec4 Extra1=Rect_Parms_Q36;\rvec4 Extra2=Extra_Q33;\rvec4 Extra3=Vec4_Q37;\rgl_Position=viewProjection*vec4(Position,1);\rvNormal=Normal;\rvUV=UV;\rvTangent=Tangent;\rvExtra1=Extra1;\rvExtra2=Extra2;\rvExtra3=Extra3;\r}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @internal */\nexport const mrdlFrontplateVertexShader = { name, shader };\n"]}
@@ -0,0 +1,5 @@
1
+ /** @internal */
2
+ export declare const mrdlInnerquadPixelShader: {
3
+ name: string;
4
+ shader: string;
5
+ };
@@ -0,0 +1,9 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
+ const name = "mrdlInnerquadPixelShader";
4
+ const shader = `uniform vec3 cameraPosition;
5
+ // Sideeffect
6
+ ShaderStore.ShadersStore[name] = shader;
7
+ /** @internal */
8
+ export const mrdlInnerquadPixelShader = { name, shader };
9
+ //# sourceMappingURL=mrdlInnerquad.fragment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mrdlInnerquad.fragment.js","sourceRoot":"","sources":["../../../../../../../../lts/gui/generated/3D/materials/mrdl/shaders/mrdlInnerquad.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AAEvD,MAAM,IAAI,GAAG,0BAA0B,CAAC;AACxC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDd,CAAC;AACF,aAAa;AACb,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,gBAAgB;AAChB,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\n\nconst name = \"mrdlInnerquadPixelShader\";\nconst shader = `uniform vec3 cameraPosition;\rvarying vec2 vUV;\rvarying vec3 vTangent;\runiform vec4 _Color_;\runiform float _Radius_;\runiform bool _Fixed_Radius_;\runiform float _Filter_Width_;\runiform float _Glow_Fraction_;\runiform float _Glow_Max_;\runiform float _Glow_Falloff_;\rfloat FilterStep_Bid194(float edge,float x,float filterWidth)\r{\rfloat dx=max(1.0E-5,fwidth(x)*filterWidth);\rreturn max((x+dx*0.5-max(edge,x-dx*0.5))/dx,0.0);\r}\rvoid Round_Rect_B194(\rfloat Size_X,\rfloat Size_Y,\rfloat Radius,\rvec4 Rect_Color,\rfloat Filter_Width,\rvec2 UV,\rfloat Glow_Fraction,\rfloat Glow_Max,\rfloat Glow_Falloff,\rout vec4 Color)\r{\rvec2 halfSize=vec2(Size_X,Size_Y)*0.5;\rvec2 r=max(min(vec2(Radius,Radius),halfSize),vec2(0.01,0.01));\rvec2 v=abs(UV);\rvec2 nearestp=min(v,halfSize-r);\rvec2 delta=(v-nearestp)/max(vec2(0.01,0.01),r);\rfloat Distance=length(delta);\rfloat insideRect=1.0-FilterStep_Bid194(1.0-Glow_Fraction,Distance,Filter_Width);\rfloat glow=clamp((1.0-Distance)/Glow_Fraction,0.0,1.0);\rglow=pow(glow,Glow_Falloff);\rColor=Rect_Color*max(insideRect,glow*Glow_Max);\r}\rvoid main()\r{\rfloat X_Q192;\rfloat Y_Q192;\rfloat Z_Q192;\rX_Q192=vTangent.x;\rY_Q192=vTangent.y;\rZ_Q192=vTangent.z;\rvec4 Color_Q194;\rRound_Rect_B194(X_Q192,1.0,Y_Q192,_Color_,_Filter_Width_,vUV,_Glow_Fraction_,_Glow_Max_,_Glow_Falloff_,Color_Q194);\rvec4 Out_Color=Color_Q194;\rfloat Clip_Threshold=0.0;\rgl_FragColor=Out_Color;\r}\r`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @internal */\nexport const mrdlInnerquadPixelShader = { name, shader };\n"]}
@@ -0,0 +1,5 @@
1
+ /** @internal */
2
+ export declare const mrdlInnerquadVertexShader: {
3
+ name: string;
4
+ shader: string;
5
+ };
@@ -0,0 +1,9 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
+ const name = "mrdlInnerquadVertexShader";
4
+ const shader = `uniform mat4 world;
5
+ // Sideeffect
6
+ ShaderStore.ShadersStore[name] = shader;
7
+ /** @internal */
8
+ export const mrdlInnerquadVertexShader = { name, shader };
9
+ //# sourceMappingURL=mrdlInnerquad.vertex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mrdlInnerquad.vertex.js","sourceRoot":"","sources":["../../../../../../../../lts/gui/generated/3D/materials/mrdl/shaders/mrdlInnerquad.vertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AAEvD,MAAM,IAAI,GAAG,2BAA2B,CAAC;AACzC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Cd,CAAC;AACF,aAAa;AACb,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,gBAAgB;AAChB,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\n\nconst name = \"mrdlInnerquadVertexShader\";\nconst shader = `uniform mat4 world;\runiform mat4 viewProjection;\runiform vec3 cameraPosition;\rattribute vec3 position;\rattribute vec3 normal;\rattribute vec2 uv;\rattribute vec3 tangent;\rattribute vec4 color;\runiform vec4 _Color_;\runiform float _Radius_;\runiform bool _Fixed_Radius_;\runiform float _Filter_Width_;\runiform float _Glow_Fraction_;\runiform float _Glow_Max_;\runiform float _Glow_Falloff_;\rvarying vec2 vUV;\rvarying vec3 vTangent;\rvoid main()\r{\rvec3 Pos_World_Q189;\rPos_World_Q189=(world*vec4(position,1.0)).xyz;\rvec3 Dir_World_Q190;\rDir_World_Q190=(world*vec4(tangent,0.0)).xyz;\rvec3 Dir_World_Q191;\rDir_World_Q191=(world*vec4((cross(normal,tangent)),0.0)).xyz;\rfloat Length_Q180=length(Dir_World_Q190);\rfloat Length_Q181=length(Dir_World_Q191);\rfloat Quotient_Q184=Length_Q180/Length_Q181;\rfloat Quotient_Q195=_Radius_/Length_Q181;\rvec2 Result_Q193;\rResult_Q193=vec2((uv.x-0.5)*Length_Q180/Length_Q181,(uv.y-0.5));\rfloat Result_Q198=_Fixed_Radius_ ? Quotient_Q195 : _Radius_;\rvec3 Vec3_Q183=vec3(Quotient_Q184,Result_Q198,0);\rvec3 Position=Pos_World_Q189;\rvec3 Normal=vec3(0,0,0);\rvec2 UV=Result_Q193;\rvec3 Tangent=Vec3_Q183;\rvec3 Binormal=vec3(0,0,0);\rvec4 Color=color;\rgl_Position=viewProjection*vec4(Position,1);\rvUV=UV;\rvTangent=Tangent;\r}\r`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @internal */\nexport const mrdlInnerquadVertexShader = { name, shader };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babylonjs/gui",
3
- "version": "5.26.1",
3
+ "version": "5.27.1",
4
4
  "main": "index.js",
5
5
  "module": "index.js",
6
6
  "types": "index.d.ts",
@@ -19,7 +19,7 @@
19
19
  "prepublishOnly": "build-tools -c prepare-es6-build"
20
20
  },
21
21
  "devDependencies": {
22
- "@babylonjs/core": "^5.26.1",
22
+ "@babylonjs/core": "^5.27.1",
23
23
  "@dev/build-tools": "^1.0.0",
24
24
  "@lts/gui": "1.0.0",
25
25
  "rimraf": "^3.0.2",