blob: 1ddffaef16eab7c3b3bcc452f0a39656a4cd774d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
/*
* Fragment Shader for dashed lines, with uniform multi-color(s),
* or any single-color, and any thickness.
*
* Dashed is performed in screen space.
*/
void main()
{
float distance_along_line = distance(stipple_pos, stipple_start);
/* Solid line case, simple. */
if (dash_factor >= 1.0f) {
fragColor = color;
}
/* Actually dashed line... */
else {
float normalized_distance = fract(distance_along_line / dash_width);
if (normalized_distance <= dash_factor) {
fragColor = color;
}
else if (colors_len > 0) {
fragColor = color2;
}
else {
discard;
}
}
}
|