# version 450 layout(location = 0) in vec4 in_border_color; layout(location = 1) in vec4 in_background_color; layout(location = 2) in vec2 in_px_scale; layout(location = 3) in vec3 in_uv; layout(location = 0) out vec4 out_color; const float border_px = 1.f; bool is_in_border() { return (in_uv.x <= ((in_px_scale.x*border_px))) || (in_uv.x >= 1.0-((in_px_scale.x*border_px))) || (in_uv.y <= (in_px_scale.y*border_px)) || (in_uv.y >= 1.0- (in_px_scale.y*border_px)); } void main() { out_color = in_background_color; if (is_in_border()) { out_color = in_border_color; } }