better dir-link visualization
[vrfileman] / sdr / glink.p.glsl
diff --git a/sdr/glink.p.glsl b/sdr/glink.p.glsl
new file mode 100644 (file)
index 0000000..0c51278
--- /dev/null
@@ -0,0 +1,21 @@
+void main()
+{
+       const vec3 color = vec3(0.2, 0.4, 1.0);
+
+       vec2 uv = gl_TexCoord[0].st;
+       vec2 pt = uv * vec2(2.0) - vec2(1.0);
+
+       float d_horiz = abs(pt.x);
+       float d_vert = max(abs(pt.y), 0.0);
+
+       float beam_sharpness = 80.0 * min(uv.y + 0.3, 1.0);
+       float beam_intensity = 6.0 * (1.0 - uv.y);
+
+       float glow_u = pow(1.0 - smoothstep(0.0, 1.0, d_horiz), beam_sharpness) * beam_intensity;
+       float glow_v = 1.0 - smoothstep(0.8, 1.0, d_vert);
+
+       float glow = glow_u * glow_v;
+
+       gl_FragColor.rgb = color * glow;// + vec3(0.0, 1.0, 0.0) * step(0.99, max(abs(pt.x), abs(pt.y)));
+       gl_FragColor.a = 1.0;
+}