@babylonjs/gui 6.15.0 → 6.16.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 (41) hide show
  1. package/3D/materials/fluent/shaders/fluent.fragment.js +25 -12
  2. package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -1
  3. package/3D/materials/fluent/shaders/fluent.vertex.js +29 -8
  4. package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -1
  5. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +50 -7
  6. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -1
  7. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +117 -13
  8. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -1
  9. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +47 -4
  10. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -1
  11. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +152 -4
  12. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -1
  13. package/3D/materials/handle/shaders/handle.fragment.js +1 -1
  14. package/3D/materials/handle/shaders/handle.fragment.js.map +1 -1
  15. package/3D/materials/handle/shaders/handle.vertex.js +1 -1
  16. package/3D/materials/handle/shaders/handle.vertex.js.map +1 -1
  17. package/3D/materials/mrdl/shaders/mrdlBackglow.fragment.js +15 -1
  18. package/3D/materials/mrdl/shaders/mrdlBackglow.fragment.js.map +1 -1
  19. package/3D/materials/mrdl/shaders/mrdlBackglow.vertex.js +2 -1
  20. package/3D/materials/mrdl/shaders/mrdlBackglow.vertex.js.map +1 -1
  21. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +78 -7
  22. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -1
  23. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +86 -4
  24. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -1
  25. package/3D/materials/mrdl/shaders/mrdlFrontplate.fragment.js +38 -1
  26. package/3D/materials/mrdl/shaders/mrdlFrontplate.fragment.js.map +1 -1
  27. package/3D/materials/mrdl/shaders/mrdlFrontplate.vertex.js +148 -1
  28. package/3D/materials/mrdl/shaders/mrdlFrontplate.vertex.js.map +1 -1
  29. package/3D/materials/mrdl/shaders/mrdlInnerquad.fragment.js +17 -1
  30. package/3D/materials/mrdl/shaders/mrdlInnerquad.fragment.js.map +1 -1
  31. package/3D/materials/mrdl/shaders/mrdlInnerquad.vertex.js +3 -1
  32. package/3D/materials/mrdl/shaders/mrdlInnerquad.vertex.js.map +1 -1
  33. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +226 -22
  34. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -1
  35. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +127 -10
  36. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -1
  37. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +226 -22
  38. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -1
  39. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +127 -10
  40. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -1
  41. package/package.json +2 -2
@@ -1,10 +1,158 @@
1
1
  // Do not edit.
2
2
  import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
3
  const name = "fluentButtonVertexShader";
4
- const shader = `uniform mat4 world;
5
- Relative_Scale_Q57=length((world*vec4(vec3(0,1,0),0.0)).xyz);
6
- Relative_Scale_Q57=1.0;
7
- vec3 Tangent_World_Q30;
4
+ const shader = `uniform mat4 world;uniform mat4 viewProjection;uniform vec3 cameraPosition;attribute vec3 position;attribute vec3 normal;attribute vec2 uv;attribute vec3 tangent;attribute vec4 color;uniform float _Edge_Width_;uniform vec4 _Edge_Color_;uniform float _Proximity_Max_Intensity_;uniform float _Proximity_Far_Distance_;uniform float _Proximity_Near_Radius_;uniform float _Proximity_Anisotropy_;uniform float _Selection_Fuzz_;uniform float _Selected_;uniform float _Selection_Fade_;uniform float _Selection_Fade_Size_;uniform float _Selected_Distance_;uniform float _Selected_Fade_Length_;uniform bool _Blob_Enable_;uniform vec3 _Blob_Position_;uniform float _Blob_Intensity_;uniform float _Blob_Near_Size_;uniform float _Blob_Far_Size_;uniform float _Blob_Near_Distance_;uniform float _Blob_Far_Distance_;uniform float _Blob_Fade_Length_;uniform float _Blob_Inner_Fade_;uniform float _Blob_Pulse_;uniform float _Blob_Fade_;uniform sampler2D _Blob_Texture_;uniform bool _Blob_Enable_2_;uniform vec3 _Blob_Position_2_;uniform float _Blob_Near_Size_2_;uniform float _Blob_Inner_Fade_2_;uniform float _Blob_Pulse_2_;uniform float _Blob_Fade_2_;uniform vec3 _Active_Face_Dir_;uniform vec3 _Active_Face_Up_;uniform bool _Enable_Fade_;uniform float _Fade_Width_;uniform bool _Smooth_Active_Face_;uniform bool _Show_Frame_;uniform bool Use_Global_Left_Index;uniform bool Use_Global_Right_Index;uniform vec4 Global_Left_Index_Tip_Position;uniform vec4 Global_Right_Index_Tip_Position;uniform vec4 Global_Left_Thumb_Tip_Position;uniform vec4 Global_Right_Thumb_Tip_Position;uniform float Global_Left_Index_Tip_Proximity;uniform float Global_Right_Index_Tip_Proximity;varying vec3 vPosition;varying vec3 vNormal;varying vec2 vUV;varying vec3 vTangent;varying vec3 vBinormal;varying vec4 vColor;varying vec4 vExtra1;void Blob_Vertex_B47(
5
+ vec3 Position,
6
+ vec3 Normal,
7
+ vec3 Tangent,
8
+ vec3 Bitangent,
9
+ vec3 Blob_Position,
10
+ float Intensity,
11
+ float Blob_Near_Size,
12
+ float Blob_Far_Size,
13
+ float Blob_Near_Distance,
14
+ float Blob_Far_Distance,
15
+ vec4 Vx_Color,
16
+ vec2 UV,
17
+ vec3 Face_Center,
18
+ vec2 Face_Size,
19
+ vec2 In_UV,
20
+ float Blob_Fade_Length,
21
+ float Selection_Fade,
22
+ float Selection_Fade_Size,
23
+ float Inner_Fade,
24
+ vec3 Active_Face_Center,
25
+ float Blob_Pulse,
26
+ float Blob_Fade,
27
+ float Blob_Enabled,
28
+ out vec3 Out_Position,
29
+ out vec2 Out_UV,
30
+ out vec3 Blob_Info)
31
+ {float blobSize,fadeIn;vec3 Hit_Position;Blob_Info=vec3(0.0,0.0,0.0);float Hit_Distance=dot(Blob_Position-Face_Center,Normal);Hit_Position=Blob_Position-Hit_Distance*Normal;float absD=abs(Hit_Distance);float lerpVal=clamp((absD-Blob_Near_Distance)/(Blob_Far_Distance-Blob_Near_Distance),0.0,1.0);fadeIn=1.0-clamp((absD-Blob_Far_Distance)/Blob_Fade_Length,0.0,1.0);float innerFade=1.0-clamp(-Hit_Distance/Inner_Fade,0.0,1.0);float farClip=clamp(1.0-step(Blob_Far_Distance+Blob_Fade_Length,absD),0.0,1.0);float size=mix(Blob_Near_Size,Blob_Far_Size,lerpVal)*farClip;blobSize=mix(size,Selection_Fade_Size,Selection_Fade)*innerFade*Blob_Enabled;Blob_Info.x=lerpVal*0.5+0.5;Blob_Info.y=fadeIn*Intensity*(1.0-Selection_Fade)*Blob_Fade;Blob_Info.x*=(1.0-Blob_Pulse);vec3 delta=Hit_Position-Face_Center;vec2 blobCenterXY=vec2(dot(delta,Tangent),dot(delta,Bitangent));vec2 quadUVin=2.0*UV-1.0;
32
+ vec2 blobXY=blobCenterXY+quadUVin*blobSize;vec2 blobClipped=clamp(blobXY,-Face_Size*0.5,Face_Size*0.5);vec2 blobUV=(blobClipped-blobCenterXY)/max(blobSize,0.0001)*2.0;vec3 blobCorner=Face_Center+blobClipped.x*Tangent+blobClipped.y*Bitangent;Out_Position=mix(Position,blobCorner,Vx_Color.rrr);Out_UV=mix(In_UV,blobUV,Vx_Color.rr);}
33
+ vec2 ProjectProximity(
34
+ vec3 blobPosition,
35
+ vec3 position,
36
+ vec3 center,
37
+ vec3 dir,
38
+ vec3 xdir,
39
+ vec3 ydir,
40
+ out float vdistance
41
+ )
42
+ {vec3 delta=blobPosition-position;vec2 xy=vec2(dot(delta,xdir),dot(delta,ydir));vdistance=abs(dot(delta,dir));return xy;}
43
+ void Proximity_Vertex_B66(
44
+ vec3 Blob_Position,
45
+ vec3 Blob_Position_2,
46
+ vec3 Active_Face_Center,
47
+ vec3 Active_Face_Dir,
48
+ vec3 Position,
49
+ float Proximity_Far_Distance,
50
+ float Relative_Scale,
51
+ float Proximity_Anisotropy,
52
+ vec3 Up,
53
+ out vec4 Extra1,
54
+ out float Distance_To_Face,
55
+ out float Intensity)
56
+ {vec3 Active_Face_Dir_X=normalize(cross(Active_Face_Dir,Up));vec3 Active_Face_Dir_Y=cross(Active_Face_Dir,Active_Face_Dir_X);float distz1,distz2;Extra1.xy=ProjectProximity(Blob_Position,Position,Active_Face_Center,Active_Face_Dir,Active_Face_Dir_X*Proximity_Anisotropy,Active_Face_Dir_Y,distz1)/Relative_Scale;Extra1.zw=ProjectProximity(Blob_Position_2,Position,Active_Face_Center,Active_Face_Dir,Active_Face_Dir_X*Proximity_Anisotropy,Active_Face_Dir_Y,distz2)/Relative_Scale;Distance_To_Face=dot(Active_Face_Dir,Position-Active_Face_Center);Intensity=1.0-clamp(min(distz1,distz2)/Proximity_Far_Distance,0.0,1.0);}
57
+ void Holo_Edge_Vertex_B44(
58
+ vec3 Incident,
59
+ vec3 Normal,
60
+ vec2 UV,
61
+ vec3 Tangent,
62
+ vec3 Bitangent,
63
+ bool Smooth_Active_Face,
64
+ float Active,
65
+ out vec4 Holo_Edges)
66
+ {float NdotI=dot(Incident,Normal);vec2 flip=(UV-vec2(0.5,0.5));float udot=dot(Incident,Tangent)*flip.x*NdotI;float uval=1.0-float(udot>0.0);float vdot=-dot(Incident,Bitangent)*flip.y*NdotI;float vval=1.0-float(vdot>0.0);float Smooth_And_Active=step(1.0,float(Smooth_Active_Face && Active>0.0));uval=mix(uval,max(1.0,uval),Smooth_And_Active);
67
+ vval=mix(vval,max(1.0,vval),Smooth_And_Active);Holo_Edges=vec4(1.0,1.0,1.0,1.0)-vec4(uval*UV.x,uval*(1.0-UV.x),vval*UV.y,vval*(1.0-UV.y));}
68
+ void Object_To_World_Pos_B13(
69
+ vec3 Pos_Object,
70
+ out vec3 Pos_World)
71
+ {Pos_World=(world*vec4(Pos_Object,1.0)).xyz;}
72
+ void Choose_Blob_B38(
73
+ vec4 Vx_Color,
74
+ vec3 Position1,
75
+ vec3 Position2,
76
+ bool Blob_Enable_1,
77
+ bool Blob_Enable_2,
78
+ float Near_Size_1,
79
+ float Near_Size_2,
80
+ float Blob_Inner_Fade_1,
81
+ float Blob_Inner_Fade_2,
82
+ float Blob_Pulse_1,
83
+ float Blob_Pulse_2,
84
+ float Blob_Fade_1,
85
+ float Blob_Fade_2,
86
+ out vec3 Position,
87
+ out float Near_Size,
88
+ out float Inner_Fade,
89
+ out float Blob_Enable,
90
+ out float Fade,
91
+ out float Pulse)
92
+ {Position=Position1*(1.0-Vx_Color.g)+Vx_Color.g*Position2;float b1=float(Blob_Enable_1);float b2=float(Blob_Enable_2);Blob_Enable=b1+(b2-b1)*Vx_Color.g;Pulse=Blob_Pulse_1*(1.0-Vx_Color.g)+Vx_Color.g*Blob_Pulse_2;Fade=Blob_Fade_1*(1.0-Vx_Color.g)+Vx_Color.g*Blob_Fade_2;Near_Size=Near_Size_1*(1.0-Vx_Color.g)+Vx_Color.g*Near_Size_2;Inner_Fade=Blob_Inner_Fade_1*(1.0-Vx_Color.g)+Vx_Color.g*Blob_Inner_Fade_2;}
93
+ void Wireframe_Vertex_B51(
94
+ vec3 Position,
95
+ vec3 Normal,
96
+ vec3 Tangent,
97
+ vec3 Bitangent,
98
+ float Edge_Width,
99
+ vec2 Face_Size,
100
+ out vec3 Wire_Vx_Pos,
101
+ out vec2 UV,
102
+ out vec2 Widths)
103
+ {Widths.xy=Edge_Width/Face_Size;float x=dot(Position,Tangent);float y=dot(Position,Bitangent);float dx=0.5-abs(x);float newx=(0.5-dx*Widths.x*2.0)*sign(x);float dy=0.5-abs(y);float newy=(0.5-dy*Widths.y*2.0)*sign(y);Wire_Vx_Pos=Normal*0.5+newx*Tangent+newy*Bitangent;UV.x=dot(Wire_Vx_Pos,Tangent)+0.5;UV.y=dot(Wire_Vx_Pos,Bitangent)+0.5;}
104
+ vec2 ramp2(vec2 start,vec2 end,vec2 x)
105
+ {return clamp((x-start)/(end-start),vec2(0.0,0.0),vec2(1.0,1.0));}
106
+ float computeSelection(
107
+ vec3 blobPosition,
108
+ vec3 normal,
109
+ vec3 tangent,
110
+ vec3 bitangent,
111
+ vec3 faceCenter,
112
+ vec2 faceSize,
113
+ float selectionFuzz,
114
+ float farDistance,
115
+ float fadeLength
116
+ )
117
+ {vec3 delta=blobPosition-faceCenter;float absD=abs(dot(delta,normal));float fadeIn=1.0-clamp((absD-farDistance)/fadeLength,0.0,1.0);vec2 blobCenterXY=vec2(dot(delta,tangent),dot(delta,bitangent));vec2 innerFace=faceSize*(1.0-selectionFuzz)*0.5;vec2 selectPulse=ramp2(-faceSize*0.5,-innerFace,blobCenterXY)-ramp2(innerFace,faceSize*0.5,blobCenterXY);return selectPulse.x*selectPulse.y*fadeIn;}
118
+ void Selection_Vertex_B48(
119
+ vec3 Blob_Position,
120
+ vec3 Blob_Position_2,
121
+ vec3 Face_Center,
122
+ vec2 Face_Size,
123
+ vec3 Normal,
124
+ vec3 Tangent,
125
+ vec3 Bitangent,
126
+ float Selection_Fuzz,
127
+ float Selected,
128
+ float Far_Distance,
129
+ float Fade_Length,
130
+ vec3 Active_Face_Dir,
131
+ out float Show_Selection)
132
+ {float select1=computeSelection(Blob_Position,Normal,Tangent,Bitangent,Face_Center,Face_Size,Selection_Fuzz,Far_Distance,Fade_Length);float select2=computeSelection(Blob_Position_2,Normal,Tangent,Bitangent,Face_Center,Face_Size,Selection_Fuzz,Far_Distance,Fade_Length);float Active=max(0.0,dot(Active_Face_Dir,Normal));Show_Selection=mix(max(select1,select2),1.0,Selected)*Active;}
133
+ void Proximity_Visibility_B54(
134
+ float Selection,
135
+ vec3 Proximity_Center,
136
+ vec3 Proximity_Center_2,
137
+ float Input_Width,
138
+ float Proximity_Far_Distance,
139
+ float Proximity_Radius,
140
+ vec3 Active_Face_Center,
141
+ vec3 Active_Face_Dir,
142
+ out float Width)
143
+ {vec3 boxEdges=(world*vec4(vec3(0.5,0.5,0.5),0.0)).xyz;float boxMaxSize=length(boxEdges);float d1=dot(Proximity_Center-Active_Face_Center,Active_Face_Dir);vec3 blob1=Proximity_Center-d1*Active_Face_Dir;float d2=dot(Proximity_Center_2-Active_Face_Center,Active_Face_Dir);vec3 blob2=Proximity_Center_2-d2*Active_Face_Dir;vec3 delta1=blob1-Active_Face_Center;vec3 delta2=blob2-Active_Face_Center;float dist1=dot(delta1,delta1);float dist2=dot(delta2,delta2);float nearestProxDist=sqrt(min(dist1,dist2));Width=Input_Width*(1.0-step(boxMaxSize+Proximity_Radius,nearestProxDist))*(1.0-step(Proximity_Far_Distance,min(d1,d2))*(1.0-step(0.0001,Selection)));}
144
+ void Object_To_World_Dir_B67(
145
+ vec3 Dir_Object,
146
+ out vec3 Dir_World)
147
+ {Dir_World=(world*vec4(Dir_Object,0.0)).xyz;}
148
+ void main()
149
+ {vec3 Active_Face_Center_Q49;Active_Face_Center_Q49=(world*vec4(_Active_Face_Dir_*0.5,1.0)).xyz;vec3 Blob_Position_Q41= mix(_Blob_Position_,Global_Left_Index_Tip_Position.xyz,float(Use_Global_Left_Index));vec3 Blob_Position_Q42= mix(_Blob_Position_2_,Global_Right_Index_Tip_Position.xyz,float(Use_Global_Right_Index));vec3 Active_Face_Dir_Q64=normalize((world*vec4(_Active_Face_Dir_,0.0)).xyz);float Relative_Scale_Q57;
150
+ #if RELATIVE_WIDTH
151
+ Relative_Scale_Q57=length((world*vec4(vec3(0,1,0),0.0)).xyz);
152
+ #else
153
+ Relative_Scale_Q57=1.0;
154
+ #endif
155
+ vec3 Tangent_World_Q30;Tangent_World_Q30=(world*vec4(tangent,0.0)).xyz;vec3 Binormal_World_Q31;Binormal_World_Q31=(world*vec4((cross(normal,tangent)),0.0)).xyz;vec3 Normal_World_Q60;Normal_World_Q60=(world*vec4(normal,0.0)).xyz;vec3 Result_Q18=0.5*normal;vec3 Dir_World_Q67;Object_To_World_Dir_B67(_Active_Face_Up_,Dir_World_Q67);float Product_Q56=_Edge_Width_*Relative_Scale_Q57;vec3 Normal_World_N_Q29=normalize(Normal_World_Q60);vec3 Tangent_World_N_Q28=normalize(Tangent_World_Q30);vec3 Binormal_World_N_Q32=normalize(Binormal_World_Q31);vec3 Position_Q38;float Near_Size_Q38;float Inner_Fade_Q38;float Blob_Enable_Q38;float Fade_Q38;float Pulse_Q38;Choose_Blob_B38(color,Blob_Position_Q41,Blob_Position_Q42,_Blob_Enable_,_Blob_Enable_2_,_Blob_Near_Size_,_Blob_Near_Size_2_,_Blob_Inner_Fade_,_Blob_Inner_Fade_2_,_Blob_Pulse_,_Blob_Pulse_2_,_Blob_Fade_,_Blob_Fade_2_,Position_Q38,Near_Size_Q38,Inner_Fade_Q38,Blob_Enable_Q38,Fade_Q38,Pulse_Q38);vec3 Face_Center_Q33;Face_Center_Q33=(world*vec4(Result_Q18,1.0)).xyz;vec2 Face_Size_Q50=vec2(length(Tangent_World_Q30),length(Binormal_World_Q31));float Show_Selection_Q48;Selection_Vertex_B48(Blob_Position_Q41,Blob_Position_Q42,Face_Center_Q33,Face_Size_Q50,Normal_World_N_Q29,Tangent_World_N_Q28,Binormal_World_N_Q32,_Selection_Fuzz_,_Selected_,_Selected_Distance_,_Selected_Fade_Length_,Active_Face_Dir_Q64,Show_Selection_Q48);vec3 Normalized_Q72=normalize(Dir_World_Q67);float Active_Q34=max(0.0,dot(Active_Face_Dir_Q64,Normal_World_N_Q29));float Width_Q54;Proximity_Visibility_B54(Show_Selection_Q48,Blob_Position_Q41,Blob_Position_Q42,Product_Q56,_Proximity_Far_Distance_,_Proximity_Near_Radius_,Active_Face_Center_Q49,Active_Face_Dir_Q64,Width_Q54);vec3 Wire_Vx_Pos_Q51;vec2 UV_Q51;vec2 Widths_Q51;Wireframe_Vertex_B51(position,normal,tangent,(cross(normal,tangent)),Width_Q54,Face_Size_Q50,Wire_Vx_Pos_Q51,UV_Q51,Widths_Q51);vec3 Vec3_Q27=vec3(Widths_Q51.x,Widths_Q51.y,color.r);vec3 Pos_World_Q13;Object_To_World_Pos_B13(Wire_Vx_Pos_Q51,Pos_World_Q13);vec3 Incident_Q36=normalize(Pos_World_Q13-cameraPosition);vec3 Out_Position_Q47;vec2 Out_UV_Q47;vec3 Blob_Info_Q47;Blob_Vertex_B47(Pos_World_Q13,Normal_World_N_Q29,Tangent_World_N_Q28,Binormal_World_N_Q32,Position_Q38,_Blob_Intensity_,Near_Size_Q38,_Blob_Far_Size_,_Blob_Near_Distance_,_Blob_Far_Distance_,color,uv,Face_Center_Q33,Face_Size_Q50,UV_Q51,_Blob_Fade_Length_,_Selection_Fade_,_Selection_Fade_Size_,Inner_Fade_Q38,Active_Face_Center_Q49,Pulse_Q38,Fade_Q38,Blob_Enable_Q38,Out_Position_Q47,Out_UV_Q47,Blob_Info_Q47);vec4 Extra1_Q66;float Distance_To_Face_Q66;float Intensity_Q66;Proximity_Vertex_B66(Blob_Position_Q41,Blob_Position_Q42,Active_Face_Center_Q49,Active_Face_Dir_Q64,Pos_World_Q13,_Proximity_Far_Distance_,Relative_Scale_Q57,_Proximity_Anisotropy_,Normalized_Q72,Extra1_Q66,Distance_To_Face_Q66,Intensity_Q66);vec4 Holo_Edges_Q44;Holo_Edge_Vertex_B44(Incident_Q36,Normal_World_N_Q29,uv,Tangent_World_Q30,Binormal_World_Q31,_Smooth_Active_Face_,Active_Q34,Holo_Edges_Q44);vec3 Vec3_Q19=vec3(Show_Selection_Q48,Distance_To_Face_Q66,Intensity_Q66);vec3 Position=Out_Position_Q47;vec2 UV=Out_UV_Q47;vec3 Tangent=Blob_Info_Q47;vec3 Binormal=Vec3_Q19;vec3 Normal=Vec3_Q27;vec4 Extra1=Extra1_Q66;vec4 Color=Holo_Edges_Q44;gl_Position=viewProjection*vec4(Position,1);vPosition=Position;vNormal=Normal;vUV=UV;vTangent=Tangent;vBinormal=Binormal;vColor=Color;vExtra1=Extra1;}`;
8
156
  // Sideeffect
9
157
  ShaderStore.ShadersStore[name] = shader;
10
158
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"fluentButton.vertex.js","sourceRoot":"","sources":["../../../../../../../dev/gui/src/3D/materials/fluentButton/shaders/fluentButton.vertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AAEvD,MAAM,IAAI,GAAG,0BAA0B,CAAC;AACxC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0Xb,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 = \"fluentButtonVertexShader\";\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 _Edge_Width_;\runiform vec4 _Edge_Color_;\runiform float _Proximity_Max_Intensity_;\runiform float _Proximity_Far_Distance_;\runiform float _Proximity_Near_Radius_;\runiform float _Proximity_Anisotropy_;\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 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 sampler2D _Blob_Texture_;\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 vec3 _Active_Face_Dir_;\runiform vec3 _Active_Face_Up_;\runiform bool _Enable_Fade_;\runiform float _Fade_Width_;\runiform bool _Smooth_Active_Face_;\runiform bool _Show_Frame_;\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;\runiform vec4 Global_Left_Thumb_Tip_Position;\runiform vec4 Global_Right_Thumb_Tip_Position;\runiform float Global_Left_Index_Tip_Proximity;\runiform float Global_Right_Index_Tip_Proximity;\rvarying vec3 vPosition;\rvarying vec3 vNormal;\rvarying vec2 vUV;\rvarying vec3 vTangent;\rvarying vec3 vBinormal;\rvarying vec4 vColor;\rvarying vec4 vExtra1;\rvoid Blob_Vertex_B47(\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,\rvec3 Active_Face_Center,\rfloat Blob_Pulse,\rfloat Blob_Fade,\rfloat Blob_Enabled,\rout vec3 Out_Position,\rout vec2 Out_UV,\rout vec3 Blob_Info)\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);\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);\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_B66(\rvec3 Blob_Position,\rvec3 Blob_Position_2,\rvec3 Active_Face_Center,\rvec3 Active_Face_Dir,\rvec3 Position,\rfloat Proximity_Far_Distance,\rfloat Relative_Scale,\rfloat Proximity_Anisotropy,\rvec3 Up,\rout vec4 Extra1,\rout float Distance_To_Face,\rout float Intensity)\r{\rvec3 Active_Face_Dir_X=normalize(cross(Active_Face_Dir,Up));\rvec3 Active_Face_Dir_Y=cross(Active_Face_Dir,Active_Face_Dir_X);\rfloat distz1,distz2;\rExtra1.xy=ProjectProximity(Blob_Position,Position,Active_Face_Center,Active_Face_Dir,Active_Face_Dir_X*Proximity_Anisotropy,Active_Face_Dir_Y,distz1)/Relative_Scale;\rExtra1.zw=ProjectProximity(Blob_Position_2,Position,Active_Face_Center,Active_Face_Dir,Active_Face_Dir_X*Proximity_Anisotropy,Active_Face_Dir_Y,distz2)/Relative_Scale;\rDistance_To_Face=dot(Active_Face_Dir,Position-Active_Face_Center);\rIntensity=1.0-clamp(min(distz1,distz2)/Proximity_Far_Distance,0.0,1.0);\r}\rvoid Holo_Edge_Vertex_B44(\rvec3 Incident,\rvec3 Normal,\rvec2 UV,\rvec3 Tangent,\rvec3 Bitangent,\rbool Smooth_Active_Face,\rfloat Active,\rout vec4 Holo_Edges)\r{\rfloat NdotI=dot(Incident,Normal);\rvec2 flip=(UV-vec2(0.5,0.5));\rfloat udot=dot(Incident,Tangent)*flip.x*NdotI;\rfloat uval=1.0-float(udot>0.0);\rfloat vdot=-dot(Incident,Bitangent)*flip.y*NdotI;\rfloat vval=1.0-float(vdot>0.0);\rfloat Smooth_And_Active=step(1.0,float(Smooth_Active_Face && Active>0.0));\ruval=mix(uval,max(1.0,uval),Smooth_And_Active); \rvval=mix(vval,max(1.0,vval),Smooth_And_Active);\rHolo_Edges=vec4(1.0,1.0,1.0,1.0)-vec4(uval*UV.x,uval*(1.0-UV.x),vval*UV.y,vval*(1.0-UV.y));\r}\rvoid Object_To_World_Pos_B13(\rvec3 Pos_Object,\rout vec3 Pos_World)\r{\rPos_World=(world*vec4(Pos_Object,1.0)).xyz;\r}\rvoid Choose_Blob_B38(\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=float(Blob_Enable_1);\rfloat b2=float(Blob_Enable_2);\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 Wireframe_Vertex_B51(\rvec3 Position,\rvec3 Normal,\rvec3 Tangent,\rvec3 Bitangent,\rfloat Edge_Width,\rvec2 Face_Size,\rout vec3 Wire_Vx_Pos,\rout vec2 UV,\rout vec2 Widths)\r{\rWidths.xy=Edge_Width/Face_Size;\rfloat x=dot(Position,Tangent);\rfloat y=dot(Position,Bitangent);\rfloat dx=0.5-abs(x);\rfloat newx=(0.5-dx*Widths.x*2.0)*sign(x);\rfloat dy=0.5-abs(y);\rfloat newy=(0.5-dy*Widths.y*2.0)*sign(y);\rWire_Vx_Pos=Normal*0.5+newx*Tangent+newy*Bitangent;\rUV.x=dot(Wire_Vx_Pos,Tangent)+0.5;\rUV.y=dot(Wire_Vx_Pos,Bitangent)+0.5;\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_B48(\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);\rfloat Active=max(0.0,dot(Active_Face_Dir,Normal));\rShow_Selection=mix(max(select1,select2),1.0,Selected)*Active;\r}\rvoid Proximity_Visibility_B54(\rfloat Selection,\rvec3 Proximity_Center,\rvec3 Proximity_Center_2,\rfloat Input_Width,\rfloat Proximity_Far_Distance,\rfloat Proximity_Radius,\rvec3 Active_Face_Center,\rvec3 Active_Face_Dir,\rout float Width)\r{\rvec3 boxEdges=(world*vec4(vec3(0.5,0.5,0.5),0.0)).xyz;\rfloat boxMaxSize=length(boxEdges);\rfloat d1=dot(Proximity_Center-Active_Face_Center,Active_Face_Dir);\rvec3 blob1=Proximity_Center-d1*Active_Face_Dir;\rfloat d2=dot(Proximity_Center_2-Active_Face_Center,Active_Face_Dir);\rvec3 blob2=Proximity_Center_2-d2*Active_Face_Dir;\rvec3 delta1=blob1-Active_Face_Center;\rvec3 delta2=blob2-Active_Face_Center;\rfloat dist1=dot(delta1,delta1);\rfloat dist2=dot(delta2,delta2);\rfloat nearestProxDist=sqrt(min(dist1,dist2));\rWidth=Input_Width*(1.0-step(boxMaxSize+Proximity_Radius,nearestProxDist))*(1.0-step(Proximity_Far_Distance,min(d1,d2))*(1.0-step(0.0001,Selection)));\r}\rvoid Object_To_World_Dir_B67(\rvec3 Dir_Object,\rout vec3 Dir_World)\r{\rDir_World=(world*vec4(Dir_Object,0.0)).xyz;\r}\rvoid main()\r{\rvec3 Active_Face_Center_Q49;\rActive_Face_Center_Q49=(world*vec4(_Active_Face_Dir_*0.5,1.0)).xyz;\rvec3 Blob_Position_Q41= mix(_Blob_Position_,Global_Left_Index_Tip_Position.xyz,float(Use_Global_Left_Index));\rvec3 Blob_Position_Q42= mix(_Blob_Position_2_,Global_Right_Index_Tip_Position.xyz,float(Use_Global_Right_Index));\rvec3 Active_Face_Dir_Q64=normalize((world*vec4(_Active_Face_Dir_,0.0)).xyz);\rfloat Relative_Scale_Q57;\r#if RELATIVE_WIDTH\nRelative_Scale_Q57=length((world*vec4(vec3(0,1,0),0.0)).xyz);\r#else\nRelative_Scale_Q57=1.0;\r#endif\nvec3 Tangent_World_Q30;\rTangent_World_Q30=(world*vec4(tangent,0.0)).xyz;\rvec3 Binormal_World_Q31;\rBinormal_World_Q31=(world*vec4((cross(normal,tangent)),0.0)).xyz;\rvec3 Normal_World_Q60;\rNormal_World_Q60=(world*vec4(normal,0.0)).xyz;\rvec3 Result_Q18=0.5*normal;\rvec3 Dir_World_Q67;\rObject_To_World_Dir_B67(_Active_Face_Up_,Dir_World_Q67);\rfloat Product_Q56=_Edge_Width_*Relative_Scale_Q57;\rvec3 Normal_World_N_Q29=normalize(Normal_World_Q60);\rvec3 Tangent_World_N_Q28=normalize(Tangent_World_Q30);\rvec3 Binormal_World_N_Q32=normalize(Binormal_World_Q31);\rvec3 Position_Q38;\rfloat Near_Size_Q38;\rfloat Inner_Fade_Q38;\rfloat Blob_Enable_Q38;\rfloat Fade_Q38;\rfloat Pulse_Q38;\rChoose_Blob_B38(color,Blob_Position_Q41,Blob_Position_Q42,_Blob_Enable_,_Blob_Enable_2_,_Blob_Near_Size_,_Blob_Near_Size_2_,_Blob_Inner_Fade_,_Blob_Inner_Fade_2_,_Blob_Pulse_,_Blob_Pulse_2_,_Blob_Fade_,_Blob_Fade_2_,Position_Q38,Near_Size_Q38,Inner_Fade_Q38,Blob_Enable_Q38,Fade_Q38,Pulse_Q38);\rvec3 Face_Center_Q33;\rFace_Center_Q33=(world*vec4(Result_Q18,1.0)).xyz;\rvec2 Face_Size_Q50=vec2(length(Tangent_World_Q30),length(Binormal_World_Q31));\rfloat Show_Selection_Q48;\rSelection_Vertex_B48(Blob_Position_Q41,Blob_Position_Q42,Face_Center_Q33,Face_Size_Q50,Normal_World_N_Q29,Tangent_World_N_Q28,Binormal_World_N_Q32,_Selection_Fuzz_,_Selected_,_Selected_Distance_,_Selected_Fade_Length_,Active_Face_Dir_Q64,Show_Selection_Q48);\rvec3 Normalized_Q72=normalize(Dir_World_Q67);\rfloat Active_Q34=max(0.0,dot(Active_Face_Dir_Q64,Normal_World_N_Q29));\rfloat Width_Q54;\rProximity_Visibility_B54(Show_Selection_Q48,Blob_Position_Q41,Blob_Position_Q42,Product_Q56,_Proximity_Far_Distance_,_Proximity_Near_Radius_,Active_Face_Center_Q49,Active_Face_Dir_Q64,Width_Q54);\rvec3 Wire_Vx_Pos_Q51;\rvec2 UV_Q51;\rvec2 Widths_Q51;\rWireframe_Vertex_B51(position,normal,tangent,(cross(normal,tangent)),Width_Q54,Face_Size_Q50,Wire_Vx_Pos_Q51,UV_Q51,Widths_Q51);\rvec3 Vec3_Q27=vec3(Widths_Q51.x,Widths_Q51.y,color.r);\rvec3 Pos_World_Q13;\rObject_To_World_Pos_B13(Wire_Vx_Pos_Q51,Pos_World_Q13);\rvec3 Incident_Q36=normalize(Pos_World_Q13-cameraPosition);\rvec3 Out_Position_Q47;\rvec2 Out_UV_Q47;\rvec3 Blob_Info_Q47;\rBlob_Vertex_B47(Pos_World_Q13,Normal_World_N_Q29,Tangent_World_N_Q28,Binormal_World_N_Q32,Position_Q38,_Blob_Intensity_,Near_Size_Q38,_Blob_Far_Size_,_Blob_Near_Distance_,_Blob_Far_Distance_,color,uv,Face_Center_Q33,Face_Size_Q50,UV_Q51,_Blob_Fade_Length_,_Selection_Fade_,_Selection_Fade_Size_,Inner_Fade_Q38,Active_Face_Center_Q49,Pulse_Q38,Fade_Q38,Blob_Enable_Q38,Out_Position_Q47,Out_UV_Q47,Blob_Info_Q47);\rvec4 Extra1_Q66;\rfloat Distance_To_Face_Q66;\rfloat Intensity_Q66;\rProximity_Vertex_B66(Blob_Position_Q41,Blob_Position_Q42,Active_Face_Center_Q49,Active_Face_Dir_Q64,Pos_World_Q13,_Proximity_Far_Distance_,Relative_Scale_Q57,_Proximity_Anisotropy_,Normalized_Q72,Extra1_Q66,Distance_To_Face_Q66,Intensity_Q66);\rvec4 Holo_Edges_Q44;\rHolo_Edge_Vertex_B44(Incident_Q36,Normal_World_N_Q29,uv,Tangent_World_Q30,Binormal_World_Q31,_Smooth_Active_Face_,Active_Q34,Holo_Edges_Q44);\rvec3 Vec3_Q19=vec3(Show_Selection_Q48,Distance_To_Face_Q66,Intensity_Q66);\rvec3 Position=Out_Position_Q47;\rvec2 UV=Out_UV_Q47;\rvec3 Tangent=Blob_Info_Q47;\rvec3 Binormal=Vec3_Q19;\rvec3 Normal=Vec3_Q27;\rvec4 Extra1=Extra1_Q66;\rvec4 Color=Holo_Edges_Q44;\rgl_Position=viewProjection*vec4(Position,1);\rvPosition=Position;\rvNormal=Normal;\rvUV=UV;\rvTangent=Tangent;\rvBinormal=Binormal;\rvColor=Color;\rvExtra1=Extra1;\r}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @internal */\nexport const fluentButtonVertexShader = { name, shader };\n"]}
1
+ {"version":3,"file":"fluentButton.vertex.js","sourceRoot":"","sources":["../../../../../../../dev/gui/src/3D/materials/fluentButton/shaders/fluentButton.vertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AAEvD,MAAM,IAAI,GAAG,0BAA0B,CAAC;AACxC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;s0GAuJuzG,CAAC;AACv0G,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 = \"fluentButtonVertexShader\";\nconst shader = `uniform mat4 world;uniform mat4 viewProjection;uniform vec3 cameraPosition;attribute vec3 position;attribute vec3 normal;attribute vec2 uv;attribute vec3 tangent;attribute vec4 color;uniform float _Edge_Width_;uniform vec4 _Edge_Color_;uniform float _Proximity_Max_Intensity_;uniform float _Proximity_Far_Distance_;uniform float _Proximity_Near_Radius_;uniform float _Proximity_Anisotropy_;uniform float _Selection_Fuzz_;uniform float _Selected_;uniform float _Selection_Fade_;uniform float _Selection_Fade_Size_;uniform float _Selected_Distance_;uniform float _Selected_Fade_Length_;uniform bool _Blob_Enable_;uniform vec3 _Blob_Position_;uniform float _Blob_Intensity_;uniform float _Blob_Near_Size_;uniform float _Blob_Far_Size_;uniform float _Blob_Near_Distance_;uniform float _Blob_Far_Distance_;uniform float _Blob_Fade_Length_;uniform float _Blob_Inner_Fade_;uniform float _Blob_Pulse_;uniform float _Blob_Fade_;uniform sampler2D _Blob_Texture_;uniform bool _Blob_Enable_2_;uniform vec3 _Blob_Position_2_;uniform float _Blob_Near_Size_2_;uniform float _Blob_Inner_Fade_2_;uniform float _Blob_Pulse_2_;uniform float _Blob_Fade_2_;uniform vec3 _Active_Face_Dir_;uniform vec3 _Active_Face_Up_;uniform bool _Enable_Fade_;uniform float _Fade_Width_;uniform bool _Smooth_Active_Face_;uniform bool _Show_Frame_;uniform bool Use_Global_Left_Index;uniform bool Use_Global_Right_Index;uniform vec4 Global_Left_Index_Tip_Position;uniform vec4 Global_Right_Index_Tip_Position;uniform vec4 Global_Left_Thumb_Tip_Position;uniform vec4 Global_Right_Thumb_Tip_Position;uniform float Global_Left_Index_Tip_Proximity;uniform float Global_Right_Index_Tip_Proximity;varying vec3 vPosition;varying vec3 vNormal;varying vec2 vUV;varying vec3 vTangent;varying vec3 vBinormal;varying vec4 vColor;varying vec4 vExtra1;void Blob_Vertex_B47(\nvec3 Position,\nvec3 Normal,\nvec3 Tangent,\nvec3 Bitangent,\nvec3 Blob_Position,\nfloat Intensity,\nfloat Blob_Near_Size,\nfloat Blob_Far_Size,\nfloat Blob_Near_Distance,\nfloat Blob_Far_Distance,\nvec4 Vx_Color,\nvec2 UV,\nvec3 Face_Center,\nvec2 Face_Size,\nvec2 In_UV,\nfloat Blob_Fade_Length,\nfloat Selection_Fade,\nfloat Selection_Fade_Size,\nfloat Inner_Fade,\nvec3 Active_Face_Center,\nfloat Blob_Pulse,\nfloat Blob_Fade,\nfloat Blob_Enabled,\nout vec3 Out_Position,\nout vec2 Out_UV,\nout vec3 Blob_Info)\n{float blobSize,fadeIn;vec3 Hit_Position;Blob_Info=vec3(0.0,0.0,0.0);float Hit_Distance=dot(Blob_Position-Face_Center,Normal);Hit_Position=Blob_Position-Hit_Distance*Normal;float absD=abs(Hit_Distance);float lerpVal=clamp((absD-Blob_Near_Distance)/(Blob_Far_Distance-Blob_Near_Distance),0.0,1.0);fadeIn=1.0-clamp((absD-Blob_Far_Distance)/Blob_Fade_Length,0.0,1.0);float innerFade=1.0-clamp(-Hit_Distance/Inner_Fade,0.0,1.0);float farClip=clamp(1.0-step(Blob_Far_Distance+Blob_Fade_Length,absD),0.0,1.0);float size=mix(Blob_Near_Size,Blob_Far_Size,lerpVal)*farClip;blobSize=mix(size,Selection_Fade_Size,Selection_Fade)*innerFade*Blob_Enabled;Blob_Info.x=lerpVal*0.5+0.5;Blob_Info.y=fadeIn*Intensity*(1.0-Selection_Fade)*Blob_Fade;Blob_Info.x*=(1.0-Blob_Pulse);vec3 delta=Hit_Position-Face_Center;vec2 blobCenterXY=vec2(dot(delta,Tangent),dot(delta,Bitangent));vec2 quadUVin=2.0*UV-1.0; \nvec2 blobXY=blobCenterXY+quadUVin*blobSize;vec2 blobClipped=clamp(blobXY,-Face_Size*0.5,Face_Size*0.5);vec2 blobUV=(blobClipped-blobCenterXY)/max(blobSize,0.0001)*2.0;vec3 blobCorner=Face_Center+blobClipped.x*Tangent+blobClipped.y*Bitangent;Out_Position=mix(Position,blobCorner,Vx_Color.rrr);Out_UV=mix(In_UV,blobUV,Vx_Color.rr);}\nvec2 ProjectProximity(\nvec3 blobPosition,\nvec3 position,\nvec3 center,\nvec3 dir,\nvec3 xdir,\nvec3 ydir,\nout float vdistance\n)\n{vec3 delta=blobPosition-position;vec2 xy=vec2(dot(delta,xdir),dot(delta,ydir));vdistance=abs(dot(delta,dir));return xy;}\nvoid Proximity_Vertex_B66(\nvec3 Blob_Position,\nvec3 Blob_Position_2,\nvec3 Active_Face_Center,\nvec3 Active_Face_Dir,\nvec3 Position,\nfloat Proximity_Far_Distance,\nfloat Relative_Scale,\nfloat Proximity_Anisotropy,\nvec3 Up,\nout vec4 Extra1,\nout float Distance_To_Face,\nout float Intensity)\n{vec3 Active_Face_Dir_X=normalize(cross(Active_Face_Dir,Up));vec3 Active_Face_Dir_Y=cross(Active_Face_Dir,Active_Face_Dir_X);float distz1,distz2;Extra1.xy=ProjectProximity(Blob_Position,Position,Active_Face_Center,Active_Face_Dir,Active_Face_Dir_X*Proximity_Anisotropy,Active_Face_Dir_Y,distz1)/Relative_Scale;Extra1.zw=ProjectProximity(Blob_Position_2,Position,Active_Face_Center,Active_Face_Dir,Active_Face_Dir_X*Proximity_Anisotropy,Active_Face_Dir_Y,distz2)/Relative_Scale;Distance_To_Face=dot(Active_Face_Dir,Position-Active_Face_Center);Intensity=1.0-clamp(min(distz1,distz2)/Proximity_Far_Distance,0.0,1.0);}\nvoid Holo_Edge_Vertex_B44(\nvec3 Incident,\nvec3 Normal,\nvec2 UV,\nvec3 Tangent,\nvec3 Bitangent,\nbool Smooth_Active_Face,\nfloat Active,\nout vec4 Holo_Edges)\n{float NdotI=dot(Incident,Normal);vec2 flip=(UV-vec2(0.5,0.5));float udot=dot(Incident,Tangent)*flip.x*NdotI;float uval=1.0-float(udot>0.0);float vdot=-dot(Incident,Bitangent)*flip.y*NdotI;float vval=1.0-float(vdot>0.0);float Smooth_And_Active=step(1.0,float(Smooth_Active_Face && Active>0.0));uval=mix(uval,max(1.0,uval),Smooth_And_Active); \nvval=mix(vval,max(1.0,vval),Smooth_And_Active);Holo_Edges=vec4(1.0,1.0,1.0,1.0)-vec4(uval*UV.x,uval*(1.0-UV.x),vval*UV.y,vval*(1.0-UV.y));}\nvoid Object_To_World_Pos_B13(\nvec3 Pos_Object,\nout vec3 Pos_World)\n{Pos_World=(world*vec4(Pos_Object,1.0)).xyz;}\nvoid Choose_Blob_B38(\nvec4 Vx_Color,\nvec3 Position1,\nvec3 Position2,\nbool Blob_Enable_1,\nbool Blob_Enable_2,\nfloat Near_Size_1,\nfloat Near_Size_2,\nfloat Blob_Inner_Fade_1,\nfloat Blob_Inner_Fade_2,\nfloat Blob_Pulse_1,\nfloat Blob_Pulse_2,\nfloat Blob_Fade_1,\nfloat Blob_Fade_2,\nout vec3 Position,\nout float Near_Size,\nout float Inner_Fade,\nout float Blob_Enable,\nout float Fade,\nout float Pulse)\n{Position=Position1*(1.0-Vx_Color.g)+Vx_Color.g*Position2;float b1=float(Blob_Enable_1);float b2=float(Blob_Enable_2);Blob_Enable=b1+(b2-b1)*Vx_Color.g;Pulse=Blob_Pulse_1*(1.0-Vx_Color.g)+Vx_Color.g*Blob_Pulse_2;Fade=Blob_Fade_1*(1.0-Vx_Color.g)+Vx_Color.g*Blob_Fade_2;Near_Size=Near_Size_1*(1.0-Vx_Color.g)+Vx_Color.g*Near_Size_2;Inner_Fade=Blob_Inner_Fade_1*(1.0-Vx_Color.g)+Vx_Color.g*Blob_Inner_Fade_2;}\nvoid Wireframe_Vertex_B51(\nvec3 Position,\nvec3 Normal,\nvec3 Tangent,\nvec3 Bitangent,\nfloat Edge_Width,\nvec2 Face_Size,\nout vec3 Wire_Vx_Pos,\nout vec2 UV,\nout vec2 Widths)\n{Widths.xy=Edge_Width/Face_Size;float x=dot(Position,Tangent);float y=dot(Position,Bitangent);float dx=0.5-abs(x);float newx=(0.5-dx*Widths.x*2.0)*sign(x);float dy=0.5-abs(y);float newy=(0.5-dy*Widths.y*2.0)*sign(y);Wire_Vx_Pos=Normal*0.5+newx*Tangent+newy*Bitangent;UV.x=dot(Wire_Vx_Pos,Tangent)+0.5;UV.y=dot(Wire_Vx_Pos,Bitangent)+0.5;}\nvec2 ramp2(vec2 start,vec2 end,vec2 x)\n{return clamp((x-start)/(end-start),vec2(0.0,0.0),vec2(1.0,1.0));}\nfloat computeSelection(\nvec3 blobPosition,\nvec3 normal,\nvec3 tangent,\nvec3 bitangent,\nvec3 faceCenter,\nvec2 faceSize,\nfloat selectionFuzz,\nfloat farDistance,\nfloat fadeLength\n)\n{vec3 delta=blobPosition-faceCenter;float absD=abs(dot(delta,normal));float fadeIn=1.0-clamp((absD-farDistance)/fadeLength,0.0,1.0);vec2 blobCenterXY=vec2(dot(delta,tangent),dot(delta,bitangent));vec2 innerFace=faceSize*(1.0-selectionFuzz)*0.5;vec2 selectPulse=ramp2(-faceSize*0.5,-innerFace,blobCenterXY)-ramp2(innerFace,faceSize*0.5,blobCenterXY);return selectPulse.x*selectPulse.y*fadeIn;}\nvoid Selection_Vertex_B48(\nvec3 Blob_Position,\nvec3 Blob_Position_2,\nvec3 Face_Center,\nvec2 Face_Size,\nvec3 Normal,\nvec3 Tangent,\nvec3 Bitangent,\nfloat Selection_Fuzz,\nfloat Selected,\nfloat Far_Distance,\nfloat Fade_Length,\nvec3 Active_Face_Dir,\nout float Show_Selection)\n{float select1=computeSelection(Blob_Position,Normal,Tangent,Bitangent,Face_Center,Face_Size,Selection_Fuzz,Far_Distance,Fade_Length);float select2=computeSelection(Blob_Position_2,Normal,Tangent,Bitangent,Face_Center,Face_Size,Selection_Fuzz,Far_Distance,Fade_Length);float Active=max(0.0,dot(Active_Face_Dir,Normal));Show_Selection=mix(max(select1,select2),1.0,Selected)*Active;}\nvoid Proximity_Visibility_B54(\nfloat Selection,\nvec3 Proximity_Center,\nvec3 Proximity_Center_2,\nfloat Input_Width,\nfloat Proximity_Far_Distance,\nfloat Proximity_Radius,\nvec3 Active_Face_Center,\nvec3 Active_Face_Dir,\nout float Width)\n{vec3 boxEdges=(world*vec4(vec3(0.5,0.5,0.5),0.0)).xyz;float boxMaxSize=length(boxEdges);float d1=dot(Proximity_Center-Active_Face_Center,Active_Face_Dir);vec3 blob1=Proximity_Center-d1*Active_Face_Dir;float d2=dot(Proximity_Center_2-Active_Face_Center,Active_Face_Dir);vec3 blob2=Proximity_Center_2-d2*Active_Face_Dir;vec3 delta1=blob1-Active_Face_Center;vec3 delta2=blob2-Active_Face_Center;float dist1=dot(delta1,delta1);float dist2=dot(delta2,delta2);float nearestProxDist=sqrt(min(dist1,dist2));Width=Input_Width*(1.0-step(boxMaxSize+Proximity_Radius,nearestProxDist))*(1.0-step(Proximity_Far_Distance,min(d1,d2))*(1.0-step(0.0001,Selection)));}\nvoid Object_To_World_Dir_B67(\nvec3 Dir_Object,\nout vec3 Dir_World)\n{Dir_World=(world*vec4(Dir_Object,0.0)).xyz;}\nvoid main()\n{vec3 Active_Face_Center_Q49;Active_Face_Center_Q49=(world*vec4(_Active_Face_Dir_*0.5,1.0)).xyz;vec3 Blob_Position_Q41= mix(_Blob_Position_,Global_Left_Index_Tip_Position.xyz,float(Use_Global_Left_Index));vec3 Blob_Position_Q42= mix(_Blob_Position_2_,Global_Right_Index_Tip_Position.xyz,float(Use_Global_Right_Index));vec3 Active_Face_Dir_Q64=normalize((world*vec4(_Active_Face_Dir_,0.0)).xyz);float Relative_Scale_Q57;\n#if RELATIVE_WIDTH\nRelative_Scale_Q57=length((world*vec4(vec3(0,1,0),0.0)).xyz);\n#else\nRelative_Scale_Q57=1.0;\n#endif\nvec3 Tangent_World_Q30;Tangent_World_Q30=(world*vec4(tangent,0.0)).xyz;vec3 Binormal_World_Q31;Binormal_World_Q31=(world*vec4((cross(normal,tangent)),0.0)).xyz;vec3 Normal_World_Q60;Normal_World_Q60=(world*vec4(normal,0.0)).xyz;vec3 Result_Q18=0.5*normal;vec3 Dir_World_Q67;Object_To_World_Dir_B67(_Active_Face_Up_,Dir_World_Q67);float Product_Q56=_Edge_Width_*Relative_Scale_Q57;vec3 Normal_World_N_Q29=normalize(Normal_World_Q60);vec3 Tangent_World_N_Q28=normalize(Tangent_World_Q30);vec3 Binormal_World_N_Q32=normalize(Binormal_World_Q31);vec3 Position_Q38;float Near_Size_Q38;float Inner_Fade_Q38;float Blob_Enable_Q38;float Fade_Q38;float Pulse_Q38;Choose_Blob_B38(color,Blob_Position_Q41,Blob_Position_Q42,_Blob_Enable_,_Blob_Enable_2_,_Blob_Near_Size_,_Blob_Near_Size_2_,_Blob_Inner_Fade_,_Blob_Inner_Fade_2_,_Blob_Pulse_,_Blob_Pulse_2_,_Blob_Fade_,_Blob_Fade_2_,Position_Q38,Near_Size_Q38,Inner_Fade_Q38,Blob_Enable_Q38,Fade_Q38,Pulse_Q38);vec3 Face_Center_Q33;Face_Center_Q33=(world*vec4(Result_Q18,1.0)).xyz;vec2 Face_Size_Q50=vec2(length(Tangent_World_Q30),length(Binormal_World_Q31));float Show_Selection_Q48;Selection_Vertex_B48(Blob_Position_Q41,Blob_Position_Q42,Face_Center_Q33,Face_Size_Q50,Normal_World_N_Q29,Tangent_World_N_Q28,Binormal_World_N_Q32,_Selection_Fuzz_,_Selected_,_Selected_Distance_,_Selected_Fade_Length_,Active_Face_Dir_Q64,Show_Selection_Q48);vec3 Normalized_Q72=normalize(Dir_World_Q67);float Active_Q34=max(0.0,dot(Active_Face_Dir_Q64,Normal_World_N_Q29));float Width_Q54;Proximity_Visibility_B54(Show_Selection_Q48,Blob_Position_Q41,Blob_Position_Q42,Product_Q56,_Proximity_Far_Distance_,_Proximity_Near_Radius_,Active_Face_Center_Q49,Active_Face_Dir_Q64,Width_Q54);vec3 Wire_Vx_Pos_Q51;vec2 UV_Q51;vec2 Widths_Q51;Wireframe_Vertex_B51(position,normal,tangent,(cross(normal,tangent)),Width_Q54,Face_Size_Q50,Wire_Vx_Pos_Q51,UV_Q51,Widths_Q51);vec3 Vec3_Q27=vec3(Widths_Q51.x,Widths_Q51.y,color.r);vec3 Pos_World_Q13;Object_To_World_Pos_B13(Wire_Vx_Pos_Q51,Pos_World_Q13);vec3 Incident_Q36=normalize(Pos_World_Q13-cameraPosition);vec3 Out_Position_Q47;vec2 Out_UV_Q47;vec3 Blob_Info_Q47;Blob_Vertex_B47(Pos_World_Q13,Normal_World_N_Q29,Tangent_World_N_Q28,Binormal_World_N_Q32,Position_Q38,_Blob_Intensity_,Near_Size_Q38,_Blob_Far_Size_,_Blob_Near_Distance_,_Blob_Far_Distance_,color,uv,Face_Center_Q33,Face_Size_Q50,UV_Q51,_Blob_Fade_Length_,_Selection_Fade_,_Selection_Fade_Size_,Inner_Fade_Q38,Active_Face_Center_Q49,Pulse_Q38,Fade_Q38,Blob_Enable_Q38,Out_Position_Q47,Out_UV_Q47,Blob_Info_Q47);vec4 Extra1_Q66;float Distance_To_Face_Q66;float Intensity_Q66;Proximity_Vertex_B66(Blob_Position_Q41,Blob_Position_Q42,Active_Face_Center_Q49,Active_Face_Dir_Q64,Pos_World_Q13,_Proximity_Far_Distance_,Relative_Scale_Q57,_Proximity_Anisotropy_,Normalized_Q72,Extra1_Q66,Distance_To_Face_Q66,Intensity_Q66);vec4 Holo_Edges_Q44;Holo_Edge_Vertex_B44(Incident_Q36,Normal_World_N_Q29,uv,Tangent_World_Q30,Binormal_World_Q31,_Smooth_Active_Face_,Active_Q34,Holo_Edges_Q44);vec3 Vec3_Q19=vec3(Show_Selection_Q48,Distance_To_Face_Q66,Intensity_Q66);vec3 Position=Out_Position_Q47;vec2 UV=Out_UV_Q47;vec3 Tangent=Blob_Info_Q47;vec3 Binormal=Vec3_Q19;vec3 Normal=Vec3_Q27;vec4 Extra1=Extra1_Q66;vec4 Color=Holo_Edges_Q44;gl_Position=viewProjection*vec4(Position,1);vPosition=Position;vNormal=Normal;vUV=UV;vTangent=Tangent;vBinormal=Binormal;vColor=Color;vExtra1=Extra1;}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @internal */\nexport const fluentButtonVertexShader = { name, shader };\n"]}
@@ -1,7 +1,7 @@
1
1
  // Do not edit.
2
2
  import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
3
  const name = "handlePixelShader";
4
- const shader = `uniform vec3 color;
4
+ const shader = `uniform vec3 color;void main(void) {gl_FragColor=vec4(color,1.0);}`;
5
5
  // Sideeffect
6
6
  ShaderStore.ShadersStore[name] = shader;
7
7
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"handle.fragment.js","sourceRoot":"","sources":["../../../../../../../dev/gui/src/3D/materials/handle/shaders/handle.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AAEvD,MAAM,IAAI,GAAG,mBAAmB,CAAC;AACjC,MAAM,MAAM,GAAG;;;EAGb,CAAC;AACH,aAAa;AACb,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,gBAAgB;AAChB,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\n\nconst name = \"handlePixelShader\";\nconst shader = `uniform vec3 color;\rvoid main(void) {\rgl_FragColor=vec4(color,1.0);\r}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @internal */\nexport const handlePixelShader = { name, shader };\n"]}
1
+ {"version":3,"file":"handle.fragment.js","sourceRoot":"","sources":["../../../../../../../dev/gui/src/3D/materials/handle/shaders/handle.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AAEvD,MAAM,IAAI,GAAG,mBAAmB,CAAC;AACjC,MAAM,MAAM,GAAG,oEAAoE,CAAC;AACpF,aAAa;AACb,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,gBAAgB;AAChB,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\n\nconst name = \"handlePixelShader\";\nconst shader = `uniform vec3 color;void main(void) {gl_FragColor=vec4(color,1.0);}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @internal */\nexport const handlePixelShader = { name, shader };\n"]}
@@ -1,7 +1,7 @@
1
1
  // Do not edit.
2
2
  import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
3
  const name = "handleVertexShader";
4
- const shader = `precision highp float;
4
+ const shader = `precision highp float;attribute vec3 position;uniform vec3 positionOffset;uniform mat4 worldViewProjection;uniform float scale;void main(void) {vec4 vPos=vec4((vec3(position)+positionOffset)*scale,1.0);gl_Position=worldViewProjection*vPos;}`;
5
5
  // Sideeffect
6
6
  ShaderStore.ShadersStore[name] = shader;
7
7
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"handle.vertex.js","sourceRoot":"","sources":["../../../../../../../dev/gui/src/3D/materials/handle/shaders/handle.vertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AAEvD,MAAM,IAAI,GAAG,oBAAoB,CAAC;AAClC,MAAM,MAAM,GAAG;;;;;;;;EAQb,CAAC;AACH,aAAa;AACb,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,gBAAgB;AAChB,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\n\nconst name = \"handleVertexShader\";\nconst shader = `precision highp float;\rattribute vec3 position;\runiform vec3 positionOffset;\runiform mat4 worldViewProjection;\runiform float scale;\rvoid main(void) {\rvec4 vPos=vec4((vec3(position)+positionOffset)*scale,1.0);\rgl_Position=worldViewProjection*vPos;\r}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @internal */\nexport const handleVertexShader = { name, shader };\n"]}
1
+ {"version":3,"file":"handle.vertex.js","sourceRoot":"","sources":["../../../../../../../dev/gui/src/3D/materials/handle/shaders/handle.vertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AAEvD,MAAM,IAAI,GAAG,oBAAoB,CAAC;AAClC,MAAM,MAAM,GAAG,kPAAkP,CAAC;AAClQ,aAAa;AACb,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACxC,gBAAgB;AAChB,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\n\nconst name = \"handleVertexShader\";\nconst shader = `precision highp float;attribute vec3 position;uniform vec3 positionOffset;uniform mat4 worldViewProjection;uniform float scale;void main(void) {vec4 vPos=vec4((vec3(position)+positionOffset)*scale,1.0);gl_Position=worldViewProjection*vPos;}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @internal */\nexport const handleVertexShader = { name, shader };\n"]}
@@ -1,7 +1,21 @@
1
1
  // Do not edit.
2
2
  import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
3
  const name = "mrdlBackglowPixelShader";
4
- const shader = `uniform vec3 cameraPosition;
4
+ const shader = `uniform vec3 cameraPosition;varying vec3 vNormal;varying vec2 vUV;uniform float _Bevel_Radius_;uniform float _Line_Width_;uniform bool _Absolute_Sizes_;uniform float _Tuning_Motion_;uniform float _Motion_;uniform float _Max_Intensity_;uniform float _Intensity_Fade_In_Exponent_;uniform float _Outer_Fuzz_Start_;uniform float _Outer_Fuzz_End_;uniform vec4 _Color_;uniform vec4 _Inner_Color_;uniform float _Blend_Exponent_;uniform float _Falloff_;uniform float _Bias_;float BiasFunc(float b,float v) {return pow(v,log(clamp(b,0.001,0.999))/log(0.5));}
5
+ void Fuzzy_Round_Rect_B33(
6
+ float Size_X,
7
+ float Size_Y,
8
+ float Radius_X,
9
+ float Radius_Y,
10
+ float Line_Width,
11
+ vec2 UV,
12
+ float Outer_Fuzz,
13
+ float Max_Outer_Fuzz,
14
+ out float Rect_Distance,
15
+ out float Inner_Distance)
16
+ {vec2 halfSize=vec2(Size_X,Size_Y)*0.5;vec2 r=max(min(vec2(Radius_X,Radius_Y),halfSize),vec2(0.001,0.001));float radius=min(r.x,r.y)-Max_Outer_Fuzz;vec2 v=abs(UV);vec2 nearestp=min(v,halfSize-r);float d=distance(nearestp,v);Inner_Distance=clamp(1.0-(radius-d)/Line_Width,0.0,1.0);Rect_Distance=clamp(1.0-(d-radius)/Outer_Fuzz,0.0,1.0)*Inner_Distance;}
17
+ void main()
18
+ {float X_Q42;float Y_Q42;X_Q42=vNormal.x;Y_Q42=vNormal.y;float MaxAB_Q24=max(_Tuning_Motion_,_Motion_);float Sqrt_F_Q27=sqrt(MaxAB_Q24);float Power_Q43=pow(MaxAB_Q24,_Intensity_Fade_In_Exponent_);float Value_At_T_Q26=mix(_Outer_Fuzz_Start_,_Outer_Fuzz_End_,Sqrt_F_Q27);float Product_Q23=_Max_Intensity_*Power_Q43;float Rect_Distance_Q33;float Inner_Distance_Q33;Fuzzy_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);float Power_Q44=pow(Inner_Distance_Q33,_Blend_Exponent_);float Result_Q45=pow(BiasFunc(_Bias_,Rect_Distance_Q33),_Falloff_);vec4 Color_At_T_Q25=mix(_Inner_Color_,_Color_,Power_Q44);float Product_Q22=Result_Q45*Product_Q23;vec4 Result_Q28=Product_Q22*Color_At_T_Q25;vec4 Out_Color=Result_Q28;float Clip_Threshold=0.0;gl_FragColor=Out_Color;}`;
5
19
  // Sideeffect
6
20
  ShaderStore.ShadersStore[name] = shader;
7
21
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"mrdlBackglow.fragment.js","sourceRoot":"","sources":["../../../../../../../dev/gui/src/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"]}
1
+ {"version":3,"file":"mrdlBackglow.fragment.js","sourceRoot":"","sources":["../../../../../../../dev/gui/src/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;;;;;;;;;;;;;;u1BAcw0B,CAAC;AACx1B,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;varying vec3 vNormal;varying vec2 vUV;uniform float _Bevel_Radius_;uniform float _Line_Width_;uniform bool _Absolute_Sizes_;uniform float _Tuning_Motion_;uniform float _Motion_;uniform float _Max_Intensity_;uniform float _Intensity_Fade_In_Exponent_;uniform float _Outer_Fuzz_Start_;uniform float _Outer_Fuzz_End_;uniform vec4 _Color_;uniform vec4 _Inner_Color_;uniform float _Blend_Exponent_;uniform float _Falloff_;uniform float _Bias_;float BiasFunc(float b,float v) {return pow(v,log(clamp(b,0.001,0.999))/log(0.5));}\nvoid Fuzzy_Round_Rect_B33(\nfloat Size_X,\nfloat Size_Y,\nfloat Radius_X,\nfloat Radius_Y,\nfloat Line_Width,\nvec2 UV,\nfloat Outer_Fuzz,\nfloat Max_Outer_Fuzz,\nout float Rect_Distance,\nout float Inner_Distance)\n{vec2 halfSize=vec2(Size_X,Size_Y)*0.5;vec2 r=max(min(vec2(Radius_X,Radius_Y),halfSize),vec2(0.001,0.001));float radius=min(r.x,r.y)-Max_Outer_Fuzz;vec2 v=abs(UV);vec2 nearestp=min(v,halfSize-r);float d=distance(nearestp,v);Inner_Distance=clamp(1.0-(radius-d)/Line_Width,0.0,1.0);Rect_Distance=clamp(1.0-(d-radius)/Outer_Fuzz,0.0,1.0)*Inner_Distance;}\nvoid main()\n{float X_Q42;float Y_Q42;X_Q42=vNormal.x;Y_Q42=vNormal.y;float MaxAB_Q24=max(_Tuning_Motion_,_Motion_);float Sqrt_F_Q27=sqrt(MaxAB_Q24);float Power_Q43=pow(MaxAB_Q24,_Intensity_Fade_In_Exponent_);float Value_At_T_Q26=mix(_Outer_Fuzz_Start_,_Outer_Fuzz_End_,Sqrt_F_Q27);float Product_Q23=_Max_Intensity_*Power_Q43;float Rect_Distance_Q33;float Inner_Distance_Q33;Fuzzy_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);float Power_Q44=pow(Inner_Distance_Q33,_Blend_Exponent_);float Result_Q45=pow(BiasFunc(_Bias_,Rect_Distance_Q33),_Falloff_);vec4 Color_At_T_Q25=mix(_Inner_Color_,_Color_,Power_Q44);float Product_Q22=Result_Q45*Product_Q23;vec4 Result_Q28=Product_Q22*Color_At_T_Q25;vec4 Out_Color=Result_Q28;float Clip_Threshold=0.0;gl_FragColor=Out_Color;}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @internal */\nexport const mrdlBackglowPixelShader = { name, shader };\n"]}
@@ -1,7 +1,8 @@
1
1
  // Do not edit.
2
2
  import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
3
  const name = "mrdlBackglowVertexShader";
4
- const shader = `uniform mat4 world;
4
+ const shader = `uniform mat4 world;uniform mat4 viewProjection;uniform vec3 cameraPosition;attribute vec3 position;attribute vec3 normal;attribute vec2 uv;attribute vec3 tangent;uniform float _Bevel_Radius_;uniform float _Line_Width_;uniform bool _Absolute_Sizes_;uniform float _Tuning_Motion_;uniform float _Motion_;uniform float _Max_Intensity_;uniform float _Intensity_Fade_In_Exponent_;uniform float _Outer_Fuzz_Start_;uniform float _Outer_Fuzz_End_;uniform vec4 _Color_;uniform vec4 _Inner_Color_;uniform float _Blend_Exponent_;uniform float _Falloff_;uniform float _Bias_;varying vec3 vNormal;varying vec2 vUV;void main()
5
+ {vec3 Dir_World_Q41=(world*vec4(tangent,0.0)).xyz;vec3 Dir_World_Q40=(world*vec4((cross(normal,tangent)),0.0)).xyz;float MaxAB_Q24=max(_Tuning_Motion_,_Motion_);float Length_Q16=length(Dir_World_Q41);float Length_Q17=length(Dir_World_Q40);bool Greater_Than_Q37=MaxAB_Q24>0.0;vec3 Sizes_Q35;vec2 XY_Q35;Sizes_Q35=(_Absolute_Sizes_ ? vec3(Length_Q16,Length_Q17,0) : vec3(Length_Q16/Length_Q17,1,0));XY_Q35=(uv-vec2(0.5,0.5))*Sizes_Q35.xy;vec3 Result_Q38=Greater_Than_Q37 ? position : vec3(0,0,0);vec3 Pos_World_Q39=(world*vec4(Result_Q38,1.0)).xyz;vec3 Position=Pos_World_Q39;vec3 Normal=Sizes_Q35;vec2 UV=XY_Q35;vec3 Tangent=vec3(0,0,0);vec3 Binormal=vec3(0,0,0);vec4 Color=vec4(1,1,1,1);gl_Position=viewProjection*vec4(Position,1);vNormal=Normal;vUV=UV;}`;
5
6
  // Sideeffect
6
7
  ShaderStore.ShadersStore[name] = shader;
7
8
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"mrdlBackglow.vertex.js","sourceRoot":"","sources":["../../../../../../../dev/gui/src/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"]}
1
+ {"version":3,"file":"mrdlBackglow.vertex.js","sourceRoot":"","sources":["../../../../../../../dev/gui/src/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;mvBACouB,CAAC;AACpvB,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;uniform mat4 viewProjection;uniform vec3 cameraPosition;attribute vec3 position;attribute vec3 normal;attribute vec2 uv;attribute vec3 tangent;uniform float _Bevel_Radius_;uniform float _Line_Width_;uniform bool _Absolute_Sizes_;uniform float _Tuning_Motion_;uniform float _Motion_;uniform float _Max_Intensity_;uniform float _Intensity_Fade_In_Exponent_;uniform float _Outer_Fuzz_Start_;uniform float _Outer_Fuzz_End_;uniform vec4 _Color_;uniform vec4 _Inner_Color_;uniform float _Blend_Exponent_;uniform float _Falloff_;uniform float _Bias_;varying vec3 vNormal;varying vec2 vUV;void main()\n{vec3 Dir_World_Q41=(world*vec4(tangent,0.0)).xyz;vec3 Dir_World_Q40=(world*vec4((cross(normal,tangent)),0.0)).xyz;float MaxAB_Q24=max(_Tuning_Motion_,_Motion_);float Length_Q16=length(Dir_World_Q41);float Length_Q17=length(Dir_World_Q40);bool Greater_Than_Q37=MaxAB_Q24>0.0;vec3 Sizes_Q35;vec2 XY_Q35;Sizes_Q35=(_Absolute_Sizes_ ? vec3(Length_Q16,Length_Q17,0) : vec3(Length_Q16/Length_Q17,1,0));XY_Q35=(uv-vec2(0.5,0.5))*Sizes_Q35.xy;vec3 Result_Q38=Greater_Than_Q37 ? position : vec3(0,0,0);vec3 Pos_World_Q39=(world*vec4(Result_Q38,1.0)).xyz;vec3 Position=Pos_World_Q39;vec3 Normal=Sizes_Q35;vec2 UV=XY_Q35;vec3 Tangent=vec3(0,0,0);vec3 Binormal=vec3(0,0,0);vec4 Color=vec4(1,1,1,1);gl_Position=viewProjection*vec4(Position,1);vNormal=Normal;vUV=UV;}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @internal */\nexport const mrdlBackglowVertexShader = { name, shader };\n"]}
@@ -1,13 +1,84 @@
1
1
  // Do not edit.
2
2
  import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
3
  const name = "mrdlBackplatePixelShader";
4
- const shader = `uniform vec3 cameraPosition;
5
- Iridescence_B343(vPosition,vNormal,vUV,vBinormal,cameraPosition,_Iridescence_Tint_,_Iridescent_Map_,_Reflected_,_Frequency_,_Vertical_Offset_,Color_Q343);
6
- Color_Q343=vec4(0,0,0,0);
7
- vec4 Result_Q344;
8
- Edge_B356(vExtra1,Z_Q338,W_Q338,vUV,_Edge_Width_,_Edge_Power_,Result_Q356);
9
- Result_Q356=1.0;
10
- vec2 Vec2_Q339=vec2(X_Q338,Y_Q338);
4
+ const shader = `uniform vec3 cameraPosition;varying vec3 vPosition;varying vec3 vNormal;varying vec2 vUV;varying vec3 vTangent;varying vec3 vBinormal;varying vec4 vExtra1;varying vec4 vExtra2;uniform float _Radius_;uniform float _Line_Width_;uniform bool _Absolute_Sizes_;uniform float _Filter_Width_;uniform vec4 _Base_Color_;uniform vec4 _Line_Color_;uniform float _Radius_Top_Left_;uniform float _Radius_Top_Right_;uniform float _Radius_Bottom_Left_;uniform float _Radius_Bottom_Right_;uniform float _Rate_;uniform vec4 _Highlight_Color_;uniform float _Highlight_Width_;uniform vec4 _Highlight_Transform_;uniform float _Highlight_;uniform float _Iridescence_Intensity_;uniform float _Iridescence_Edge_Intensity_;uniform vec4 _Iridescence_Tint_;uniform sampler2D _Iridescent_Map_;uniform float _Angle_;uniform bool _Reflected_;uniform float _Frequency_;uniform float _Vertical_Offset_;uniform vec4 _Gradient_Color_;uniform vec4 _Top_Left_;uniform vec4 _Top_Right_;uniform vec4 _Bottom_Left_;uniform vec4 _Bottom_Right_;uniform float _Edge_Width_;uniform float _Edge_Power_;uniform float _Line_Gradient_Blend_;uniform float _Fade_Out_;void FastLinearTosRGB_B353(
5
+ vec4 Linear,
6
+ out vec4 sRGB)
7
+ {sRGB.rgb=sqrt(clamp(Linear.rgb,0.0,1.0));sRGB.a=Linear.a;}
8
+ void Round_Rect_Fragment_B332(
9
+ float Radius,
10
+ float Line_Width,
11
+ vec4 Line_Color,
12
+ float Filter_Width,
13
+ vec2 UV,
14
+ float Line_Visibility,
15
+ vec4 Rect_Parms,
16
+ vec4 Fill_Color,
17
+ out vec4 Color)
18
+ {float d=length(max(abs(UV)-Rect_Parms.xy,0.0));float dx=max(fwidth(d)*Filter_Width,0.00001);float g=min(Rect_Parms.z,Rect_Parms.w);float dgrad=max(fwidth(g)*Filter_Width,0.00001);float Inside_Rect=clamp(g/dgrad,0.0,1.0);float inner=clamp((d+dx*0.5-max(Radius-Line_Width,d-dx*0.5))/dx,0.0,1.0);Color=clamp(mix(Fill_Color,Line_Color,inner),0.0,1.0)*Inside_Rect;}
19
+ void Iridescence_B343(
20
+ vec3 Position,
21
+ vec3 Normal,
22
+ vec2 UV,
23
+ vec3 Axis,
24
+ vec3 Eye,
25
+ vec4 Tint,
26
+ sampler2D Texture,
27
+ bool Reflected,
28
+ float Frequency,
29
+ float Vertical_Offset,
30
+ out vec4 Color)
31
+ {vec3 i=normalize(Position-Eye);vec3 r=reflect(i,Normal);float idota=dot(i,Axis);float idotr=dot(i,r);float x=Reflected ? idotr : idota;vec2 xy;xy.x=fract((x*Frequency+1.0)*0.5+UV.y*Vertical_Offset);xy.y=0.5;Color=texture(Texture,xy);Color.rgb*=Tint.rgb;}
32
+ void Scale_RGB_B346(
33
+ vec4 Color,
34
+ float Scalar,
35
+ out vec4 Result)
36
+ {Result=vec4(Scalar,Scalar,Scalar,1)*Color;}
37
+ void Scale_RGB_B344(
38
+ float Scalar,
39
+ vec4 Color,
40
+ out vec4 Result)
41
+ {Result=vec4(Scalar,Scalar,Scalar,1)*Color;}
42
+ void Line_Fragment_B362(
43
+ vec4 Base_Color,
44
+ vec4 Highlight_Color,
45
+ float Highlight_Width,
46
+ vec3 Line_Vertex,
47
+ float Highlight,
48
+ out vec4 Line_Color)
49
+ {float k2=1.0-clamp(abs(Line_Vertex.y/Highlight_Width),0.0,1.0);Line_Color=mix(Base_Color,Highlight_Color,Highlight*k2);}
50
+ void Edge_B356(
51
+ vec4 RectParms,
52
+ float Radius,
53
+ float Line_Width,
54
+ vec2 UV,
55
+ float Edge_Width,
56
+ float Edge_Power,
57
+ out float Result)
58
+ {float d=length(max(abs(UV)-RectParms.xy,0.0));float edge=1.0-clamp((1.0-d/(Radius-Line_Width))/Edge_Width,0.0,1.0);Result=pow(edge,Edge_Power);}
59
+ void Gradient_B355(
60
+ vec4 Gradient_Color,
61
+ vec4 Top_Left,
62
+ vec4 Top_Right,
63
+ vec4 Bottom_Left,
64
+ vec4 Bottom_Right,
65
+ vec2 UV,
66
+ out vec4 Result)
67
+ {vec3 top=Top_Left.rgb+(Top_Right.rgb-Top_Left.rgb)*UV.x;vec3 bottom=Bottom_Left.rgb+(Bottom_Right.rgb-Bottom_Left.rgb)*UV.x;Result.rgb=Gradient_Color.rgb*(bottom+(top-bottom)*UV.y);Result.a=1.0;}
68
+ void main()
69
+ {float X_Q338;float Y_Q338;float Z_Q338;float W_Q338;X_Q338=vExtra2.x;Y_Q338=vExtra2.y;Z_Q338=vExtra2.z;W_Q338=vExtra2.w;vec4 Color_Q343;
70
+ #if IRIDESCENCE_ENABLE
71
+ Iridescence_B343(vPosition,vNormal,vUV,vBinormal,cameraPosition,_Iridescence_Tint_,_Iridescent_Map_,_Reflected_,_Frequency_,_Vertical_Offset_,Color_Q343);
72
+ #else
73
+ Color_Q343=vec4(0,0,0,0);
74
+ #endif
75
+ vec4 Result_Q344;Scale_RGB_B344(_Iridescence_Intensity_,Color_Q343,Result_Q344);vec4 Line_Color_Q362;Line_Fragment_B362(_Line_Color_,_Highlight_Color_,_Highlight_Width_,vTangent,_Highlight_,Line_Color_Q362);float Result_Q356;
76
+ #if EDGE_ONLY
77
+ Edge_B356(vExtra1,Z_Q338,W_Q338,vUV,_Edge_Width_,_Edge_Power_,Result_Q356);
78
+ #else
79
+ Result_Q356=1.0;
80
+ #endif
81
+ vec2 Vec2_Q339=vec2(X_Q338,Y_Q338);vec4 Result_Q355;Gradient_B355(_Gradient_Color_,_Top_Left_,_Top_Right_,_Bottom_Left_,_Bottom_Right_,Vec2_Q339,Result_Q355);vec4 Linear_Q348;Linear_Q348.rgb=clamp(Result_Q355.rgb*Result_Q355.rgb,0.0,1.0);Linear_Q348.a=Result_Q355.a;vec4 Result_Q346;Scale_RGB_B346(Linear_Q348,Result_Q356,Result_Q346);vec4 Sum_Q345=Result_Q346+Result_Q344;vec4 Color_At_T_Q347=mix(Line_Color_Q362,Result_Q346,_Line_Gradient_Blend_);vec4 Base_And_Iridescent_Q350;Base_And_Iridescent_Q350=_Base_Color_+vec4(Sum_Q345.rgb,0.0);vec4 Sum_Q349=Color_At_T_Q347+_Iridescence_Edge_Intensity_*Color_Q343;vec4 Result_Q351=Sum_Q349; Result_Q351.a=1.0;vec4 Color_Q332;Round_Rect_Fragment_B332(Z_Q338,W_Q338,Result_Q351,_Filter_Width_,vUV,1.0,vExtra1,Base_And_Iridescent_Q350,Color_Q332);vec4 Result_Q354=_Fade_Out_*Color_Q332;vec4 sRGB_Q353;FastLinearTosRGB_B353(Result_Q354,sRGB_Q353);vec4 Out_Color=sRGB_Q353;float Clip_Threshold=0.001;bool To_sRGB=false;gl_FragColor=Out_Color;}`;
11
82
  // Sideeffect
12
83
  ShaderStore.ShadersStore[name] = shader;
13
84
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"mrdlBackplate.fragment.js","sourceRoot":"","sources":["../../../../../../../dev/gui/src/3D/materials/mrdl/shaders/mrdlBackplate.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AAEvD,MAAM,IAAI,GAAG,0BAA0B,CAAC;AACxC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+Lb,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 = \"mrdlBackplatePixelShader\";\nconst shader = `uniform vec3 cameraPosition;\rvarying vec3 vPosition;\rvarying vec3 vNormal;\rvarying vec2 vUV;\rvarying vec3 vTangent;\rvarying vec3 vBinormal;\rvarying vec4 vExtra1;\rvarying vec4 vExtra2;\runiform float _Radius_;\runiform float _Line_Width_;\runiform bool _Absolute_Sizes_;\runiform float _Filter_Width_;\runiform vec4 _Base_Color_;\runiform vec4 _Line_Color_;\runiform float _Radius_Top_Left_;\runiform float _Radius_Top_Right_;\runiform float _Radius_Bottom_Left_;\runiform float _Radius_Bottom_Right_;\runiform float _Rate_;\runiform vec4 _Highlight_Color_;\runiform float _Highlight_Width_;\runiform vec4 _Highlight_Transform_;\runiform float _Highlight_;\runiform float _Iridescence_Intensity_;\runiform float _Iridescence_Edge_Intensity_;\runiform vec4 _Iridescence_Tint_;\runiform sampler2D _Iridescent_Map_;\runiform float _Angle_;\runiform bool _Reflected_;\runiform float _Frequency_;\runiform float _Vertical_Offset_;\runiform vec4 _Gradient_Color_;\runiform vec4 _Top_Left_;\runiform vec4 _Top_Right_;\runiform vec4 _Bottom_Left_;\runiform vec4 _Bottom_Right_;\runiform float _Edge_Width_;\runiform float _Edge_Power_;\runiform float _Line_Gradient_Blend_;\runiform float _Fade_Out_;\rvoid FastLinearTosRGB_B353(\rvec4 Linear,\rout vec4 sRGB)\r{\rsRGB.rgb=sqrt(clamp(Linear.rgb,0.0,1.0));\rsRGB.a=Linear.a;\r}\rvoid Round_Rect_Fragment_B332(\rfloat Radius,\rfloat Line_Width,\rvec4 Line_Color,\rfloat Filter_Width,\rvec2 UV,\rfloat Line_Visibility,\rvec4 Rect_Parms,\rvec4 Fill_Color,\rout vec4 Color)\r{\rfloat d=length(max(abs(UV)-Rect_Parms.xy,0.0));\rfloat dx=max(fwidth(d)*Filter_Width,0.00001);\rfloat g=min(Rect_Parms.z,Rect_Parms.w);\rfloat dgrad=max(fwidth(g)*Filter_Width,0.00001);\rfloat Inside_Rect=clamp(g/dgrad,0.0,1.0);\rfloat inner=clamp((d+dx*0.5-max(Radius-Line_Width,d-dx*0.5))/dx,0.0,1.0);\rColor=clamp(mix(Fill_Color,Line_Color,inner),0.0,1.0)*Inside_Rect;\r}\rvoid Iridescence_B343(\rvec3 Position,\rvec3 Normal,\rvec2 UV,\rvec3 Axis,\rvec3 Eye,\rvec4 Tint,\rsampler2D Texture,\rbool Reflected,\rfloat Frequency,\rfloat Vertical_Offset,\rout vec4 Color)\r{\rvec3 i=normalize(Position-Eye);\rvec3 r=reflect(i,Normal);\rfloat idota=dot(i,Axis);\rfloat idotr=dot(i,r);\rfloat x=Reflected ? idotr : idota;\rvec2 xy;\rxy.x=fract((x*Frequency+1.0)*0.5+UV.y*Vertical_Offset);\rxy.y=0.5;\rColor=texture(Texture,xy);\rColor.rgb*=Tint.rgb;\r}\rvoid Scale_RGB_B346(\rvec4 Color,\rfloat Scalar,\rout vec4 Result)\r{\rResult=vec4(Scalar,Scalar,Scalar,1)*Color;\r}\rvoid Scale_RGB_B344(\rfloat Scalar,\rvec4 Color,\rout vec4 Result)\r{\rResult=vec4(Scalar,Scalar,Scalar,1)*Color;\r}\rvoid Line_Fragment_B362(\rvec4 Base_Color,\rvec4 Highlight_Color,\rfloat Highlight_Width,\rvec3 Line_Vertex,\rfloat Highlight,\rout vec4 Line_Color)\r{\rfloat k2=1.0-clamp(abs(Line_Vertex.y/Highlight_Width),0.0,1.0);\rLine_Color=mix(Base_Color,Highlight_Color,Highlight*k2);\r}\rvoid Edge_B356(\rvec4 RectParms,\rfloat Radius,\rfloat Line_Width,\rvec2 UV,\rfloat Edge_Width,\rfloat Edge_Power,\rout float Result)\r{\rfloat d=length(max(abs(UV)-RectParms.xy,0.0));\rfloat edge=1.0-clamp((1.0-d/(Radius-Line_Width))/Edge_Width,0.0,1.0);\rResult=pow(edge,Edge_Power);\r}\rvoid Gradient_B355(\rvec4 Gradient_Color,\rvec4 Top_Left,\rvec4 Top_Right,\rvec4 Bottom_Left,\rvec4 Bottom_Right,\rvec2 UV,\rout vec4 Result)\r{\rvec3 top=Top_Left.rgb+(Top_Right.rgb-Top_Left.rgb)*UV.x;\rvec3 bottom=Bottom_Left.rgb+(Bottom_Right.rgb-Bottom_Left.rgb)*UV.x;\rResult.rgb=Gradient_Color.rgb*(bottom+(top-bottom)*UV.y);\rResult.a=1.0;\r}\rvoid main()\r{\rfloat X_Q338;\rfloat Y_Q338;\rfloat Z_Q338;\rfloat W_Q338;\rX_Q338=vExtra2.x;\rY_Q338=vExtra2.y;\rZ_Q338=vExtra2.z;\rW_Q338=vExtra2.w;\rvec4 Color_Q343;\r#if IRIDESCENCE_ENABLE\nIridescence_B343(vPosition,vNormal,vUV,vBinormal,cameraPosition,_Iridescence_Tint_,_Iridescent_Map_,_Reflected_,_Frequency_,_Vertical_Offset_,Color_Q343);\r#else\nColor_Q343=vec4(0,0,0,0);\r#endif\nvec4 Result_Q344;\rScale_RGB_B344(_Iridescence_Intensity_,Color_Q343,Result_Q344);\rvec4 Line_Color_Q362;\rLine_Fragment_B362(_Line_Color_,_Highlight_Color_,_Highlight_Width_,vTangent,_Highlight_,Line_Color_Q362);\rfloat Result_Q356;\r#if EDGE_ONLY\nEdge_B356(vExtra1,Z_Q338,W_Q338,vUV,_Edge_Width_,_Edge_Power_,Result_Q356);\r#else\nResult_Q356=1.0;\r#endif\nvec2 Vec2_Q339=vec2(X_Q338,Y_Q338);\rvec4 Result_Q355;\rGradient_B355(_Gradient_Color_,_Top_Left_,_Top_Right_,_Bottom_Left_,_Bottom_Right_,Vec2_Q339,Result_Q355);\rvec4 Linear_Q348;\rLinear_Q348.rgb=clamp(Result_Q355.rgb*Result_Q355.rgb,0.0,1.0);\rLinear_Q348.a=Result_Q355.a;\rvec4 Result_Q346;\rScale_RGB_B346(Linear_Q348,Result_Q356,Result_Q346);\rvec4 Sum_Q345=Result_Q346+Result_Q344;\rvec4 Color_At_T_Q347=mix(Line_Color_Q362,Result_Q346,_Line_Gradient_Blend_);\rvec4 Base_And_Iridescent_Q350;\rBase_And_Iridescent_Q350=_Base_Color_+vec4(Sum_Q345.rgb,0.0);\rvec4 Sum_Q349=Color_At_T_Q347+_Iridescence_Edge_Intensity_*Color_Q343;\rvec4 Result_Q351=Sum_Q349; Result_Q351.a=1.0;\rvec4 Color_Q332;\rRound_Rect_Fragment_B332(Z_Q338,W_Q338,Result_Q351,_Filter_Width_,vUV,1.0,vExtra1,Base_And_Iridescent_Q350,Color_Q332);\rvec4 Result_Q354=_Fade_Out_*Color_Q332;\rvec4 sRGB_Q353;\rFastLinearTosRGB_B353(Result_Q354,sRGB_Q353);\rvec4 Out_Color=sRGB_Q353;\rfloat Clip_Threshold=0.001;\rbool To_sRGB=false;\rgl_FragColor=Out_Color;\r}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @internal */\nexport const mrdlBackplatePixelShader = { name, shader };\n"]}
1
+ {"version":3,"file":"mrdlBackplate.fragment.js","sourceRoot":"","sources":["../../../../../../../dev/gui/src/3D/materials/mrdl/shaders/mrdlBackplate.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,+CAAiC;AAEvD,MAAM,IAAI,GAAG,0BAA0B,CAAC;AACxC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;y9BA6E08B,CAAC;AAC19B,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 = \"mrdlBackplatePixelShader\";\nconst shader = `uniform vec3 cameraPosition;varying vec3 vPosition;varying vec3 vNormal;varying vec2 vUV;varying vec3 vTangent;varying vec3 vBinormal;varying vec4 vExtra1;varying vec4 vExtra2;uniform float _Radius_;uniform float _Line_Width_;uniform bool _Absolute_Sizes_;uniform float _Filter_Width_;uniform vec4 _Base_Color_;uniform vec4 _Line_Color_;uniform float _Radius_Top_Left_;uniform float _Radius_Top_Right_;uniform float _Radius_Bottom_Left_;uniform float _Radius_Bottom_Right_;uniform float _Rate_;uniform vec4 _Highlight_Color_;uniform float _Highlight_Width_;uniform vec4 _Highlight_Transform_;uniform float _Highlight_;uniform float _Iridescence_Intensity_;uniform float _Iridescence_Edge_Intensity_;uniform vec4 _Iridescence_Tint_;uniform sampler2D _Iridescent_Map_;uniform float _Angle_;uniform bool _Reflected_;uniform float _Frequency_;uniform float _Vertical_Offset_;uniform vec4 _Gradient_Color_;uniform vec4 _Top_Left_;uniform vec4 _Top_Right_;uniform vec4 _Bottom_Left_;uniform vec4 _Bottom_Right_;uniform float _Edge_Width_;uniform float _Edge_Power_;uniform float _Line_Gradient_Blend_;uniform float _Fade_Out_;void FastLinearTosRGB_B353(\nvec4 Linear,\nout vec4 sRGB)\n{sRGB.rgb=sqrt(clamp(Linear.rgb,0.0,1.0));sRGB.a=Linear.a;}\nvoid Round_Rect_Fragment_B332(\nfloat Radius,\nfloat Line_Width,\nvec4 Line_Color,\nfloat Filter_Width,\nvec2 UV,\nfloat Line_Visibility,\nvec4 Rect_Parms,\nvec4 Fill_Color,\nout vec4 Color)\n{float d=length(max(abs(UV)-Rect_Parms.xy,0.0));float dx=max(fwidth(d)*Filter_Width,0.00001);float g=min(Rect_Parms.z,Rect_Parms.w);float dgrad=max(fwidth(g)*Filter_Width,0.00001);float Inside_Rect=clamp(g/dgrad,0.0,1.0);float inner=clamp((d+dx*0.5-max(Radius-Line_Width,d-dx*0.5))/dx,0.0,1.0);Color=clamp(mix(Fill_Color,Line_Color,inner),0.0,1.0)*Inside_Rect;}\nvoid Iridescence_B343(\nvec3 Position,\nvec3 Normal,\nvec2 UV,\nvec3 Axis,\nvec3 Eye,\nvec4 Tint,\nsampler2D Texture,\nbool Reflected,\nfloat Frequency,\nfloat Vertical_Offset,\nout vec4 Color)\n{vec3 i=normalize(Position-Eye);vec3 r=reflect(i,Normal);float idota=dot(i,Axis);float idotr=dot(i,r);float x=Reflected ? idotr : idota;vec2 xy;xy.x=fract((x*Frequency+1.0)*0.5+UV.y*Vertical_Offset);xy.y=0.5;Color=texture(Texture,xy);Color.rgb*=Tint.rgb;}\nvoid Scale_RGB_B346(\nvec4 Color,\nfloat Scalar,\nout vec4 Result)\n{Result=vec4(Scalar,Scalar,Scalar,1)*Color;}\nvoid Scale_RGB_B344(\nfloat Scalar,\nvec4 Color,\nout vec4 Result)\n{Result=vec4(Scalar,Scalar,Scalar,1)*Color;}\nvoid Line_Fragment_B362(\nvec4 Base_Color,\nvec4 Highlight_Color,\nfloat Highlight_Width,\nvec3 Line_Vertex,\nfloat Highlight,\nout vec4 Line_Color)\n{float k2=1.0-clamp(abs(Line_Vertex.y/Highlight_Width),0.0,1.0);Line_Color=mix(Base_Color,Highlight_Color,Highlight*k2);}\nvoid Edge_B356(\nvec4 RectParms,\nfloat Radius,\nfloat Line_Width,\nvec2 UV,\nfloat Edge_Width,\nfloat Edge_Power,\nout float Result)\n{float d=length(max(abs(UV)-RectParms.xy,0.0));float edge=1.0-clamp((1.0-d/(Radius-Line_Width))/Edge_Width,0.0,1.0);Result=pow(edge,Edge_Power);}\nvoid Gradient_B355(\nvec4 Gradient_Color,\nvec4 Top_Left,\nvec4 Top_Right,\nvec4 Bottom_Left,\nvec4 Bottom_Right,\nvec2 UV,\nout vec4 Result)\n{vec3 top=Top_Left.rgb+(Top_Right.rgb-Top_Left.rgb)*UV.x;vec3 bottom=Bottom_Left.rgb+(Bottom_Right.rgb-Bottom_Left.rgb)*UV.x;Result.rgb=Gradient_Color.rgb*(bottom+(top-bottom)*UV.y);Result.a=1.0;}\nvoid main()\n{float X_Q338;float Y_Q338;float Z_Q338;float W_Q338;X_Q338=vExtra2.x;Y_Q338=vExtra2.y;Z_Q338=vExtra2.z;W_Q338=vExtra2.w;vec4 Color_Q343;\n#if IRIDESCENCE_ENABLE\nIridescence_B343(vPosition,vNormal,vUV,vBinormal,cameraPosition,_Iridescence_Tint_,_Iridescent_Map_,_Reflected_,_Frequency_,_Vertical_Offset_,Color_Q343);\n#else\nColor_Q343=vec4(0,0,0,0);\n#endif\nvec4 Result_Q344;Scale_RGB_B344(_Iridescence_Intensity_,Color_Q343,Result_Q344);vec4 Line_Color_Q362;Line_Fragment_B362(_Line_Color_,_Highlight_Color_,_Highlight_Width_,vTangent,_Highlight_,Line_Color_Q362);float Result_Q356;\n#if EDGE_ONLY\nEdge_B356(vExtra1,Z_Q338,W_Q338,vUV,_Edge_Width_,_Edge_Power_,Result_Q356);\n#else\nResult_Q356=1.0;\n#endif\nvec2 Vec2_Q339=vec2(X_Q338,Y_Q338);vec4 Result_Q355;Gradient_B355(_Gradient_Color_,_Top_Left_,_Top_Right_,_Bottom_Left_,_Bottom_Right_,Vec2_Q339,Result_Q355);vec4 Linear_Q348;Linear_Q348.rgb=clamp(Result_Q355.rgb*Result_Q355.rgb,0.0,1.0);Linear_Q348.a=Result_Q355.a;vec4 Result_Q346;Scale_RGB_B346(Linear_Q348,Result_Q356,Result_Q346);vec4 Sum_Q345=Result_Q346+Result_Q344;vec4 Color_At_T_Q347=mix(Line_Color_Q362,Result_Q346,_Line_Gradient_Blend_);vec4 Base_And_Iridescent_Q350;Base_And_Iridescent_Q350=_Base_Color_+vec4(Sum_Q345.rgb,0.0);vec4 Sum_Q349=Color_At_T_Q347+_Iridescence_Edge_Intensity_*Color_Q343;vec4 Result_Q351=Sum_Q349; Result_Q351.a=1.0;vec4 Color_Q332;Round_Rect_Fragment_B332(Z_Q338,W_Q338,Result_Q351,_Filter_Width_,vUV,1.0,vExtra1,Base_And_Iridescent_Q350,Color_Q332);vec4 Result_Q354=_Fade_Out_*Color_Q332;vec4 sRGB_Q353;FastLinearTosRGB_B353(Result_Q354,sRGB_Q353);vec4 Out_Color=sRGB_Q353;float Clip_Threshold=0.001;bool To_sRGB=false;gl_FragColor=Out_Color;}`;\n// Sideeffect\nShaderStore.ShadersStore[name] = shader;\n/** @internal */\nexport const mrdlBackplatePixelShader = { name, shader };\n"]}
@@ -1,10 +1,92 @@
1
1
  // Do not edit.
2
2
  import { ShaderStore } from "@babylonjs/core/Engines/shaderStore.js";
3
3
  const name = "mrdlBackplateVertexShader";
4
- const shader = `uniform mat4 world;
5
- Edge_AA_Vertex_B328(Pos_World_Q314,position,normal,cameraPosition,Radial_Gradient_Q327,Radial_Dir_Q327,tangent,Gradient1_Q328,Gradient2_Q328);
6
- Gradient1_Q328=1.0;
7
- vec2 Rect_UV_Q357;
4
+ const shader = `uniform mat4 world;uniform mat4 viewProjection;uniform vec3 cameraPosition;attribute vec3 position;attribute vec3 normal;attribute vec3 tangent;uniform float _Radius_;uniform float _Line_Width_;uniform bool _Absolute_Sizes_;uniform float _Filter_Width_;uniform vec4 _Base_Color_;uniform vec4 _Line_Color_;uniform float _Radius_Top_Left_;uniform float _Radius_Top_Right_;uniform float _Radius_Bottom_Left_;uniform float _Radius_Bottom_Right_;uniform float _Rate_;uniform vec4 _Highlight_Color_;uniform float _Highlight_Width_;uniform vec4 _Highlight_Transform_;uniform float _Highlight_;uniform float _Iridescence_Intensity_;uniform float _Iridescence_Edge_Intensity_;uniform vec4 _Iridescence_Tint_;uniform sampler2D _Iridescent_Map_;uniform float _Angle_;uniform bool _Reflected_;uniform float _Frequency_;uniform float _Vertical_Offset_;uniform vec4 _Gradient_Color_;uniform vec4 _Top_Left_;uniform vec4 _Top_Right_;uniform vec4 _Bottom_Left_;uniform vec4 _Bottom_Right_;uniform float _Edge_Width_;uniform float _Edge_Power_;uniform float _Line_Gradient_Blend_;uniform float _Fade_Out_;varying vec3 vPosition;varying vec3 vNormal;varying vec2 vUV;varying vec3 vTangent;varying vec3 vBinormal;varying vec4 vExtra1;varying vec4 vExtra2;void Object_To_World_Pos_B314(
5
+ vec3 Pos_Object,
6
+ out vec3 Pos_World)
7
+ {Pos_World=(world*vec4(Pos_Object,1.0)).xyz;}
8
+ void Round_Rect_Vertex_B357(
9
+ vec2 UV,
10
+ float Radius,
11
+ float Margin,
12
+ float Anisotropy,
13
+ float Gradient1,
14
+ float Gradient2,
15
+ vec3 Normal,
16
+ vec4 Color_Scale_Translate,
17
+ out vec2 Rect_UV,
18
+ out vec4 Rect_Parms,
19
+ out vec2 Scale_XY,
20
+ out vec2 Line_UV,
21
+ out vec2 Color_UV_Info)
22
+ {Scale_XY=vec2(Anisotropy,1.0);Line_UV=(UV-vec2(0.5,0.5));Rect_UV=Line_UV*Scale_XY;Rect_Parms.xy=Scale_XY*0.5-vec2(Radius,Radius)-vec2(Margin,Margin);Rect_Parms.z=Gradient1;
23
+ Rect_Parms.w=Gradient2;Color_UV_Info=(Line_UV+vec2(0.5,0.5))*Color_Scale_Translate.xy+Color_Scale_Translate.zw;}
24
+ void Line_Vertex_B333(
25
+ vec2 Scale_XY,
26
+ vec2 UV,
27
+ float Time,
28
+ float Rate,
29
+ vec4 Highlight_Transform,
30
+ out vec3 Line_Vertex)
31
+ {float angle2=(Rate*Time)*2.0*3.1416;float sinAngle2=sin(angle2);float cosAngle2=cos(angle2);vec2 xformUV=UV*Highlight_Transform.xy+Highlight_Transform.zw;Line_Vertex.x=0.0;Line_Vertex.y=cosAngle2*xformUV.x-sinAngle2*xformUV.y;Line_Vertex.z=0.0; }
32
+ void PickDir_B334(
33
+ float Degrees,
34
+ vec3 DirX,
35
+ vec3 DirY,
36
+ out vec3 Dir)
37
+ {float a=Degrees*3.14159/180.0;Dir=cos(a)*DirX+sin(a)*DirY;}
38
+ void Move_Verts_B327(
39
+ float Anisotropy,
40
+ vec3 P,
41
+ float Radius,
42
+ out vec3 New_P,
43
+ out vec2 New_UV,
44
+ out float Radial_Gradient,
45
+ out vec3 Radial_Dir)
46
+ {vec2 UV=P.xy*2.0+0.5;vec2 center=clamp(UV,0.0,1.0);vec2 delta=UV-center;vec2 r2=2.0*vec2(Radius/Anisotropy,Radius);New_UV=center+r2*(UV-2.0*center+0.5);New_P=vec3(New_UV-0.5,P.z);Radial_Gradient=1.0-length(delta)*2.0;Radial_Dir=vec3(delta*r2,0.0);}
47
+ void Pick_Radius_B336(
48
+ float Radius,
49
+ float Radius_Top_Left,
50
+ float Radius_Top_Right,
51
+ float Radius_Bottom_Left,
52
+ float Radius_Bottom_Right,
53
+ vec3 Position,
54
+ out float Result)
55
+ {bool whichY=Position.y>0.0;Result=Position.x<0.0 ? (whichY ? Radius_Top_Left : Radius_Bottom_Left) : (whichY ? Radius_Top_Right : Radius_Bottom_Right);Result*=Radius;}
56
+ void Edge_AA_Vertex_B328(
57
+ vec3 Position_World,
58
+ vec3 Position_Object,
59
+ vec3 Normal_Object,
60
+ vec3 Eye,
61
+ float Radial_Gradient,
62
+ vec3 Radial_Dir,
63
+ vec3 Tangent,
64
+ out float Gradient1,
65
+ out float Gradient2)
66
+ {vec3 I=(Eye-Position_World);vec3 T=(vec4(Tangent,0.0)).xyz;float g=(dot(T,I)<0.0) ? 0.0 : 1.0;if (Normal_Object.z==0.0) {
67
+ Gradient1=Position_Object.z>0.0 ? g : 1.0;Gradient2=Position_Object.z>0.0 ? 1.0 : g;} else {Gradient1=g+(1.0-g)*(Radial_Gradient);Gradient2=1.0;}}
68
+ void Object_To_World_Dir_B330(
69
+ vec3 Dir_Object,
70
+ out vec3 Binormal_World,
71
+ out vec3 Binormal_World_N,
72
+ out float Binormal_Length)
73
+ {Binormal_World=(world*vec4(Dir_Object,0.0)).xyz;Binormal_Length=length(Binormal_World);Binormal_World_N=Binormal_World/Binormal_Length;}
74
+ void RelativeOrAbsoluteDetail_B341(
75
+ float Nominal_Radius,
76
+ float Nominal_LineWidth,
77
+ bool Absolute_Measurements,
78
+ float Height,
79
+ out float Radius,
80
+ out float Line_Width)
81
+ {float scale=Absolute_Measurements ? 1.0/Height : 1.0;Radius=Nominal_Radius*scale;Line_Width=Nominal_LineWidth*scale;}
82
+ void main()
83
+ {vec3 Nrm_World_Q326;Nrm_World_Q326=normalize((world*vec4(normal,0.0)).xyz);vec3 Tangent_World_Q329;vec3 Tangent_World_N_Q329;float Tangent_Length_Q329;Tangent_World_Q329=(world*vec4(vec3(1,0,0),0.0)).xyz;Tangent_Length_Q329=length(Tangent_World_Q329);Tangent_World_N_Q329=Tangent_World_Q329/Tangent_Length_Q329;vec3 Binormal_World_Q330;vec3 Binormal_World_N_Q330;float Binormal_Length_Q330;Object_To_World_Dir_B330(vec3(0,1,0),Binormal_World_Q330,Binormal_World_N_Q330,Binormal_Length_Q330);float Radius_Q341;float Line_Width_Q341;RelativeOrAbsoluteDetail_B341(_Radius_,_Line_Width_,_Absolute_Sizes_,Binormal_Length_Q330,Radius_Q341,Line_Width_Q341);vec3 Dir_Q334;PickDir_B334(_Angle_,Tangent_World_N_Q329,Binormal_World_N_Q330,Dir_Q334);float Result_Q336;Pick_Radius_B336(Radius_Q341,_Radius_Top_Left_,_Radius_Top_Right_,_Radius_Bottom_Left_,_Radius_Bottom_Right_,position,Result_Q336);float Anisotropy_Q331=Tangent_Length_Q329/Binormal_Length_Q330;vec4 Out_Color_Q337=vec4(Result_Q336,Line_Width_Q341,0,1);vec3 New_P_Q327;vec2 New_UV_Q327;float Radial_Gradient_Q327;vec3 Radial_Dir_Q327;Move_Verts_B327(Anisotropy_Q331,position,Result_Q336,New_P_Q327,New_UV_Q327,Radial_Gradient_Q327,Radial_Dir_Q327);vec3 Pos_World_Q314;Object_To_World_Pos_B314(New_P_Q327,Pos_World_Q314);float Gradient1_Q328;float Gradient2_Q328;
84
+ #if SMOOTH_EDGES
85
+ Edge_AA_Vertex_B328(Pos_World_Q314,position,normal,cameraPosition,Radial_Gradient_Q327,Radial_Dir_Q327,tangent,Gradient1_Q328,Gradient2_Q328);
86
+ #else
87
+ Gradient1_Q328=1.0;Gradient2_Q328=1.0;
88
+ #endif
89
+ vec2 Rect_UV_Q357;vec4 Rect_Parms_Q357;vec2 Scale_XY_Q357;vec2 Line_UV_Q357;vec2 Color_UV_Info_Q357;Round_Rect_Vertex_B357(New_UV_Q327,Result_Q336,0.0,Anisotropy_Q331,Gradient1_Q328,Gradient2_Q328,normal,vec4(1,1,0,0),Rect_UV_Q357,Rect_Parms_Q357,Scale_XY_Q357,Line_UV_Q357,Color_UV_Info_Q357);vec3 Line_Vertex_Q333;Line_Vertex_B333(Scale_XY_Q357,Line_UV_Q357,(20.0),_Rate_,_Highlight_Transform_,Line_Vertex_Q333);float X_Q359;float Y_Q359;X_Q359=Color_UV_Info_Q357.x;Y_Q359=Color_UV_Info_Q357.y;vec4 Vec4_Q358=vec4(X_Q359,Y_Q359,Result_Q336,Line_Width_Q341);vec3 Position=Pos_World_Q314;vec3 Normal=Nrm_World_Q326;vec2 UV=Rect_UV_Q357;vec3 Tangent=Line_Vertex_Q333;vec3 Binormal=Dir_Q334;vec4 Color=Out_Color_Q337;vec4 Extra1=Rect_Parms_Q357;vec4 Extra2=Vec4_Q358;vec4 Extra3=vec4(0,0,0,0);gl_Position=viewProjection*vec4(Position,1);vPosition=Position;vNormal=Normal;vUV=UV;vTangent=Tangent;vBinormal=Binormal;vExtra1=Extra1;vExtra2=Extra2;}`;
8
90
  // Sideeffect
9
91
  ShaderStore.ShadersStore[name] = shader;
10
92
  /** @internal */