#version 450 core in FragmentData { vec2 texCoords; vec4 color; } data; uniform sampler2D tex; out vec4 color; void main() { float alpha = texture(tex, data.texCoords).r; if (alpha <= 0.0) { discard; } color = data.color * vec4(1.0, 1.0, 1.0, alpha); }