21 lines
469 B
GLSL
21 lines
469 B
GLSL
|
|
||
|
#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
|
||
|
}
|