blob: 248d9de7aee724782d59364186b9f3c2419a91c1 (
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
30
31
32
33
34
35
36
|
uniform float edgeScale;
uniform bool isXray = false;
flat in vec4 finalColorStipple;
in float dist;
flat in float base_dist;
#ifdef FLAT
flat in vec4 finalColor;
#else
in vec4 finalColor;
# ifdef EDGE
flat in int selectOveride;
# endif
#endif
out vec4 FragColor;
void main()
{
float dist_px = dist - base_dist;
dist_px /= fwidth(dist_px);
float mix_fac = step(0.5, fract(abs(dist_px) * (1.0 / 20.0)));
if (finalColorStipple.a == 0.0) {
mix_fac = 1.0;
}
#if defined(EDGE) && !defined(FLAT)
vec4 prim_col = mix(colorEditMeshMiddle, colorEdgeSelect, finalColor.a);
prim_col = (selectOveride != 0) ? prim_col : finalColor;
prim_col.a = 1.0;
#else
# define prim_col finalColor
#endif
FragColor = mix(finalColorStipple, prim_col, mix_fac);
}
|