summaryrefslogtreecommitdiff
path: root/assets/platform_f.glsl
blob: 7877ff5afd902eac425ca751c870c7d68b5fa47e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
varying vec4 color;
varying vec2 p1, p2;
varying vec2 pos;
uniform float thickness;

void main() {
	// thanks to https://www.youtube.com/watch?v=PMltMdi1Wzg
	// (calculates distance to line segment p1-p2)
	float h = clamp(dot(pos-p1, p2-p1) / dot(p2-p1, p2-p1), 0.0, 1.0);
	float d = length(pos - p1 - (p2-p1) * h);
	
	d /= thickness;
	float v = 1.0 - d * d;

	gl_FragColor = color * v;
}