aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols2/material/shaders/RectangularGlow.frag
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2021-07-28 11:21:25 +0200
committerMitch Curtis <mitch.curtis@qt.io>2021-07-28 11:21:25 +0200
commit16436239cd35ba7346b89a1f57d5b29dc786f4c6 (patch)
tree7e9011d0dfdda5ef9ccc302dae69ab3e5ba4b8cc /src/quickcontrols2/material/shaders/RectangularGlow.frag
parent5a5b9c2344b961e984a2c860bb0c33022d641f32 (diff)
parent89d3486ad18d782a8141037a2bffb7992118cc78 (diff)
Merge qtquickcontrols2 into qtdeclarative
Diffstat (limited to 'src/quickcontrols2/material/shaders/RectangularGlow.frag')
-rw-r--r--src/quickcontrols2/material/shaders/RectangularGlow.frag19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/quickcontrols2/material/shaders/RectangularGlow.frag b/src/quickcontrols2/material/shaders/RectangularGlow.frag
new file mode 100644
index 0000000000..40bab5806c
--- /dev/null
+++ b/src/quickcontrols2/material/shaders/RectangularGlow.frag
@@ -0,0 +1,19 @@
+uniform highp float qt_Opacity;
+uniform mediump float relativeSizeX;
+uniform mediump float relativeSizeY;
+uniform mediump float spread;
+uniform lowp vec4 color;
+varying highp vec2 qt_TexCoord0;
+
+highp float linearstep(highp float e0, highp float e1, highp float x) {
+ return clamp((x - e0) / (e1 - e0), 0.0, 1.0);
+}
+
+void main() {
+ lowp float alpha =
+ smoothstep(0.0, relativeSizeX, 0.5 - abs(0.5 - qt_TexCoord0.x)) *
+ smoothstep(0.0, relativeSizeY, 0.5 - abs(0.5 - qt_TexCoord0.y));
+
+ highp float spreadMultiplier = linearstep(spread, 1.0 - spread, alpha);
+ gl_FragColor = color * qt_Opacity * spreadMultiplier * spreadMultiplier;
+}