summaryrefslogtreecommitdiff
path: root/assets/platform_f.glsl
blob: 685b5b07f4a779ff7af8bc9215eb5f7a0ae7e960 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#version 110
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;
}