#version 150 uniform sampler2D g_samplers[255]; const int SAMPLER_ID_NONE = 255; in vec2 g_texcoord; in vec4 g_color; flat in int g_sampler; void main() { vec4 color = g_color; if( g_sampler != SAMPLER_ID_NONE ) { // Always use sampler 0 to avoid dynamic indexing issues vec4 tex_color = texture2D( g_samplers[0], g_texcoord ); color.a = g_color.a * tex_color.a; if (color.a < 0.01) discard; } gl_FragColor = color; }