blob: 0c02dab3ae4c45a581c953165bf1d7a02a48456f (
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
|
void node_wireframe(float size, out float fac)
{
vec3 barys = g_data.barycentric_coords.xyy;
barys.z = 1.0 - barys.x - barys.y;
size *= 0.5;
vec3 s = step(-size, -barys * g_data.barycentric_dists);
fac = max(s.x, max(s.y, s.z));
}
void node_wireframe_screenspace(float size, out float fac)
{
vec3 barys = g_data.barycentric_coords.xyy;
barys.z = 1.0 - barys.x - barys.y;
#ifdef GPU_FRAGMENT_SHADER
size *= (1.0 / 3.0);
vec3 dx = dFdx(barys);
vec3 dy = dFdy(barys);
vec3 deltas = sqrt(dx * dx + dy * dy);
vec3 s = step(-deltas * size, -barys);
fac = max(s.x, max(s.y, s.z));
#else
fac = 1.0;
#endif
}
|