blob: 7b35f67dd54719adc934c7367a4612a655dd4ae5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#define SMOOTH 1
const float transitionWidth = 1.0;
uniform vec4 fillColor = vec4(0);
uniform vec4 outlineColor = vec4(0, 0, 0, 1);
noperspective in vec3 distanceToOutline;
out vec4 FragColor;
void main()
{
float edgeness = min(min(distanceToOutline.x, distanceToOutline.y), distanceToOutline.z);
#if SMOOTH
FragColor = mix(outlineColor, fillColor, smoothstep(0, transitionWidth, edgeness));
#else
FragColor = (edgeness <= 0) ? outlineColor : fillColor;
#endif
}
|